Python常用内置函数
1 类型转换函数
- int(a, base=10)
用于将一个符合数字规范的字符串或数字转换为整型,参数base表示进制数,默认为十进制,base参数仅针对a参数是字符串时使用,若a参数是数字时使用base参数则会报错。
>>> int()
0
>>> int(1.25)
1
>>> int(10, 16)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: int() can't convert non-string with explicit base
>>> int('10', 16)
16
- float([a])
用于将一个符合数字规范的字符串或整数转换为浮点数
>>> float()
0.0
>>> float(22)
22.0
>>> float('125')
125.0
>>> float('abc')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: could not convert string to float: 'abc'
- str([a])
将对象转换为可阅读的样式,将数字转换为字符串,若无参数返回’’
>>> str()
''
>>> str(1234)
'1234'
>>> str(type)
"<class 'type'>"
>>> str('1234')
'1234'
- bool([a])
将参数转换为bool类型,无参数返回False
>>> bool()
False
>>> bool('')
False
>>> bool(0)
False
>>> bool(0.0)
False
>>> bool(1)
True
- tuple([iterable])
根据传入的可迭代参数创建一个新的元组,无参数返回空元组
>>> tuple()
()
>>> tuple('abcde')
('a', 'b', 'c', 'd', 'e')
>>> tuple([1,2,3,4,5])
(1, 2, 3, 4, 5)
- list([iterable])
根据传入的可迭代参数创建一个新的列表,无参数返回空列表
>>> list()
[]
>>> list('abcde')
['a', 'b', 'c', 'd', 'e']
>>> list((1,2,3,4,5))
[1, 2, 3, 4, 5]
- dict([iterable])
根据传入的符合字典规范的参数创建一个新的字典,无参数返回空字典
>>> dict([iterable])
{}
>>> dict(x=1,y=2,z=3)
{'x': 1, 'y': 2, 'z': 3}
>>> dict(zip(['x','y','z'],['1','2','3']))
{'x': '1', 'y': '2', 'z': '3'}
- set([iterable])
根据传入参数创建一个新的集合
>>> set()
set()
>>> set('abcde')
{'b', 'd', 'a', 'e', 'c'}
- frozenset([iterable])
返回一个冻结的set集合,不能添加、删除和修改集合的元素
>>> frozenset()
frozenset()
>>> frozenset('12345')
frozenset({'2', '4', '3', '1', '5'})
2 数学相关函数
- sum(iterable[,start])
对序列进行求和运算
>>> sum([1,2,3,4])
10
>>> sum([1,2,3,4], 10)
20
>>> sum([1,2,3,4], 20)
30
>>> sum(range(101))
5050
- abs(a)
求传入参数的绝对值
>>> abs(1)
1
>>> abs(-1)
1
>>> abs(1.25)
1.25
>>> abs(-1.25)
1.25
- round(a[,n])
返回传入参数的四舍五入值,n参数表示保留几位小数,若不传则不保留小数
>>> round(1)
1
>>> round(1.2458)
1
>>> round(1.2458,2)
1.25
- min(a[,b,c,…])
返回传入参数的最小值
>>> min(1,2,3,4)
1
- max(a[,b,c,…])
返回传入参数的最大值
>>> min(1,2,3,4)
4
- divmod(a, b)
返回 a / b 的商数和余数的数组
>>> divmod(5, 2)
(2, 1)
>>> divmod(2, 5)
(0, 2)
>>> divmod(-5, -2)
(2, -1)
>>> divmod(-2,- 5)
(0, -2)
- pow(a, b[,c])
返回a的b次方,若参数c存在,则结果为:pow(a, b) % c
>>> pow(2, 3)
8
>>> pow(2, 3, 5)
3
>>> pow(2, -3)
0.125
>>> pow(-2, 3)
-8
- bin(a)
返回一个整数的二进制表示
>>> bin(1)
'0b1'
>>> bin(2)
'0b10'
>>> bin(3)
'0b11'
- oct(a)
将一个整数转换为八进制
>>> oct(1)
'0o1'
>>> oct(7)
'0o7'
>>> oct(8)
'0o10'
>>> oct(1.1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'float' object cannot be interpreted as an integer
- hex(a)
将一个整数转换为十六进制
>>> hex(1)
'0x1'
>>> hex(15)
'0xf'
>>> hex(16)
'0x10'
>>> hex(1.0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'float' object cannot be interpreted as an integer
- chr(i)
根据传入的数字返回一个字符,数字的范围为:0-255
>>> chr(100)
'd'
>>> chr(80)
'P'
3 序列相关函数
- len(object)
返回对象长度
>>> len('abcde')
5
>>> len((1,2,3,4,5))
5
>>> len([1,2,3,4,5])
5
- sorted(iterable, cmp=None, key=None, reverse=False)
对可迭代对象进行排序,但不改变对象的值,cmp:比较函数,key:比较元素,reverse:排序方式(False-升序,True-降序)
>>> s1 = [1,3,2,4]
>>> sorted(s1)
[1, 2, 3, 4]
>>> sorted(s1, reverse=True)
[4, 3, 2, 1]
>>> print(s1)
[1, 3, 2, 4]
- reversed(seq)
反转序列
>>> s1 = [1,3,2,4]
>>>> list(reversed(s1))
[4, 2, 3, 1]
>>> print(s1)
[1, 3, 2, 4]
- range([start,] end [,step])
返回一个整数列表,start:起始值,默认为0,end:终止值但不包括它,step:步长,默认1
>>> list(range(5))
[0, 1, 2, 3, 4]
>>> list(range(1,5))
[1, 2, 3, 4]
>>> list(range(1,5,2))
[1, 3]
>>> list(range(5,1,-1))
[5, 4, 3, 2]
>>> list(range(5,0,-1))
[5, 4, 3, 2, 1]
- xrange([start,] end [,step])
xrange与range完全一样,使用方法也一样,不同的是xrange是一个生成器,只有在需要用到的时候才生成列表,当列表非常大时可节省内存。 - zip([iterable,…])
元组的迭代器,其中每个传递的迭代器中的第一项配对在一起,然后每个传递的迭代器中的第二项配对在一起,依此类推。如果传递的迭代器具有不同的长度,则项目数最少的迭代器将决定新迭代器的长度。
>>> a = ['a','b','c']
>>> b = [1,2,3]
>>> c = ['x','y','z']
>>> list(zip(a, b))
[('a', 1), ('b', 2), ('c', 3)]
>>> list(zip(a, b, c))
[('a', 1, 'x'), ('b', 2, 'y'), ('c', 3, 'z')]
- enumerate(iterable[,start])
用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,参数start表示参数下标的起始位置(默认为0)
>>> a = ['a','b','c']
>>> list(enumerate(a))
[(0, 'a'), (1, 'b'), (2, 'c')]
>>> list(enumerate(a, 3))
[(3, 'a'), (4, 'b'), (5, 'c')]
- iter(a)
创建迭代器
>>> a = iter(range(10))
>>> next(a)
0
>>> next(a)
1
>>> next(a)
2
- next(a)
获取迭代器的下一元素 - all(iterable)
判断传入的可迭代参数中是否含有元素为0、’’、False,若有返回False否则返回True,如果是空的迭代器则返回True。
>>> all([])
True
>>> all([0,1,2])
False
>>> all([1,2])
True
>>> all([1,2,''])
False
>>> all([1,2,False])
False
- slice
返回一个切片对象,主要用在切片操作函数里的参数传递
>>> slice(10)
slice(None, 10, None)
>>> slice(5)
slice(None, 5, None)
- any(iterable)
判断传入的迭代器是否全部为空元素(0、’’、False),若是返回False,否则返回True。空迭代器返回False.
>>> any([])
False
>>> any([1,2,''])
True
>>> any([1,0,''])
True
>>> any([0.00,0,''])
False
>>> any([False,0,''])
False
- cmp(a, b)
比较两个对象的大小,a < b返回-1,a = b返回0,a > b则返回1
>>> cmp(1,2)
-1
>>> cmp(1,1)
0
>>> cmp(2,1)
1
- filter(function or None, sequence)
过滤不符合的数据,返回有符合元素组成的序列
#过滤大于10的数
def max(s) :
return s > 10
print filter(max, range(20))
- map(function, sequence[, sequence, …])
将传入的函数应用到序列中的所有的项。可应用多个序列,若传入的函数为None时,将序列中的元素合并起来,返回一个新的元祖
def add(a,b):
return a+b
print map(add, [1,2],[3,4])
print map(None, [1,2],[3,4])
程序运行结果:
[4, 6]
[(1, 3), (2, 4)]
4 对象操作函数
- help([object])
查看函数或模块用途的详细说明
>>> help(map)
Help on class map in module builtins:
class map(object)
| map(func, *iterables) --> map object
|
| Make an iterator that computes the function using arguments from
| each of the iterables. Stops when the shortest iterable is exhausted.
|
| Methods defined here:
|
| __getattribute__(self, name, /)
| Return getattr(self, name).
|
| __iter__(self, /)
| Implement iter(self).
|
| __next__(self, /)
| Implement next(self).
|
| __reduce__(...)
| Return state information for pickling.
|
| ----------------------------------------------------------------------
| Static methods defined here:
|
| __new__(*args, **kwargs) from builtins.type
| Create and return a new object. See help(type) for accurate signature.
- dir([object])
收集对象信息。若参数返回当前范围的变量、方法和定义等对象列表信息,有参数则返回参数的属性,方法列表。
>>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'a', 'b', 'c', 'l', 's1']
>>> dir(str)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
- id([object])
获取对象的内存地址
>>> id(str)
140731903546480
>>> id(int)
140731903532592
>>> id(20)
140731905009032
>>> id('abcd')
2214530453872
- type(name,bases,dict)
若函数只有1个参数返回对象的类型,若函数有3个参数则返回新的类对象
>>> type(int)
<class 'type'>
>>> type(123)
<class 'int'>
>>> type([1,2])
<class 'list'>
>>> type({1:'A',2:'B'})
<class 'dict'>
- hash([object])
获取对象哈希值
>>> hash(int)
8795743970787
>>> hash(123)
123
>>> hash('123')
-9091588337232062468
标签:__,返回,内置,False,函数,迭代,Python,list,参数
From: https://blog.csdn.net/weixin_38980630/article/details/136789872