python自动化运维学习第十天--内置函数

内置函数

内置函数不用定义,直接可以使用

abs()      #计算绝对值,只能是数字
max()      #求序列/可迭代对象的最大值,可以有非数字
min()      #求序列/可迭代对象的最小值,可以有非数字
len()      #计算序列的长度,返回整数,字典会返回元素数
divmod(x,y)   #返回x,y的商和余数组成的元组
pow(x,y[,z])  #求x的y次方,如果有z,则计算x的y次方再对z求余
round(x[,y])  #用来四舍五入,默认返回一位小数浮点数,如果有y,则返回y位浮点数
callable()    #判断一个对象是否可调用
type()        #返回对象的类型
isinstance(x,y)  #判断对象x是否是给定的类型y,类型y可以是一个类型组成的元组,只要对象x的类型在这个元组中就返回True
cmp(x,y)    #比较两个对象的大小,x=y返回0,x>y返回1,x<y返回-1,字符串按字母大小比较
range(x)    #返回一个从0到x-1的数字列表
xrange(x)   #同range,不过返回的是一个对象

字符转换函数

int()       #把一个对象转换为整数型
long()      #把一个对象转换为长整型
float()     #把一个对象转换为浮点数
complex()   #把一个对象转换为一个复数
str()       #把一个对象转换为一个字符串
list()      #把一个对象转换为一个列表
tuple()     #把一个对象转换为一个元组
hex()       #把一个数字转换为十六进制
oct()       #把一个数字转换为八进制
chr()       #把一个数字转换为ASCII字符,数字在0-255
ord()       #把一个ASCII字符转换为数字,跟chr正好相反
eval()      #把字符串当做一个有效的表达式来求值
#eval('1+2')   返回3
#eval('0xa')   返回10
#eval("[1,2,3]") 返回[1,2,3]

字符串处理函数

str.capitalize()       #str首字母大写
str.replace(x,y[,z])   #把str中的x替换为y,默认全部替换,如果有z,则替换z次
str.split()            #把str进行切分,默认使用空格切分,可以指定分隔符
str.join(iterable)     #使用str把可迭代对象里的元素连接
#'.'.join([str(i) for i in range(10)])   返回'0.1.2.3.4.5.6.7.8.9'

string模块

import string
string.lowercase          #返回所有的小写字母
string.uppercase          #返回所有的大写字母
string.capitalize(str)    #把str的首字母大写
string.replace(str,x,y)   #把str中的x替换为y

序列处理函数

filer(函数或none,序列)   #用来过滤,把序列的每一个元素,作为函数的参数。如果为None,则什么也不做,直接输出(序列),如果有函数,那么只有函数的返回值为True才打印序列中的元素
#例子:
def fun(n):
    if n % 2 == 0:
        return True
filter(fun, xrange(10))
#返回
[0,2,4,6,8]
##精简版
filter(lambda x: x%2 == 0, range(10))
zip(seq1,seq2,...)        #用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
map(function,iterable,...)     #根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
#例子:
def fun(X):
    return x ** 2
l1 = [1, 2, 3, 4, 5]
map(fun, l1)
#返回
[1, 4, 9, 16, 25]
#精简版
map(lambda x, y: x*y, range(1,5), range(1,5))
#返回
[1,4,9,16]
reduce(function, iterable)  #函数会对参数序列中的元素进行累积

列表表达式

[i for i in range(10)] == range(10)
[i*2+10 for i in range(10)]
[i*2+10 for i in range(10) if i % 3 == 0]

猜你喜欢

转载自blog.csdn.net/wang035759984/article/details/84674942
今日推荐