匿名函数
定义
函数名 = lambda 参数 :返回值# 参数可以有多个,用逗号隔开# 匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值# 返回值和正常的函数一样可以是任意数据类型
使用
num = lambda a:a*aprint(num(2))# 4
# 取薪资最高的人的姓名info = {'Aason': 9999999,'Jacob': 123,'zark': 1000,'berk': 33}print(max(info, key=lambda key: info[key]))# Aason
内置函数
| 内置函数 | ||||
|---|---|---|---|---|
| abs() | dict() | help() | min() | setattr() |
| all() | dir() | hex() | next() | slice() |
| any() | divmod() | id() | object() | sorted() |
| ascii() | enumerate() | input() | oct() | staticmethod() |
| bin() | eval() | int() | open() | str() |
| bool() | exec() | isinstance() | ord() | sum() |
| bytearray() | filter() | issubclass() | pow() | super() |
| bytes() | float() | iter() | print() | tuple() |
| callable() | format() | len() | property() | type() |
| chr() | frozenset() | list() | range() | vars() |
| classmethod() | getattr() | locals() | repr() | zip() |
| compile() | globals() | map() | reversed() | import () |
| complex() | hasattr() | max() | round() | |
| delattr() | hash() | memoryview() | set() |
map函数
描述
map() 会根据提供的函数对指定序列做映射。返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器
语法
map(function, iterable, ...)# function -- 函数# iterable -- 一个或多个序列
使用
l = [1, 2, 3, 4, 5]def index(n):return n * 10print(list(map(index, l)))# [10, 20, 30, 40, 50]print(list(map(lambda x: x * 10, l)))# [10, 20, 30, 40, 50]
zip函数
描述
将可迭代的对象作为参数,与对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
语法
zip([iterable, ...])# iterable -- 一个或多个迭代器
使用
l1 = [1, 2, 3, ]l2 = ['a', 'b', 'c', 5]l3 = ('*', '**', (1, 2, 3))res = zip(l1, l2, l3)for i in res:print(i)# (1, 'a', '*')# (2, 'b', '**')# (3, 'c', (1, 2, 3))
filter函数
描述
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或False,最后将返回True 的元素放到新列表中。
语法
filter(function, iterable)# function -- 判断函数# iterable -- 可迭代对象
使用
def func(x):return x % 2 == 0l = [1, 2, 3, 4, 5, 6, 7]res = filter(func, l)for i in res:print(i)# 2# 4# 6
reduce函数
描述
reduce()根据提供的函数,对可迭代对象进行函数运算,返回一个结果
语法
reduce(function, iterable[, initializer])# function -- 函数,有两个参数# iterable -- 可迭代对象# initializer -- 可选,初始参数
使用
# Python3.x reduce() 已经被移到 functools 模块里from functools import reducedef func(x, y):return x + yl = [1, 2, 3, 4, 5]res = reduce(func, l)print(res)# 15res = reduce(lambda x, y: x + y, l, 100)print(res)# 115
abs函数
描述
返回数字绝对值或复数的模
语法
abs( x )# x -- 数值表达式
使用
print(abs(-1))# 1print(abs(1))# 1
all函数
描述
接受一个迭代器,如果迭代器(元组或列表)的所有元素都为真,那么返回True,否则返回False,元素除了是0、空、None、False以外都算True
注意:空元组、空列表返回值为True,这里要特别注意
语法
all(iterable)# iterable -- 元组或列表
使用
print(all([1, 2, 3, 4, 0]))# Falseprint(all(['a', 'b', '', 'd']))# Falseprint(all([]))# Trueprint(all(()))# True
any函数
描述
接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False,元素除了是 0、空、None、False 外都算 True
语法
any(iterable)# iterable -- 元组或列表
使用
print(any([1, 2, 3, 4, 0]))# Trueprint(any(['a', 'b', '', 'd']))# Trueprint(any([]))# Falseprint(any(()))# False
bin、oct、hex函数
描述
bin()将十进制转换为二进制
oct()将十进制转换为八进制
hex()将十进制转换为十六进制
语法
bin(x)oct(x)hex(x)# x -- int
使用
print(bin(1))# 0b1print(oct(1))# 0o1print(hex(1))# 0x1
bytes函数
描述
将一个字符串转换成字节类型
语法
class bytes([source[, encoding[, errors]]])# 如果 source 为整数,则返回一个长度为 source 的初始化数组;# 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;# 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;# 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。# 如果没有输入任何参数,默认就是初始化数组为0个元素。
使用
s = '你好啊 hello world!'print(s.encode('utf8'))# b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x95\x8a hello world!'print(bytes(s, 'utf8'))# b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x95\x8a hello world!''''针对编码解码 可以使用关键字encode与decode 也可以使用bytes和str'''s1 = '天黑了 请闭眼!!!'# 编码res = bytes(s1, 'utf8')print(res)# b'\xe5\xa4\xa9\xe9\xbb\x91\xe4\xba\x86 \xe8\xaf\xb7\xe9\x97\xad\xe7\x9c\xbc!!!'# 解码res1 = str(res, 'utf8')print(res1)# 天黑了 请闭眼!!!
callable函数
描述
callable()函数用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象object绝对不会成功。对于函数、方法、lambda 函式、 类以及实现了 __call__ 方法的类实例, 它都返回True
语法
callable(object)# object -- 对象
使用
name = 'kevin'def index(): passprint(callable(name))# Falseprint(callable(index))# True#创建一个带有__call__方法的类class Dogs:def __call__(self):return 0print(callable(Dogs))# True
chr、ord函数
描述
chr()用一个范围在range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
ord()查看某个ASCII对应的十进制数
语法
chr(i)# i -- 可以是10进制也可以是16进制的形式的数字ord(c)# c -- 字符
使用
print(chr(65))# 'A'print(ord('A'))# 65
dir函数
描述
dir()查看对象的内置属性, 访问的是对象中的__dir__()方法,函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用,如果参数不包含__dir__(),该方法将最大限度地收集参数信息
语法
dir(object)# object -- 对象、变量、类型
使用
print(dir(123))print(dir('kevin'))
divmod函数
描述
divmod()函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。
例如,可以使用在网站的分页制作上
语法
divmod(a, b)# a -- 被除的数字# b -- 除数
使用
print(divmod(250, 25))# (10, 0)print(divmod(249, 25))# (9, 24) # 一个参数是整数部分 第二个是余数部分
enumerate函数
描述
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。返回一个可以枚举的对象,该对象的next()方法将返回一个元组。enumerate在字典上是枚举、列举的意思。
语法
enumerate(sequence, [start=0])# sequence -- 一个序列、迭代器或其他支持迭代对象# start=0 -- 控制起始位置,默认是0
使用
name_list = ['jason', 'kevin', 'oscar', 'tony']for i in enumerate(name_list, start=1):print(i)# (1, 'jason')# (2, 'kevin')# (3, 'oscar')# (4, 'tony')
eval、exec函数
描述
eval()将字符串str 当成有效的表达式来求值并返回计算结果取出字符串中内容
exec()执行储存在字符串或文件中的Python语句,相比于eval,exec可以执行更复杂的Python代码
语法
eval(expression[, globals[, locals]])# expression -- 表达式# globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象# locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象exec(object, globals, locals)# object-- 要执行的表达式。# globals -- 可选。包含全局参数的字典。# locals -- 可选。包含局部参数的字典。
使用
s = "print(Hello World)"exec(s)
isinstance函数
描述
isinstance()函数来判断一个对象是否是一个已知的类型,类似 type()
语法
isinstance(object, classinfo)# object -- 实例对象# classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组
使用
print(isinstance('kevin', str))# Trueprint(isinstance('kevin', int))# False
pow函数
描述
pow(x,y) 方法返回x的y次方的值,等价于x**y。函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z
语法
pow(x, y[, z])# x -- 数值表达式# y -- 数值表达式# z -- 数值表达式
使用
print(pow(10, 2))# 100print(pow(10, 2, 3))# 1 (10**2)%3
round函数
描述
round()函数返回浮点数x的四舍五入值。
语法
round( x [, n] )# x -- 数值表达式# n -- 代表小数点后保留几位
使用
print(round(1.5))# 2print(round(1.4))# 1print(round(1.5444, 2))# 1.54
