Python全栈笔记 匿名函数/包

函数调用

函数调用方式:内存地址()

匿名函数

#匿名函数定义
lambda x,y:x+y + x**y
#调用
(lambda x,y:x+y + x**y)(2,3)

场景应用

# 返回最大value值对应的key
salaries = {
    'tencent':1000,
    'bd':1500,
    'zjtd':500
}
# max会迭代一个内容当作参数传入后面函数,函数的返回值key作为比较依据
res1 = max(salaries,key=lambda x:salaries[x])

# sorted 原理同上
res2 = sorted(salaries,key=lambda x:salaries[x],reverse=True)

# map(函数,可迭代对象) -- 返回生成器
l = ['alex','lxx','lwx','mlxg']
res = map(lambda name:name+'lsp',l)

# filter(函数,可迭代对象) -- 过滤器 -- 返回生成器
ress = filter(lambda name:name.endswith('glsp'),res)

首次导入模块发生的几件事:

# - 执行模块
# - 产生该模块名称空间,将产生的名称都丢到名称空间
# - 在当前文件产生一个名字,指向上一步产生的名称空间

模块导入规范:

# - 导入内置模块
# - 导入第三方模块
# - 导入自定义模块

模块设计调试

模块内置属性:name

# 在文件被运行时,__name__的值为'main'
# 在文件被当作模块导入时,__name__的值为模块名

导入模块查找顺序:

# -内存(内置模块)
# -硬盘:sys.path 依次寻找
# sys.path : 第一个环境变量是以正在运行的文件为准的,
# 是该正在运行文件文件夹下

已经加载到内存的模块 sys.modules

类型提示功能:

# 在定义函数时,函数参数后面加 :int/tuple。。。 或者自己定义('day','month')
# 提示信息,写啥都行

包:含有__init__.py的文件夹

导入包:运行__init__.py文件,并导入__init_.py中的名字

init.py:

# 绝对导入: 以包的文件夹作为起始位置导入包下的模块
# from 包.文件名 import 功能
# 相对导入 : .代表当前文件夹  ..代表上层文件夹

导入时带点,点的左边必须是一个包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值