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


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

目录
相关文章
|
10天前
|
Python
【python从入门到精通】-- 第五战:函数大总结
【python从入门到精通】-- 第五战:函数大总结
41 0
|
7天前
|
Python
Python之函数详解
【10月更文挑战第12天】
Python之函数详解
|
8天前
|
存储 数据安全/隐私保护 索引
|
9天前
|
机器学习/深度学习 数据采集 数据挖掘
11种经典时间序列预测方法:理论、Python实现与应用
本文将总结11种经典的时间序列预测方法,并提供它们在Python中的实现示例。
42 2
11种经典时间序列预测方法:理论、Python实现与应用
|
2天前
|
Python
python的时间操作time-函数介绍
【10月更文挑战第19天】 python模块time的函数使用介绍和使用。
13 4
|
4天前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
11 1
|
6天前
|
开发者 Python
Python中的魔法方法与运算符重载
在Python的奇妙世界里,魔法方法(Magic Methods)和运算符重载(Operator Overloading)是两个强大的特性,它们允许开发者以更自然、更直观的方式操作对象。本文将深入探讨这些概念,并通过实例展示如何利用它们来增强代码的可读性和表达力。
|
9天前
|
索引 Python
Python中的其他内置函数有哪些
【10月更文挑战第12天】Python中的其他内置函数有哪些
11 1
|
4天前
|
安全 数据处理 数据安全/隐私保护
python中mod函数怎么用
通过这些实例,我们不仅掌握了Python中 `%`运算符的基础用法,还领略了它在解决实际问题中的灵活性和实用性。在诸如云计算服务提供商的技术栈中,类似的数学运算逻辑常被应用于数据处理、安全加密等关键领域,凸显了基础运算符在复杂系统中的不可或缺性。
7 0
|
9天前
|
开发者 索引 Python
Python中有哪些内置函数
【10月更文挑战第12天】Python中有哪些内置函数
11 0