IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 【Python】匿名函数、偏函数、函数命名空间 -> 正文阅读

[Python知识库]【Python】匿名函数、偏函数、函数命名空间

匿名函数

lamdba表达式实际构建的是一个函数对象
lamdba表达式的优点
1、省去定义函数的过程,使得代码更加简练
2、不需要考虑命名,省去起名字的时间
3、某些时候lamdba表达式更容易理解
lamdba表达式的规则
1、如果只有一个表达式,则必须要有返回值
2、可以没有参数,也可以有一个或多个参数
3、不能有return

# 匿名函数是不再用def语句定义的标准函数。Python使用lambda创建匿名函数
def f1(x, y):
    return x + y


f = lambda x, y: x + y
print(f(2, 3))
# lamdba表达式实际构建的是一个函数对象
# lamdba表达式的优点
# 1、省去定义函数的过程,使得代码更加简练
# 2、不需要考虑命名,省去起名字的时间
# 3、某些时候lamdba表达式更容易理解
# lamdba表达式的规则
# 1、如果只有一个表达式,则必须要有返回值
# 2、可以没有参数,也可以有一个或多个参数
# 3、不能有return

偏函数

偏函数通过设置参数的默认值,降低函数调用的难度。
比如int()默认是将字符串转化为十进制数,可以通过设置base=2,8,16改变转换成的对应的进制数(二进制、八进制、十六进制)
当函数的参数数量太多,需要简化时,可以借助functools.partial创建一个新函数,这个新的函数可以固定住原函数的部分参数,从而使得函数调用更加方便。???????????

# 偏函数通过设置参数的默认值,降低函数调用的难度
# 比如int()默认是将字符串转化为十进制数,可以通过设置base=2,8,16改变转换成的进制数
# 当函数的参数数量太多,需要简化时,可以借助functools.partial创建一个新函数,这个新的函数可以固定柱原函数的部分参数,从而使得函数调用更加方便
from functools import partial

print(int('123456', base=8))
int2 = partial(int, base=2)
print(int2('1001001'))
int3 = partial(int, base=8)
print(int3('2372'))

函数命名空间——作用域

作用域分为局部作用域和全局作用域
局部作用域在函数内部
定义在函数外的变量具有全局作用域
Python会首先搜索局部命名空间(local namespace),在搜索全局命名空间(global namespace),之后在搜索内置名空间(built-in namespace),最后还是找不到输出NameError异常
local>global>built-in(int string def print)

# 作用域分为局部作用域和全局作用域
# 局部作用域在函数内部
# 全局作用域 定义在函数外的变量
# Python会首先搜索局部命名空间(local namespace),在搜索全局命名空间(global namespace),之后在搜索内置名空间(built-in namespace),最后还是找不到输出NameError异常
# local>global>built-in(int string def print)
x = 100
y = 10


def changex():
    x = 200
    global y
    y = 20
    return x, y


print(x)
print(y)
print(changex())
print(x)
print(y)

更多代码:

?GitHub - harbinailin/Python: openpyxl&xlrd

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:19:02  更:2022-04-09 18:19:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:54:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码