博客是我工作的好帮手,遇到困难就来博客找资料
分类: 系统运维
2017-03-03 11:24:26
下面就一一介绍一下内置函数的用法:
1、abs() 返回一个数值的绝对值,可以是整数或浮点数等。
print(abs(-18))
print(abs(0.15))
result:
18
0.15
2、all(iterable) 如果iterable的所有元素不为0、''、False或者iterable为空,
all(iterable)返回True,否则返回False。
print(all(['a','b','c','d'])) #列表list,元素都不为空或0,返回True
True
print(all(['a','b','','d'])) #如果存在一个为空的元素,返回False
False
print(all([0,1,2,3])) #如果存在为0的元素,同样返回False
False
print(all([])) #空元组和空列表返回值为True
True
print(all(()))
True
3、any(iterable) 如果iterable的任何元素不为0、''、False,all(iterable)返回True,如果iterable为空,返回Fasle。
注意:此函数与all()函数的在于,any()函数中有任意一个元素为0、''、False不影响整体,会返回True,而all()函数中必须是全部不包含特殊元素才会返回True,只要有一个特殊元素,会直接返回False.
print(any(['a','b','c','d'])) #列表list,元素都不为空或0
True
print(any(['a','b','','d'])) #列表list,存在一个为空的元素,返回True
True
print(any([0,False])) #如果元素全部是0,Fasle,返回Fasle
False
print(any([])) #any函数中空列表和空元组返回Fasle
False
print(any(()))
False
4、bin() 将一个整数转换成一个二进制字符串,结果以'0b'为前缀。
print(bin(32)) #将十进制转换成二进制
print(bin(64))
print(bin(128))
result:
0b100000
0b1000000
0b10000000
5、hex() 将一个整数转换成一个小写的十六进制字符串,结果以'0x'为前缀。
print(hex(255)) #将整数转换成十六进制
print(hex(192))
result:
0xff
0xc0
6、oct() 将一个整数转换成八进制的字符串,结果以'0o'为前缀。
print(oct(255)) #将整数转换成八进制
print(oct(192))
result:
0o377
0o300
7、bool() 返回一个布尔值,True或False。
print(bool()) #bool值缺省为False
False
print(bool(0))
False
print(bool('jack'))
True
print(bool(""))
False
8、bytes()将一个字符串转换成你想要的编码格式的字节。
print(bytes('你好',encoding='utf-8')) #将字符串转换成utf-8编码格式的字节
b'\xe4\xbd\xa0\xe5\xa5\xbd'
print(bytes('你好',encoding='gbk')) #将字符串转换gbk编码格式的字节
b'\xc4\xe3\xba\xc3'
9、chr() 介绍chr()函数之前先看一下ASCII码对照表:
chr()函数就是返回整数对应的ASCII码对照表里的字符,取值范围[0~255]之间的正数。
ord()函数作用正好和chr()函数相反,不再介绍,请看下面例子:
n = chr(65) #根据十进制找到在ascii码里对应的字符
print(n)
result:A
a= ord("a") #根据字符找到在ascii码里对应的十进制
print(a)
result:97
10、compile(source,filename,mode)
将source编译为,代码对象能够通过exec语句来执行或者eval()进行求值。
source:字符串或者对象;
filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值;
model:编译代码的种类,可以指定为'exec','eval','single'。
code="for i in range(0,10):print(i)"
cmpcode = compile(code,'','exec') #可以将字符串转换成python代码执行
print(cmpcode)
result:
exec() exec语句用来执行储存在字符串或文件中的Python语句。
exec("print('hello,world')") #执行exec()里的python语句
eval() eval()函数将字符串str当成有效的表达式来求值并返回计算结果。
#执行python代码,可以接收或字符串,没有返回值
divmod(a,b) divmod(a,b)方法是计算a,b的商和余数,即:a//b 余几,返回结果为元组。以后做网
enumerate(iterable,start=0) 返回一个枚举对象。iterable必须是序列,迭代器,或者其他支持迭代的对象。
enumerate(dic.keys(),start=0):
filter() 对于序列中的元素进行筛选,最终获取符合条件的序列。
22:
filter(lambda a:a>22,li) #通过lambda函数处理,lambda是有返回值的,条件成立返回True
ret = filter(lambda i:type(i) == str,li) #使用filter函数结合lambda表达式来过滤type为str的元素
l1.append(i) #把过滤掉的str元素导入到新列表中
filter(numb,li)
map(函数,可迭代的对象)
map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。
>> def f(x):
>> map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
L = []
L.append(f(n))
>> map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9])
map(lambda a:a+100,li)
map(lambda a, b: a + b, li, sl)