Python训练营笔记 从函数到高级魔法方法 Day7

简介: 学习笔记 - 天池龙珠计划 - Python 训练营 Task3 Day7(函数、Lambda 表达式)

天池龙珠计划 Python训练营

所记录的知识点

  1. 函数文档
  2. sys.setrecursionlimit getrecursionlimit
  3. lambda 与 map、filter
  4. 自定义的高阶函数

1、函数文档

使用注释为函数创建说明文档
In [1]: def my_fun():
   ...:     '''
   ...:      这是函数文档
   ...:     '''
   ...:     pass
   ...:

In [2]: print(my_fun)
<function my_fun at 0x0000017CAFE0A430>

In [3]: print(my_fun.__doc__)

     这是函数文档


In [4]: help(my_fun)
Help on function my_fun in module __main__:

my_fun()
    这是函数文档

2、sys.setrecursionlimit getrecursionlimit

设置递归的层数上限
In [1]: import sys

In [2]: help(sys.setrecursionlimit)
Help on built-in function setrecursionlimit in module sys:

setrecursionlimit(limit, /)
    Set the maximum depth of the Python interpreter stack to n.

    This limit prevents infinite recursion from causing an overflow of the C
    stack and crashing Python.  The highest possible limit is platform-
    dependent.


In [3]: help(sys.getrecursionlimit)
Help on built-in function getrecursionlimit in module sys:

getrecursionlimit()
    Return the current value of the recursion limit.

    The recursion limit is the maximum depth of the Python interpreter
    stack.  This limit prevents infinite recursion from causing an overflow
    of the C stack and crashing Python.


In [4]: sys.getrecursionlimit()
Out[4]: 3000

In [5]: sys.setrecursionlimit(10000)

In [6]: sys.getrecursionlimit()
Out[6]: 10000

3、lambda 与 map、filter

lambda 关键字定义的匿名函数
filter 过滤
map 映射
In [8]: temp = filter(lambda x:x % 2==1,[1,2,3,4,5,6,7,8,9])

In [9]: list(temp)
Out[9]: [1, 3, 5, 7, 9]

In [10]: help(filter)
Help on class filter in module builtins:

class filter(object)
 |  filter(function or None, iterable) --> filter object
 |
 |  Return an iterator yielding those items of iterable for which function(item)
 |  is true. If function is None, return the items that are true.
 |
 |  Methods defined here:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __iter__(self, /)
 |      Implement iter(self).
 |
 |  __next__(self, /)
 |      Implement next(self).
 |
 |  __reduce__(...)
 |      Return state information for pickling.
 |
 |  ----------------------------------------------------------------------
 |  Static methods defined here:
 |
 |  __new__(*args, **kwargs) from builtins.type
 |      Create and return a new object.  See help(type) for accurate signature.
In [11]: temp = map(lambda x : x ** 2,[1,2,3,4,5,6])

In [12]: list(temp)
Out[12]: [1, 4, 9, 16, 25, 36]

In [13]:

In [13]: help(map)
Help on class map in module builtins:

class map(object)
 |  map(func, *iterables) --> map object
 |
 |  Make an iterator that computes the function using arguments from
 |  each of the iterables.  Stops when the shortest iterable is exhausted.
 |
 |  Methods defined here:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __iter__(self, /)
 |      Implement iter(self).
 |
 |  __next__(self, /)
 |      Implement next(self).
 |
 |  __reduce__(...)
 |      Return state information for pickling.
 |
 |  ----------------------------------------------------------------------
 |  Static methods defined here:
 |
 |  __new__(*args, **kwargs) from builtins.type
 |      Create and return a new object.  See help(type) for accurate signature.

4、自定义的高阶函数

fun_a 成为 fun_b 的一个参数
In [23]: def my_test(fun,args):
    ...:     return fun(args)
    ...:

In [24]: my_test(lambda x : x+2, 3)
Out[24]: 5

In [25]: my_test(lambda x : x**2 , 6)
Out[25]: 36

In [26]: my_test(sum,[1,23,2])
Out[26]: 26


欢迎各位同学一起来交流学习心得!

目录
相关文章
WK
|
24天前
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
69 36
|
1月前
|
Python
Python之函数详解
【10月更文挑战第12天】
Python之函数详解
|
1月前
|
存储 数据安全/隐私保护 索引
|
23天前
|
测试技术 数据安全/隐私保护 Python
探索Python中的装饰器:简化和增强你的函数
【10月更文挑战第24天】在Python编程的海洋中,装饰器是那把可以令你的代码更简洁、更强大的魔法棒。它们不仅能够扩展函数的功能,还能保持代码的整洁性。本文将带你深入了解装饰器的概念、实现方式以及如何通过它们来提升你的代码质量。让我们一起揭开装饰器的神秘面纱,学习如何用它们来打造更加优雅和高效的代码。
|
25天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
28天前
|
Python
python的时间操作time-函数介绍
【10月更文挑战第19天】 python模块time的函数使用介绍和使用。
30 4
|
29天前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
21 1
|
1月前
|
开发者 Python
Python中的魔法方法与运算符重载
在Python的奇妙世界里,魔法方法(Magic Methods)和运算符重载(Operator Overloading)是两个强大的特性,它们允许开发者以更自然、更直观的方式操作对象。本文将深入探讨这些概念,并通过实例展示如何利用它们来增强代码的可读性和表达力。
|
1月前
|
索引 Python
Python中的其他内置函数有哪些
【10月更文挑战第12天】Python中的其他内置函数有哪些
15 1
|
29天前
|
安全 数据处理 数据安全/隐私保护
python中mod函数怎么用
通过这些实例,我们不仅掌握了Python中 `%`运算符的基础用法,还领略了它在解决实际问题中的灵活性和实用性。在诸如云计算服务提供商的技术栈中,类似的数学运算逻辑常被应用于数据处理、安全加密等关键领域,凸显了基础运算符在复杂系统中的不可或缺性。
18 0