Python 入门 04 —— Python的常用函数

一、转换
bin(x) ———— 将x看作十进制数,然后转换成二进制数。例如:print(bin(1025)) # 0b10000000001
oct(x) ———— 将x看作十进制数,然后转换成八进制数。例如:print(oct(1025)) # 0o2001
hex(x) ———— 将x看作十进制数,然后转换成十六进制数。例如:print(hex(1025)) # 0x401

int(x) ———— 取x的整数部分。例如:print(int(1234.5678)) # 1234
int(‘x’,d) ———— 将x看作d进制的数,然后转换成十进行的数。例如:print(int(‘101’,8)) #:65

ord(‘x’) ———— 返回x的Unicode编码。例如:print(ord(‘B’)) #66
chr(x) ———— 将x看作Unicode编码,返回对应的字符。例如:print(chr(67)) #C
str(x) ———— 不论x是什么,都将它转换成字符串。例如:print(str([11,22,33])) #[11,22,33]

bool(x) ———— 取x的布尔值:True、或False。

1、“空”的布尔值均为False:空类型、0、空字符串、空列表、字元组、空集合,例如:

print(bool(None))  #False
print(bool(0))  #False
print(bool(''))  #False
print(bool([]))  #False
print(bool(()))  #False
print(bool({}))  #False

2、逻辑判断为假的布尔值为False,例如:

print(bool(11==33))  #False
print(bool(12>13))  #False

3、False的布尔值为False:

print(bool(False))  #False

4、负数等为True,例如:

print(bool(not None))  #True
print(bool(-1))  #True
print(bool('a'))  #True
print(bool([0]))  #True
print(bool((0,)))  #True (0)相当于0,元组仅有一个元素结尾须加逗号
print(bool({0}))  #True
print(bool(11!=33))  #True
print(bool(12<13))  #True
print(bool(True))  #True

5、变量没有赋值、文件不存在等,不是返回False,而是直接报错。

abs(x) ———— 返回x的绝对值,例如:
print(abs(12)) # 12
print(abs(0)) # 0
print(abs(-12)) # 12

float(x) ———— 将x转换为浮点数并返回,如果x本身为浮点数,则什么也不做,例如:
print(float(123)) # 123.0
print(float(’-123’)) # -123.0
print(float(123.6)) # 123.6

round(x,y) ———— 返回x四舍五入后的值,例如:
print(round(12.12345678)) # 12
print(round(12.12345678,3)) # 12.123
print(round(12.12345678,4)) # 12.1235
print(round(-12.12345678,5)) # -12.12346

pow(x,y) ———— 返回x的y次方,相当于 x**y,例如:print(pow(2,10)) # 1024

hash(x) ———— 返回x的哈希值,例如:print(hash(‘abcdefg’)) # 7728077216640607955

eval(exp) ———— 把exp作为一名代码进行运算,返回运算结果 # print(eval(‘pow(2,10)’)) # 1024

二、数据类型判断
type(x) ———— 返回x的类型。例如:print(type(‘123’)) #<class ‘str’>

isinstance(x,t) ———— x是否为t类型。。例如:print(isinstance(‘123’,str)) # True

三、针对对象的操作
id(obj) ———— 返回对象obj的标识,即内存地址。例如:print(id(123)) # 8791404434912

dir(obj) ———— 返回对象或模块的成员列表。dir(模块名),可以查看到模块中定义的所有类、函数等。例如:
print(dir(123)) # [‘abs’, ‘add’, … ‘to_bytes’]
print(dir(‘collections’)) # [‘add’, ‘class’…‘iter’…‘zfill’]

hasattr(obj,attr) ———— 返回对象obj中有attr属性则为真,否则为假,例如:
print(hasattr(123,‘abs’)) #False
print(hasattr(123,‘abs’)) # True
print(hasattr(123,‘iter’)) #False
print(hasattr(‘collections’,‘iter’)) # True

callable(obj) ———— 对象obj可调用返回真,否则为假。对于函数、方法、lambda 函式、 类以及实现了 call 方法的类对象, 它都返回 True,其余为Flase。

四、针对可迭代对象的操作
all(iterable) ———— 可迭代对象中的元素有全为真,则返回真,否则为假,例如:
print(all([1,2,3,0,5,6])) #False

any(iterable) ———— 可迭代对象中的元素有一个为真,则返回真,否则为假,例如:
print(any([1,2,3,0,5,6])) #True

max(iterable) ———— 返回可迭代对象中的所有元素中数值最大的元素,例如:
print(max([1,2,3,0,5,6])) #6

min(iterable) ———— 返回可迭代对象中的所有元素中数值最小的元素,例如:
print(min([11,12,13,8,15,16])) #8

sum(iterable) ———— 返回可迭代对象中的所有元素的总和,例如:
print(sum([1,2,3,0,5,6])) #17

len(iterable) ———— 返回可迭代对象中的元素的个数,例如:
print(len([11,12,13,8,15,16])) #6

iter(iterable) ———— 将可迭代对象转换为迭代器对象,并返回,例如:
print(type([11,12,13])) # <class ‘list’>
print(type(iter([11,12,13]))) # <class ‘list_iterator’>

next(iter(iterable)) ———— 返回迭代器对象中的下一个元素,当参加为非迭代器对象时报错,例如:
print(next([11,12,13])) # TypeError: ‘list’ object is not an iterator

x=iter([11,12,13])
print(next(x)) # 11
print(next(x)) # 12
print(next(x)) # 13
print(next(x)) # 抛出异常:StopIteration

五、针对序列的操作
list(x) ———— 将x转换为列表,没有参数,则返回空列表,例如:
print(list((1,2,3))) # [1, 2, 3]
print(list({4,5,6}))[4, 5, 6]
print(list()) # []

tuple(x) ———— 将x转换为元组,没有参数,则返回空元组,例如:
print(tuple([1,2,3])) # (1, 2, 3)
print(tuple({4,5,6})) # (4, 5, 6)
print(tuple()) # ()

dict() ———— 创建一个字典。例如:
print(dict(a=‘11’,b=‘22’,c=‘33’)) # {‘a’: ‘11’, ‘b’: ‘22’, ‘c’: ‘33’}

set() ———— 创建一个集合。例如:
print(set([1,2,3])) # {1, 2, 3}
print(set((4,5,6))) # {4, 5, 6}

map(fun,seq) ———— 将seq中的每一个元素作为参数代入fun中,返回fun每次的返回值组成的map对象。例如:
print(map(float,(11,22,33))) # <map object at 0x0000000001DC7220>
print(list(map(float,(11,22,33)))) # [11.0, 22.0, 33.0]

reduce(fun,seq) ———— 先从seq中取出第一、第二两个元素作为参数代入fun中进行运算,然后将函数返回值作为第一个参数,从seq中取出第三个元素作为第二个参数,再代入fun中进行运算,如此重复,直到seq的最后一个元素,返回最后一次的函数返回值。
第1次运算:fun(seq中第一元素,seq中第二元素)
第2次运算:fun(上一次运算结果,seq中第三元素)

第N次运算:fun(上一次运算结果,seq中第N+1元素)
返回第N次运算结果
例如:
from functools import reduce
print(reduce(pow,[2,1,2,3])) # 64

zip(seq1,seq2,…) ———— 从seq1,seq2,…中各取第一个元素组成第一个元组,各取第二个元素组成第二个无组,以此类推,返回由第一个元组、第二个元组…组成的zip对象。
print(zip([1,2,3],(4,5,6),{7,8,9})) # <zip object at 0x00000000024F4740>
print(list(zip([1,2,3],(4,5,6),{7,8,9}))) # [(1, 4, 8), (2, 5, 9), (3, 6, 7)]

range(start,end,step) ———— 返回一个从start(含,缺省为0)开始,到end(不含)结束,间隔为step(缺省为1)的range对象,通常用在for循环语句中。例如:
print(list(range(9))) # [0, 1, 2, 3, 4, 5, 6, 7, 8]
print(list(range(3,9,2))) # [3, 5, 7]

sorted(seq,key=None,reverse=False) ———— 排序,例如:
print(sorted([2,5,7,6,1])) # [1, 2, 5, 6, 7]
print(sorted([2,5,7,6,1],key=None,reverse=True)) # [7, 6, 5, 2, 1]

reversed() ———— 逆序,返回逆序后的reversed对象,例如:
print(list(reversed([2,5,7,6,1]))) # [1, 6, 7, 5, 2]

filter(fun,seq) ———— 将seq中的每一个元素作为参数代入fun中进行运算,把有有函数运算返回值为真的元素组成一个列表,返回由这个列表构成的flilter对象,例如:
print(list(filter(round,[0.1,0.2,0.3,0.4,0.6,0.7,0.8,0.9]))) # [0.6, 0.7, 0.8, 0.9]

六、其它
exec(sentence) ———— 执行sentence中的所有语句,返回None。例如:exec(‘x=3; y=5; print(x+y+10)’) # 18

compile(sentence) ———— 将sentence编译为可让eval()和exec()执行的字节代码,返回complile对象。例如:
print(compile(‘x=3; y=5; print(x+y+10)’,’’,‘exec’)) # <code object at 0x00000000025A7A80, file “”, line 1>
exec(compile(‘x=3; y=5; print(x+y+10)’,’’,‘exec’)) # 18

open(filename) ———— 打开文件,返回文件对象。

help(obj) ———— 查看对象的帮助信息

input() ———— 等待输入

print() ———— 显示内容

七、所有内置函数

abs()		all()		any()		basestring()		bin()	bool()		bytearray()
callable()		chr()		classmethod()		cmp()		compile()		complex()
delattr()		dict()		dir()		divmod()		enumerate()		eval()		execfile()
file()		filter()		float()		format()		frozenset()		getattr()		globals()
hasattr()		hash()		help()		hex()		id()		input()		int()		isinstance()
issubclass()		iter()		len()		list()		locals()		long()		map()
max()		memoryview()		min()		next()		object()		oct()		open()
ord()		pow()		print()		property()		range()		raw_input()		reduce()
reload()		repr()		reverse()		round()		set()		setattr()		slice()
sorted()		staticmethod()		str()		sum()		super()		tuple()		type()
unichr()		unicode()		vars()		xrange()		zip()
__import__()		exec 内置表达式

———————————————— 本篇完 ————————————————

看完之后,麻烦您顺手点击下方 “点赞” 两个字给我点个赞吧 ^-^ , 谢谢您了。

如果您还能像我小学一年级班主任好老师那样,给我随心写上几句表扬或批评的话语,那真是感激不尽!

在我人生的道路上,有了您的鼓励和指导,我一定成长快快。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章