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


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

目录
相关文章
|
1月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
53 3
|
29天前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
128 67
|
23天前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
47 18
|
14天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
43 8
|
19天前
|
安全
Python-打印99乘法表的两种方法
本文详细介绍了两种实现99乘法表的方法:使用`while`循环和`for`循环。每种方法都包括了步骤解析、代码演示及优缺点分析。文章旨在帮助编程初学者理解和掌握循环结构的应用,内容通俗易懂,适合编程新手阅读。博主表示欢迎读者反馈,共同进步。
|
24天前
|
Python
Python中的函数
Python中的函数
37 8
|
27天前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
131 5
|
1月前
|
算法 决策智能 Python
Python中解决TSP的方法
旅行商问题(TSP)是寻找最短路径,使旅行商能访问每个城市一次并返回起点的经典优化问题。本文介绍使用Python的`ortools`库解决TSP的方法,通过定义城市间的距离矩阵,调用库函数计算最优路径,并打印结果。此方法适用于小规模问题,对于大规模或特定需求,需深入了解算法原理及定制策略。
41 15
|
1月前
|
监控 测试技术 数据库
Python中的装饰器:解锁函数增强的魔法####
本文深入探讨了Python语言中一个既强大又灵活的特性——装饰器(Decorator),它以一种优雅的方式实现了函数功能的扩展与增强。不同于传统的代码复用机制,装饰器通过高阶函数的形式,为开发者提供了在不修改原函数源代码的前提下,动态添加新功能的能力。我们将从装饰器的基本概念入手,逐步解析其工作原理,并通过一系列实例展示如何利用装饰器进行日志记录、性能测试、事务处理等常见任务,最终揭示装饰器在提升代码可读性、维护性和功能性方面的独特价值。 ####
|
1月前
|
机器学习/深度学习 人工智能 算法
强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用
本文探讨了强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用,通过案例分析展示了其潜力,并讨论了面临的挑战及未来发展趋势。强化学习正为游戏AI带来新的可能性。
103 4