大家好,我是才哥。 今天带大家了解下几个好用的python内置函数,也许在你的coding过程中可以带来不小的便利哦!
目录:
- 1. 数学运算
- 2. 进制转义
- 3. 编码转义
- 4. 字符串相关
- 5. 迭代相关
- 附录(全部内置函数)
1. 数学运算
加减乘除等等这里就不介绍了,只介绍一个四舍五入的round
round()
用于返回参数四舍五入后的结果
代码语言:javascript复制>>> round(12.54)
13
>>> round(12.54,1) # 返回小数点后1位
12.5
2. 进制转义
- 二进制
bin()
- 八进制
oct()
- 十六进制
hex()
>>> bin(8)
'0b1000'
>>> oct(8)
'0o10'
>>> hex(8)
'0x8'
3. 编码转义
- 返回ASCII码值对应的字符 chr()
- 返回字符对应的ASCII码值 ord()
>>> chr(101)
'e'
>>> ord('e')
101
4. 字符串相关
eval()
参数是一个python表达式字符串,返回的是该字符串的求值结果
代码语言:javascript复制>>> x = 1
>>> eval('x 1')
2
>>> eval('{"a":1,"b":2}') # 比如参数是一个字符串,字符串表达式的值是一个字典
{'a': 1, 'b': 2}
exec()
参数是一个python语句字符串,无返回值,只是执行该语句
代码语言:javascript复制>>> exec('sum = 2 8')
>>> sum
10
5. 迭代相关
enumerate()
返回一个枚举对象,参数必须是一个序列(如列表等)
代码语言:javascript复制>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> for i , season in enumerate(seasons):
... print(i,season)
...
0 Spring
1 Summer
2 Fall
3 Winter
reversed()
用于返回可迭代对象的反向迭代器
代码语言:javascript复制>>> numList = [1,2,3,4]
>>> reversed(numList)
<list_reverseiterator object at 0x00000186E1C63850>
>>> list(_)
[4, 3, 2, 1]
map
(function, iterable, ...)
返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器
代码语言:javascript复制>>> p = map(lambda x: x*x,[1,2,3,4,5,6,7,8,9,10])
>>> list(p)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
sorted
(iterable, *, key=None, reverse=False)
- 根据 iterable 中的项返回一个新的已排序列表
- 具有两个可选参数,它们都必须指定为关键字参数
- key 指定带有单个参数的函数,用于从 iterable 的每个元素中提取用于比较的键 (例如
key=str.lower
), 默认值为None
(直接比较元素) - reverse 为一个布尔值。如果设为
True
,则每个列表元素将按反向顺序比较进行排序
>>> sorted([1,3,2,8,7,9])
[1, 2, 3, 7, 8, 9]
>>> tupleList = [(1,2),(3,3),(2,6),(4,1)]
>>> sorted(tupleList, key = lambda x : x[-1]) # 按照列表中每个元素的第2个值排序
[(4, 1), (1, 2), (3, 3), (2, 6)]
filter
(function, iterable)
- 用 iterable 中函数 function 返回真的那些元素,构建一个新的迭代器
- iterable 可以是一个序列,一个支持迭代的容器,或一个迭代器
- 如果 function 是
None
,则会假设它是一个身份函数,即 iterable 中所有返回假的元素会被移除
>>> list(filter(lambda x : x>10, [1,3,5,7,9,11,13,15,17,19]))
[11, 13, 15, 17, 19]
>>> list(filter(None, [0,1,3,5,0,2,4,6]))
[1, 3, 5, 2, 4, 6]
zip
(*iterables)
创建一个聚合了来自每个可迭代对象中的元素的迭代器
- 返回一个元组的迭代器,其中的第 i 个元组包含来自每个参数序列或可迭代对象的第 i 个元素
- 当所输入可迭代对象中最短的一个被耗尽时,迭代器将停止迭代
- 当只有一个可迭代对象参数时,它将返回一个单元组的迭代器
- 不带参数时,它将返回一个空迭代器
>>> x = [1,2,3]
>>> y = [4,5,6]
>>> zipped = zip(x, y)
>>> list(zipped)
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zip(x,y)) #zip() 与 * 运算符相结合可以用来拆解一个列表
<zip object at 0x00000186E24E6D80>
>>> x1,y1 = zip(*zip(x,y))
>>> x1
(1, 2, 3)
>>> list(x1)
[1, 2, 3]
>>> list(y1)
[4, 5, 6]
附录(全部内置函数)
以下是全部69个内置函数,更多详情大家可以查询python官方文档了解!
内置函数 | ||||
---|---|---|---|---|
abs() | delattr() | hash() | memoryview() | set() |
all() | dict() | help() | min() | setattr() |
any() | dir() | hex() | next() | slice() |
ascii() | divmod() | id() | object() | sorted() |
bin() | enumerate() | input() | oct() | staticmethod() |
bool() | eval() | int() | open() | str() |
breakpoint() | 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() |
python内置函数官方文档:
代码语言:javascript复制https://docs.python.org/zh-cn/3/library/functions.html