匿名函数

定义

  1. 函数名 = lambda 参数 :返回值
  2. # 参数可以有多个,用逗号隔开
  3. # 匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值
  4. # 返回值和正常的函数一样可以是任意数据类型

使用

  1. num = lambda a:a*a
  2. print(num(2))
  3. # 4
  1. # 取薪资最高的人的姓名
  2. info = {
  3. 'Aason': 9999999,
  4. 'Jacob': 123,
  5. 'zark': 1000,
  6. 'berk': 33
  7. }
  8. print(max(info, key=lambda key: info[key]))
  9. # 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 中每一项并输出其结果的迭代器

语法

  1. map(function, iterable, ...)
  2. # function -- 函数
  3. # iterable -- 一个或多个序列

使用

  1. l = [1, 2, 3, 4, 5]
  2. def index(n):
  3. return n * 10
  4. print(list(map(index, l)))
  5. # [10, 20, 30, 40, 50]
  6. print(list(map(lambda x: x * 10, l)))
  7. # [10, 20, 30, 40, 50]

zip函数

描述

将可迭代的对象作为参数,与对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。

语法

  1. zip([iterable, ...])
  2. # iterable -- 一个或多个迭代器

使用

  1. l1 = [1, 2, 3, ]
  2. l2 = ['a', 'b', 'c', 5]
  3. l3 = ('*', '**', (1, 2, 3))
  4. res = zip(l1, l2, l3)
  5. for i in res:
  6. print(i)
  7. # (1, 'a', '*')
  8. # (2, 'b', '**')
  9. # (3, 'c', (1, 2, 3))

filter函数

描述

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 TrueFalse,最后将返回True 的元素放到新列表中。

语法

  1. filter(function, iterable)
  2. # function -- 判断函数
  3. # iterable -- 可迭代对象

使用

  1. def func(x):
  2. return x % 2 == 0
  3. l = [1, 2, 3, 4, 5, 6, 7]
  4. res = filter(func, l)
  5. for i in res:
  6. print(i)
  7. # 2
  8. # 4
  9. # 6

reduce函数

描述

reduce()根据提供的函数,对可迭代对象进行函数运算,返回一个结果

语法

  1. reduce(function, iterable[, initializer])
  2. # function -- 函数,有两个参数
  3. # iterable -- 可迭代对象
  4. # initializer -- 可选,初始参数

使用

  1. # Python3.x reduce() 已经被移到 functools 模块里
  2. from functools import reduce
  3. def func(x, y):
  4. return x + y
  5. l = [1, 2, 3, 4, 5]
  6. res = reduce(func, l)
  7. print(res)
  8. # 15
  9. res = reduce(lambda x, y: x + y, l, 100)
  10. print(res)
  11. # 115

abs函数

描述

返回数字绝对值或复数的模

语法

  1. abs( x )
  2. # x -- 数值表达式

使用

  1. print(abs(-1))
  2. # 1
  3. print(abs(1))
  4. # 1

all函数

描述

接受一个迭代器,如果迭代器(元组或列表)的所有元素都为真,那么返回True,否则返回False,元素除了是0、空、NoneFalse以外都算True

注意:空元组、空列表返回值为True,这里要特别注意

语法

  1. all(iterable)
  2. # iterable -- 元组或列表

使用

  1. print(all([1, 2, 3, 4, 0]))
  2. # False
  3. print(all(['a', 'b', '', 'd']))
  4. # False
  5. print(all([]))
  6. # True
  7. print(all(()))
  8. # True

any函数

描述

接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False,元素除了是 0、空、NoneFalse 外都算 True

语法

  1. any(iterable)
  2. # iterable -- 元组或列表

使用

  1. print(any([1, 2, 3, 4, 0]))
  2. # True
  3. print(any(['a', 'b', '', 'd']))
  4. # True
  5. print(any([]))
  6. # False
  7. print(any(()))
  8. # False

bin、oct、hex函数

描述

bin()将十进制转换为二进制

oct()将十进制转换为八进制

hex()将十进制转换为十六进制

语法

  1. bin(x)
  2. oct(x)
  3. hex(x)
  4. # x -- int

使用

  1. print(bin(1))
  2. # 0b1
  3. print(oct(1))
  4. # 0o1
  5. print(hex(1))
  6. # 0x1

bytes函数

描述

将一个字符串转换成字节类型

语法

  1. class bytes([source[, encoding[, errors]]])
  2. # 如果 source 为整数,则返回一个长度为 source 的初始化数组;
  3. # 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;
  4. # 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;
  5. # 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。
  6. # 如果没有输入任何参数,默认就是初始化数组为0个元素。

使用

  1. s = '你好啊 hello world!'
  2. print(s.encode('utf8'))
  3. # b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x95\x8a hello world!'
  4. print(bytes(s, 'utf8'))
  5. # b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x95\x8a hello world!'
  6. '''针对编码解码 可以使用关键字encode与decode 也可以使用bytes和str'''
  7. s1 = '天黑了 请闭眼!!!'
  8. # 编码
  9. res = bytes(s1, 'utf8')
  10. print(res)
  11. # b'\xe5\xa4\xa9\xe9\xbb\x91\xe4\xba\x86 \xe8\xaf\xb7\xe9\x97\xad\xe7\x9c\xbc!!!'
  12. # 解码
  13. res1 = str(res, 'utf8')
  14. print(res1)
  15. # 天黑了 请闭眼!!!

callable函数

描述

callable()函数用于检查一个对象是否是可调用的。如果返回 Trueobject 仍然可能调用失败;但如果返回 False,调用对象object绝对不会成功。对于函数、方法、lambda 函式、 类以及实现了 __call__ 方法的类实例, 它都返回True

语法

  1. callable(object)
  2. # object -- 对象

使用

  1. name = 'kevin'
  2. def index(): pass
  3. print(callable(name))
  4. # False
  5. print(callable(index))
  6. # True
  7. #创建一个带有__call__方法的类
  8. class Dogs:
  9. def __call__(self):
  10. return 0
  11. print(callable(Dogs))
  12. # True

chr、ord函数

描述

chr()用一个范围在range(256)内的(就是0~255)整数作参数,返回一个对应的字符。

ord()查看某个ASCII对应的十进制数

语法

  1. chr(i)
  2. # i -- 可以是10进制也可以是16进制的形式的数字
  3. ord(c)
  4. # c -- 字符

使用

  1. print(chr(65))
  2. # 'A'
  3. print(ord('A'))
  4. # 65

dir函数

描述

dir()查看对象的内置属性, 访问的是对象中的__dir__()方法,函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用,如果参数不包含__dir__(),该方法将最大限度地收集参数信息

语法

  1. dir(object)
  2. # object -- 对象、变量、类型

使用

  1. print(dir(123))
  2. print(dir('kevin'))

divmod函数

描述

divmod()函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。

例如,可以使用在网站的分页制作上

语法

  1. divmod(a, b)
  2. # a -- 被除的数字
  3. # b -- 除数

使用

  1. print(divmod(250, 25))
  2. # (10, 0)
  3. print(divmod(249, 25))
  4. # (9, 24) # 一个参数是整数部分 第二个是余数部分

enumerate函数

描述

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。返回一个可以枚举的对象,该对象的next()方法将返回一个元组。enumerate在字典上是枚举、列举的意思。

语法

  1. enumerate(sequence, [start=0])
  2. # sequence -- 一个序列、迭代器或其他支持迭代对象
  3. # start=0 -- 控制起始位置,默认是0

使用

  1. name_list = ['jason', 'kevin', 'oscar', 'tony']
  2. for i in enumerate(name_list, start=1):
  3. print(i)
  4. # (1, 'jason')
  5. # (2, 'kevin')
  6. # (3, 'oscar')
  7. # (4, 'tony')

eval、exec函数

描述

eval()将字符串str 当成有效的表达式来求值并返回计算结果取出字符串中内容

exec()执行储存在字符串或文件中的Python语句,相比于evalexec可以执行更复杂的Python代码

语法

  1. eval(expression[, globals[, locals]])
  2. # expression -- 表达式
  3. # globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象
  4. # locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象
  5. exec(object, globals, locals)
  6. # object-- 要执行的表达式。
  7. # globals -- 可选。包含全局参数的字典。
  8. # locals -- 可选。包含局部参数的字典。

使用

  1. s = "print(Hello World)"
  2. exec(s)

isinstance函数

描述

isinstance()函数来判断一个对象是否是一个已知的类型,类似 type()

语法

  1. isinstance(object, classinfo)
  2. # object -- 实例对象
  3. # classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组

使用

  1. print(isinstance('kevin', str))
  2. # True
  3. print(isinstance('kevin', int))
  4. # False

pow函数

描述

pow(x,y) 方法返回xy次方的值,等价于x**y。函数是计算xy次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z

语法

  1. pow(x, y[, z])
  2. # x -- 数值表达式
  3. # y -- 数值表达式
  4. # z -- 数值表达式

使用

  1. print(pow(10, 2))
  2. # 100
  3. print(pow(10, 2, 3))
  4. # 1 (10**2)%3

round函数

描述

round()函数返回浮点数x的四舍五入值。

语法

  1. round( x [, n] )
  2. # x -- 数值表达式
  3. # n -- 代表小数点后保留几位

使用

  1. print(round(1.5))
  2. # 2
  3. print(round(1.4))
  4. # 1
  5. print(round(1.5444, 2))
  6. # 1.54

更多函数:https://zhuanlan.zhihu.com/p/480985359