一、内置函数
注意:内置函数id()可以返回一个对象的身份,返回值为整数。
这个整数通常对应与该对象在内存中的位置,但这与python的具体实现有关,不应该作为对身份的定义,即不够精准,最精准的还是以内存地址为准。
is运算符用于比较两个对象的身份,等号比较两个对象的值,内置函数type()则返回一个对象的类型
#更多内置函数:https://docs.python.org/3/library/functions.html?highlight=built#ascii
二、内置函数详情
1、abs(x)
功能:取数的绝对值
1
2
|
>>>
abs ( – 1 ) #取-1的绝对值
1
|
2、all(iterable)
功能:如果这个可迭代的元素都为真,则返回真(非0的就为真,负数也是为真)
1
2
3
4
|
>>>
all ([ 0 , 9 ,- 3 ]) #有0,说明为假
False
>>>
all ([- 1 , 5 , 6 ]) #负数也是为真
True
|
3、any(iterable)
功能:可迭代的元素中,有一个为真,则返回真,没有真或空列表返回假。
1
2
3
4
|
>>>
any ([ 0 , 0 , 2 ]) #有一个为真,则为真
True
>>>
any ([]) #空列表为假
False
|
4、ascii(object)
功能:把内存对象变成一个可打印的字符串格式
1
2
|
>>> a = ascii([1,2,3,4])
>>> print(type(a),[a])
|
5、bin(x)
功能:把一个整数转换成二进制
1
2
3
4
|
>>>
bin ( 300 ) #把300转换成二进制
‘0b100101100’
>>>
bin ( 1 )
‘0b1’
|
6、bool([x])
功能:返回一个布尔值,空列表为假,不为空为真
1
2
3
4
5
6
|
>>>
bool ([]) #空列表
False
>>>
bool ([ 1 , 2 ]) #不为空列表
True
>>>
bool ([ 0 ])
True
|
7、bytearray[source[, encoding[, errors]]]
功能:字节数组,并且可以修改二进制的字节
1
2
3
4
5
6
|
>>> b
= bytearray( “abcd” ,encoding = “utf-8” ) #声明一个字节数组
>>> b[
0 ] #打印第一个元素的ascii值,也就是’a’对应的ascii值
97
>>> b[
0 ] = 100 #修改时,只能赋值对应字符的ascii值
>>> b
bytearray(b
‘dbcd’ ) #发现字节数组值被修改 |
8、bytes([source[, encoding[, errors]]])
功能:把字符串转换成字节
1
2
3
4
5
6
7
8
9
|
>>> b
= bytes( “abcd” ,encoding = “utf-8” ) #声明字节
>>> b
b
‘abcd’
>>> b[
0 ] #访问到’a’字符对应的ASCII值
97
>>> b[
0 ] = 100 #不可以修改里面的值,不然会报错
Traceback (most recent call last):
File “<input>” , line 1 , in <module>
TypeError:
‘bytes’ object does not support item assignment |
9、callable(object)
功能:判断一个对象是否可以被调用,只有在后面有括号的,表示可以调用,比如:函数,类。
1
2
3
4
5
|
>>>
callable ([]) #列表后面不加括号
False
>>>
def sayhi(): pass #定义一个函数
>>>
callable (sayhi) #函数调用,后面需要加括号
True
|
10、chr(i)
功能:通过ascii的值(必须是数字),找到对应的字符
1
2
|
>>>
chr ( 97 )
‘a’
|
11、ord(c)
功能:根据字符(必须ascii的字符),找到对应的ascii值
1
2
|
>>>
ord ( ‘a’ )
97
|
12、complex([real[, imag]])
功能:返回一个复数,我们几乎用不到。
1
2
|
>>>
complex ( ‘1+2j’ )
(
1 + 2j ) |
13、dict(**kwarg)、dict(mapping, **kwarg)、dict(iterable, **kwarg)
功能:返回一个字典
1
2
3
4
5
6
7
8
|
>>>
dict () #定义一个字典
{}
>>>
dict (name = ‘qianduoduo’ ,age = 18 ) #传入非固定关键字参数
{
‘name’ : ‘qianduoduo’ , ‘age’ : 18 }
>>>
dict ([( ‘name’ , ‘qianduoduo’ ),( ‘age’ , 18 )]) #传入一个列表
{
‘name’ : ‘zhangqigao’ , ‘age’ : 18 }
>>>
dict ([[ ‘name’ , ‘qianduoduo’ ],[ ‘age’ , 18 ]]) #传入一个列表
{
‘name’ : ‘qianduoduo’ , ‘age’ : 18 } |
14、dir([object])
功能:看一个对象有哪些方法
1
2
3
4
5
6
7
8
|
>>> name
= []
>>>
dir (name) #显示name下的所有的方法
[
‘__add__’ , ‘__class__’ , ‘__contains__’ , ‘__delattr__’ , ‘__delitem__’ , ‘__dir__’ , ‘__doc__’ ,
‘__eq__’
, ‘__format__’ , ‘__ge__’ , ‘__getattribute__’ , ‘__getitem__’ , ‘__gt__’ , ‘__hash__’ ,
‘__iadd__’
, ‘__imul__’ , ‘__init__’ , ‘__iter__’ , ‘__le__’ , ‘__len__’ , ‘__lt__’ , ‘__mul__’ , ‘__ne__’ ,
‘__new__’
, ‘__reduce__’ , ‘__reduce_ex__’ , ‘__repr__’ , ‘__reversed__’ , ‘__rmul__’ ,
‘__setattr__’
, ‘__setitem__’ , ‘__sizeof__’ , ‘__str__’ , ‘__subclasshook__’ , ‘append’ , ‘clear’ ,
‘copy’
, ‘count’ , ‘extend’ , ‘index’ , ‘insert’ , ‘pop’ , ‘remove’ , ‘reverse’ , ‘sort’ ] |
15、divmod(a,b)
功能:地板除,获得一个元组,元组第一个元素是商,第二个元素是余数。
1
2
|
>>>
divmod ( 5 , 2 )
(
2 , 1 ) #2是商,1是余数 |
16、enumerate(iterable,start=0) 购物车的列表用到了,
功能:遍历一个可迭代对象,获取索引和对应的元素的
1
2
3
4
5
|
>>> seasons
= [ ‘Spring’ , ‘Summer’ , ‘Fall’ , ‘Winter’ ]
>>>
list ( enumerate (seasons))
[(
0 , ‘Spring’ ), ( 1 , ‘Summer’ ), ( 2 , ‘Fall’ ), ( 3 , ‘Winter’ )]
>>>
list ( enumerate (seasons, start = 1 ))
[(
1 , ‘Spring’ ), ( 2 , ‘Summer’ ), ( 3 , ‘Fall’ ), ( 4 , ‘Winter’ )] |
17、eval(expression, globals=None, locals=None)
功能:把字典类型的字符串变成字典,把一个整数类型的字符变成int类型,或者加减乘除这种简单转换成表达式。
1
2
3
4
|
>>>
eval ( ‘1’ ) #字符类型转换成int类型
1
>>>
eval ( “1+3/2*6” ) #字符串转换为表达式
10.0
|
18、filter(function, iterable)
功能:通过function过滤条件,去获取iterable中你想要的数据。
1
2
3
4
5
6
7
8
9
|
>>> res
= filter ( lambda n:n> 5 , range ( 10 ))
>>> res
#得到一个迭代器
<
filter object at 0x0000000003093BE0 >
>>>
for i in res: (i)
6
7
8
9
|
19、map(function, iterable)
功能:对传入的每一个值进行处理,处理完了再返回,再把原来的结果覆盖掉。
1
2
3
4
5
6
7
8
9
10
|
>>> res
= map ( lambda n:n * 2 , range ( 5 )) #n*2是处理方式
>>> res
<
map object at 0x00000000031B4BE0 >
>>>
for i in res: (i)
0
2
4
6
8
|
20、reduce(function,iterable)
功能:把一组可迭代序列通过function函数操作,元素之间相加或者相乘操作。
1
2
3
4
5
6
7
|
>>>
from functools import reduce
>>> res
= reduce ( lambda x,y:x + y, range ( 10 )) #x+y的值赋给x,rang(10)中的每个元素赋给y
>>> res
45
>>> res
= reduce ( lambda x,y:x * y, range ( 1 , 10 )) #x*y的值赋给x,rang(10)中的每个元素赋给y
>>> res
362880
|
21、float([x])
功能:把一个浮点类型的字符串转换为浮点类型的数据。
1
2
3
4
5
6
7
8
9
10
|
>>>
float ( ‘+1.23’ )
1.23
>>>
float ( ‘ -12345/n’ )
–
12345.0
>>>
float ( ‘1e-003’ )
0.001
>>>
float ( ‘+1E6’ )
1000000.0
>>>
float ( ‘-Infinity’ )
–
inf |
22、format(value[, format_spec])
功能:格式话字符串,前面字符串拼接讲过
23、frozenset([iterable])
功能:把集合变成一个不可变的集合
1
2
3
4
5
6
7
8
9
10
|
>>> res
= frozenset ([ 1 , 2 , 3 , 4 , 3 ])
>>> res
frozenset
({ 1 , 2 , 3 , 4 }) #去重的,不可变的集合
>>>
dir (res) #没有可变的方法
[
‘__and__’ , ‘__class__’ , ‘__contains__’ , ‘__delattr__’ , ‘__dir__’ , ‘__doc__’ , ‘__eq__’ ,
‘__format__’
, ‘__ge__’ , ‘__getattribute__’ , ‘__gt__’ , ‘__hash__’ , ‘__init__’ , ‘__iter__’ , ‘__le__’ , ‘__len__’ , ‘__lt__’ , ‘__ne__’ , ‘__new__’ , ‘__or__’ , ‘__rand__’ , ‘__reduce__’ , ‘__reduce_ex__’ ,
‘__repr__’
, ‘__ror__’ , ‘__rsub__’ , ‘__rxor__’ , ‘__setattr__’ , ‘__sizeof__’ , ‘__str__’ , ‘__sub__’ ,
‘__subclasshook__’
, ‘__xor__’ , ‘copy’ , ‘difference’ , ‘intersection’ , ‘isdisjoint’ , ‘issubset’ ,
‘issuperset’
, ‘symmetric_difference’ , ‘union’ ] |
注:set()是可变的
24、globals()
功能:返回当前这个python文件中的所有变量的key-value,变量是key,值是value
1
2
3
4
5
6
7
|
print
( globals ())
#输出
{
‘__spec__’ : None , ‘__name__’ : ‘__main__’ , ‘__file__’ : ‘D: / PycharmProjects / pyhomework
/
day4 / 内置函数 / 内置函数.py ‘, ‘ __doc__ ‘: None, ‘ __package__ ‘: None, ‘ __loader__’:
<_frozen_importlib_external.SourceFileLoader
object at 0x0000000000695B00 >,
‘__cached__’
: None , ‘__builtins__’ : <module ‘built |
注:可以判断一个文件中的变量是否存在,而globals()只能打印全局变量
25、help([object])
功能:显示对象的帮助信息
1
2
3
4
5
6
7
8
9
10
11
|
>>> res
= [] #定义一个列表
>>>
help (res) #打印帮助信息
Help
on list object :
class
list ( object ) | list () – > new empty list | list (iterable) – > new list initialized from iterable’s items | | Methods defined here: | ….. |
26、hex(x)
功能:把一个数字转成16进制
1
2
3
4
|
>>>
hex ( 255 )
‘0xff’
>>>
hex ( 10 )
‘0xa’
|
27、id(object)
功能:返回对象的内存地址
1
2
|
>>>
id ( ‘zhangqigao’ )
50993136
#’zhangqigao’这个字符串的内存地址 |
28、input([prompt])
功能:输入字符串
1
2
3
4
|
>>> s
= input ( ‘–> ‘ )
–
– > Monty Python’s Flying Circus #输入的内容
>>> s
“Monty Python’s Flying Circus”
|
29、int(x)
功能:把其他数据类型强制转换成int类型
1
2
|
>>>
int ( ’10’ )
10
|
30、iter(object[, sentinel])
功能:把一个普通序列转成迭代器
1
2
3
|
with
open ( ‘mydata.txt’ ) as fp: for line in iter (fp.readline, ”): process_line(line) |
31、len(s)
功能:计算序列或者字符串的长度
1
2
3
4
|
>>>
len ( “zhangqigao” ) #字符串的长度
10
>>>
len ([ 1 , 2 , 3 , 4 , 5 ]) #列表的长度
5
|
32、list([iterable])
功能:把其他序列转换成一个列表
1
2
|
>>>
list (( 1 , 2 , 3 , 4 , 5 )) #把一个元组转换为一个列表
[
1 , 2 , 3 , 4 , 5 ] |
33、locals()
功能:打印局部变量
1
2
3
4
5
6
7
8
9
10
11
|
def
test(): locals_var = 333 ( locals ()) #只打印局部变量
test()
print
( globals ().get( “locals_var” )) #只能打印全局变量
#输出
{
‘locals_var’ : 333 }
None
|
34、max(iterable, *[, key, default])
功能:返回列表重点额最大值
1
2
|
>>>
max ([ 1 , 2 , 3 , 4 , 5 ])
5
|
35、min(iterable, *[, key, default])
功能:返回列表中的最小值
1
2
|
>>>
min ([ 1 , 2 , 3 , 4 , 5 ])
1
|
36、next(iterator[, default])
功能:返回迭代器的下一个值,相当于__next__()方法,如果迭代最后一个数据之后没有值了,则会抛出一个StopIteration异常
1
2
3
4
5
6
7
8
9
|
>>> a
= iter ([ 1 , 2 ])
>>>
next (a)
1
>>>
next (a)
2
>>>
next (a)
Traceback (most recent call last):
File “<input>” , line 1 , in <module>
StopIteration
|
37、object
功能:python中一切皆对象,每一个对象都有它的属性和方法
38、oct(x)
功能:把一个数转成8进制
1
2
3
4
5
6
7
8
|
>>> oct(7)
‘0o7’
>>> oct(8)
‘0o10’
>>> oct(15)
‘0o17’
>>> oct(16)
‘0o20’
|
39、open(file, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
功能:文件操作,详细介绍:http://www.cnblogs.com/ManyQian/p/8075983.html
40、pow(x, y[, z])
功能:返回多少次幂
1
2
|
>>>
pow ( 2 , 3 ) #相当于2**3
8
|
41、print(*objects, sep=’ ‘, end=’/n’, file=sys.stdout, flush=False)
功能:打印
1
2
|
>>>
( “zhangqigao” )
zhangqigao
|
42、range(stop)、range(start, stop[, step])
功能:生成一个迭代器
1
2
3
4
5
6
|
>>>
range ( 5 )
range
( 0 , 5 )
>>>
range ( 1 , 5 )
range
( 1 , 5 )
>>>
range ( 1 , 5 , 2 )
range
( 1 , 5 , 2 ) |
43、reversed(seq)
功能:反转一个序列,跟列表中的reversed方法是一样的
1
2
3
4
5
6
7
8
9
10
|
>>>
reversed ([ 1 , 2 , 3 , 4 , 5 ])
<list_reverseiterator
object at 0x00000000030A2588 > #变成一个迭代器
>>>
for i in reversed ([ 1 , 2 , 3 , 4 , 5 ]):
…
(i)
…
5
4
3
2
1
|
44、round(number[, ndigits])
功能:四舍五入
45、set([iterable])
功能:集合
46、slice(stop),slice(start, stop[, step])
功能:序列的切片,方便多次反复切
1
2
3
4
5
|
>>> a
= [ 1 , 2 , 3 , 4 , 5 , 6 ]
>>> a[
slice ( 1 , 3 )]
[
2 , 3 ]
>>> a[
1 : 3 ]
[
2 , 3 ] |
47、sorted(iterable[, key][, reverse])
功能:对一个序列进行排序
1
2
3
4
5
6
7
8
9
|
>>>
sorted ([ 5 , 3 , 2 , 6 , 8 ])
[
2 , 3 , 5 , 6 , 8 ]
>>> a
= { 1 : 5 , 6 : 8 , 3 : 6 }
>>>
sorted (a) #默认是按key排序
[
1 , 3 , 6 ]
>>>
sorted (a.items()) #按key排序
[(
1 , 5 ), ( 3 , 6 ), ( 6 , 8 )]
>>>
sorted (a.items(),key = lambda x:x[ 1 ]) #按value排序
[(
1 , 5 ), ( 3 , 6 ), ( 6 , 8 )] |
48、 str(object)
功能:把其他数据类型转换为字符串
1
2
|
>>>
str ( 1 )
‘1’
|
49、sum(iterable[, start])
功能:求一个列表的和,元组,集合,前提都是数字类型
1
2
|
>>>
sum ([ 1 , 2 , 3 , 4 , 5 , 6 ])
21
|
50、tuple([iterable])
功能:把其他序列转换为一个元组
1
2
|
>>>
tuple ([ 1 , 2 , 3 , 4 , 5 ])
(
1 , 2 , 3 , 4 , 5 ) |
51、type(object) 、type(name, bases, dict)
功能:查看一个对象的数据类型
1
2
3
|
>>> a
= ‘qianduoduo’
>>>
type (a)
<
class ‘str’ > |
注:一切数据类型都是有type()方法产生,它是一切数据类型的根。
52、zip(*iterables)
功能:zip中文意思是拉链的意思,把两个序列一一对应起来。
1
2
3
4
5
6
7
8
9
|
>>> a
= [ 1 , 2 , 3 , 4 ]
>>> b
= [ ‘a’ , ‘b’ , ‘c’ , ‘d’ ]
>>>
for i in zip (a,b):
…
(i)
…
(
1 , ‘a’ )
(
2 , ‘b’ )
(
3 , ‘c’ )
(
4 , ‘d’ ) |
注:如果a的元素比b的多,则按照元素最少的那个来
PS:有些没有列出来,不是实在用不着,就是后面类的重点,后面还有单独的博客!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/12220.html