python内置函数
abs() #求绝对值
bool() #转化为布尔值,为False:'',"",0,None,[],(),{}
all() #迭代所有的值的布尔值都为真,才为真,有一个为假则为假
any() #迭代所有的值只要有真则为真
chr() #把数字转换成ASCII码 ------------->必须掌握
ord() #把ASCII码转换成数字 ------------->必须掌握
hex() #把十进制转换为十六进制
oct() #把十进制转换为八进制
bin() #把十进制转换为二进制
bytes() #转换成字节
str() #字母,数字,字节等转换成字符()
-----------------------------------------------------------------------------------------------
-
例子1, 字符和字节之间的转换:(用什么编码转换的就要以什么编码转换回来)
-
-
****(对于UTF-8编码一个汉字占有3个字节,gbk一个汉字占2个字节)
-
如:
-
s1 = '勇敢'
-
res1 = bytes(s1,encoding='utf-8') #把汉字转化为字节
-
res2 = bytes(s1,encoding='GBK')
-
print(res1)
-
print(res2)
-
-
b1 = res1
-
res3 = str(b1,encoding='utf-8') #把字节转换为字符
-
print(res3)
-
-
结果:
-
b'\xe5\x8b\x87\xe6\x95\xa2' #3个字节
-
b'\xd3\xc2\xb8\xd2' #2个字节
-
-
勇敢
-
例子2,生成随机验证码
-
-
import random
-
li = []
-
for i in range(6):
-
r = random.randrange(0,5)
-
if r == 2 or r == 4:
-
num = random.randrange(0,10)
-
li.append(str(num))
-
else:
-
tem = random.randrange(65,91)
-
c = chr(tem)
-
li.append(c)
-
result = ''.join(li)
-
print(result)
callable() #定义是否可被调用,返回True或者False
compile() #将字符串编译成Python代码
r = compile(s, "
", "exec")
exec() #执行python代码,没有返回值
exec(r)
扩展:实际上在saltstack的jinja模版的底层就是运用complile进行编译的
eval() #接收字符串,把字符串转化成表达式来执行。有返回值
exec和eval的区别:
exec 可以接收代码,直接执行,也可以接收字符串,然后转换成代码执行。但是没有返回值
eval 执行表达式,并且获取结果。
delattr() #反射后面会讲
getattr()
hasattr()
dir() #获取一个对象提供了哪些功能
help() #查看帮助,其实读的是源码。可以结合dir来使用(dir提供功能,
help查看具体用法)
divmod() divmod(9,2)---(4,1)等于商和余数(可以用在网页扉页计算,
当商大于0时需要多加一页。比如有100个网页,一页放9个,总需要放几个?11+1)
n1,n2 = divmod(9,2) ,如果一直返回两个元素,会把第一个元素给n1,第二个元素给n2
enumerate() #重要
isinstance() #判断某个对象是否是类的实例
-
--------------------------------------------------------------------
-
例子3,判断对象是否是类的实例
-
s1 = "alex" #s1首先是字符串,也就是s1是一个str的例子
-
res = isinstance(s1,str)
-
print(res)
-
-
执行结果:
-
True
-
-
总结:比如像字符,列表,字典等叫做类,s1="alex" 这个叫做对象,
-
也就是说对象是类的一个实例,注意理解哦。
-
----------------------------------------------------------------------------
filter() #filter(f1,li)循环第二个参数,让每个元素执行函数,返回值为True,
将元素添加到结果中
-
----------------------------------------------------------------------
-
例子4:
-
li = [1,2,3,4,5]
-
res =filter(lambda x:x > 3,li)
-
print(res)
-
print(list(res))
-
-
执行结果:
-
<filter object at 0x0000000000CB3080>
-
[4, 5]
-
-
-----------------------------------------------------------------------
map() #map(函数,可以迭代的对象),这点类似于filter,但是
和filter的本质区别是map把返回值添加到结果中
-
------------------------------------------------------------------------
-
例子5,
-
t1 = (11,22,33,44)
-
t2 = (1,2,3,4)
-
res = map(lambda x, y: x + y, t1, t2)
-
print(tuple(res))
-
-
执行结果:
-
-
(12, 24, 36, 48)
-
-------------------------------------------------------------------------
float() #转换成浮点型
format() #字符串的格式化
globals() #全局变量
locals() #局部变量
-
----------------------------------------------------------------
-
例子6,
-
NAME = "Alex"
-
def f1():
-
a = 123
-
b = "abc"
-
print(globals()) #获取全局变量
-
print(locals()) #获取局部变量
-
f1()
-
-
执行结果:
-
{'__spec__': None, 'NAME': 'Alex', '__builtins__': <module 'builtins' (built-in)>, '__doc__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x00000000007A4BE0>, '__package__': None, '__name__': '__main__', '__file__': 'C:/Users/Administrator/PycharmProjects/s13/3day/test.py', '__cached__': None, 'f1': <function f1 at 0x0000000000FBAD08>}
-
-
{'a': 123, 'b': 'abc'}
-
--------------------------------------------------------------------
hash(object) #了解,即传一个对象把其转换成hash值,像字典中的key在保存
的时候不管多长,都会转换成hash值,然后再进行保存。python
内部使用,其他语言的保存也是类似。
id() #查看内存地址
int()
input()
len() #查看长度,在python2.7中只能通过查看字节,长度,而在python3中,
默认是查看字符的长度,也可以用bytes转换成字节,查看字节长度
比如,汉字“李杰”,python3的长度是2,python2的长度是6
list() #迭代转换成列表
set()
str()
max() #求最大值
min() #求最小值
sum() #求和
memoryview() #和内存地址相关的类,python3中新加的
open()
iter() #创建迭代器的
next()
object()
pow() #求指数pow(2,10)=1024
property() #面向对象会用
range() #范围
reversed() #反转,和列表中的li.reverse()一样
round() #四舍五入
slice() #python3中新加的,切片的功能。类似于li[1:2]
sorted() #排序,类似于li.sorted()
var() 当前模块中有那些变量
zip()
-
-----------------------------------------------
-
例子7,
-
l1 = ["Alex",'11','22']
-
l2 = ['is',11,22]
-
l3 = ['good','a','b']
-
res = zip(l1,l2,l3)
-
tem = list(res)[0]
-
ret = ' '.join(tem)
-
print(ret)
-
-
结果:
-
Alex is good
阅读(1244) | 评论(0) | 转发(0) |