运维开发网

python笔记(11.30-2.0-2.4)

运维开发网 https://www.qedev.com 2020-03-11 12:15 出处:51CTO 作者:wuyinchen
2.0-2.4内建函数一个函数可以说是一个逻辑或者功能.使用ipython查看python的内建函数builtin.显示一共有137个内建函数也可以登录https://docs.python.org/2/library官网去查询•返回数字的绝对值abs()abs(-10)返回的是10•取列表最大最小值max()min()括号内的参数一般是序列或者字符串序列或者元组max([1,2,3,4,5])返

2.0-2.4 内建函数

一个函数可以说是一个逻辑或者功能.

使用ipython查看python的内建函数

builtin. 显示一共有137个内建函数

也可以登录https://docs.python.org/2/library 官网去查询

•返回数字的绝对值

abs() abs(-10) 返回的是10

•取列表最大最小值max() min() 括号内的参数一般是序列或者字符串序列或者元组

max([1,2,3,4,5]) 返回最大值5

•len() 取序列或者字符串长度,也可以统计字典和元组有几个元素

•divmod() divmod(x,y) 返回2个数的商和余数

•pow() 接受3个参数,第三个参数可选,如果是2个参数则返回 xy pow()

如果是3个参数,则返回xy % z

•round() round(12) 返回一个浮点数12.0 round(12.123) 返回的是四舍五入的浮点数 round(number,[可选参数]) 可选参数表示保留的小数位个数

callable() 判断一个对象是否可以被调用(类,函数都是可以被调用,变量不能被调用)

type() 查看对象是什么类型的

isinstance() 判断对象是否是给定的类型的 返回true或false

isinstance(对象,类型) 如果对象属于第二个参数类型 返回true

l = [1,2,3] isinstance(l,list) l是列表,返回true

第二个参数也可以是个元组,判断第一个参数对象是否是元组中的

类型

cmp(x,y) 比较两个对象值,如果x<y 返回-1 如果x>y 返回1 如果x=y 返回0,

还可以比较两个字符串 cmp('hello','hello')--->返回是0

range() 返回的是个数字列表

xrange() 返回的是个对象 效率比range高

常用的类型转换函数

int() 将数字或者小数转换成×××,也可以把字符串数字转换成××× 比如int('12') 将返回12

long() 将数字转换成长×××

float() 转换成浮点数, 只有一个参数

complex() 转换成复数

str() 转换成字符串,可以把列表或者字典转换成字符串

list() 返回的是个列表,如果参数为空,则返回是空列表,如果参数是可迭代的对象,返回的是迭代的每个元素

tuple() 返回的是个元组,如果参数为空,返回空的元组,如果参数是可迭代的对象,返回的是迭代的每个元素

hex() 转换成十六进制 参数是int或者long 把一个数变成十六进制的字符串

oct() 转换成8进制

chr() chr(i) 返回的是一个字符, 这个方法返回的是asc码对应的字符 chr() 中的参数范围是0-256

ord() 和chr()相反 参数是字符 返回的是字符所对应的asc码

eval() 将字符串当成有效的表达式来求值 evel('0xa') 将返回10 eval("['a','b',1]") 也可以是列表

字符串处理函数(方法)

字符串方法 ipython中 str. 按tab就可以查看字符串可以使用的所有方法

help(str.capitalize) 查看方法的帮助,注意和查看函数帮助的区别

str.capitalize() 将原字符串的首字母大写后返回新的字符串,注意没有参数In [59]: s

Out[59]: 'hello'

In [60]: s.capitalize()

Out[60]: 'Hello'

str.replace() S.replace(old, new[, count]) -> string 将old替换成new字符串, count表示替换次数

str.split() S.split([sep [,maxsplit]]) -> list of strings 参数可选,不加参数返回的是字符串列表 默认使用空格切分 str.split() 可以在里面指定分割符,split方法比较常用

s.join() S.join(iterable) -> string 将可迭代的对象变成字符串 将列表的每个元素链接成字符串

string模块

使用时 import string

string.lowercase 打印所有小写字母 string.uppercase 打印所有大写字母

string.captalize(s) 和 captalize()用法一致

string.replace(old) 和replace()内置函数使用一致

序列处理函数:

filter() 过滤 filter(function or None, sequence) -> list, tuple, or string filter函数有2个参数,第一个参数是一个函数或者none,第二个参数是个序列 返回的是列表,元组或者字符串,如果第一个参数是none,则不对sequence进行处理,如果第一个参数是个函数,则sequence中的每一个元素被这个函数处理

def f(x):

if x%2==0:

return True

filter(f,range(1,10)) f函数对range(1,10)元素进行处理

[0, 2, 4, 6, 8] 返回列表

zip() 把一个或多个序列组成一个大的列表,列表的每一个元素都是一个元组

l1 = [1,2,3]

l2=['a','n','c']

zip(l1,l2)

[(1, 'a'), (2, 'n'), (3, 'c')] 每个列表各取一个元素组成元组,再存放到一个新的列表中去

dict(zip(l2,l1)) 还可以通过这种方法创造一个字典

map() map(function, sequence[, sequence, ...]) -> list 第一个参数是可以函数,也可以是None,后面的参数是sequence 返回一个list

map(None,l1,l2,l3)

reduce()

filter(),map(),reduce() 中第一个参数函数可以使用lambda匿名函数来写

In [131]: filter(lambda x: x%2==0,range(10))

Out[131]: [0, 2, 4, 6, 8]

•filter(lambda x:x %2 ==0, range(10))

[0, 2, 4, 6, 8]

•map(lambda x,y:x*y, range(5),range(5)) 每个序列相应的元素相乘

[0, 1, 4, 9, 16]

•reduce(lambda x,y:x+y, range(1,101))

5050

0

精彩评论

暂无评论...
验证码 换一张
取 消