标签:文件句柄 index compile hash name 失败 ice 默认 个数
主要内容:
内置函数:就是python给你提供,拿来直接使用的函数.
1. 作用域相关:
locals() 返回当前作用域中的名字.
globals() 返回全局作用域中的名字.
def fn(): a = 10 print(locals()) #当前作用域中的内容,如果在全局作用域中,则显示全局作用域的内容. print(globals()) #全局作用域中的内容 print("今天内容很简单") fn()
2. 迭代器相关:
range() 生成数据
for i in range(20,15,-3): print(i)
next() 迭代器向下执行一次,内部实际使用了__next__()方法返回迭代器的下一个项目
iter() 获取迭代器,内部实际使用的是__iter__()方法来获取迭代器.
lst = [‘高圆圆‘,‘马伊琍‘,‘袁泉‘,‘林依晨‘] it = lst.__iter__() #it = iter(lst) 取迭代器 print(it.__next__()) #从迭代器中取值 和next(it)效果一样 print(next(it))
3. 字符串类型代码的执行
eval() 执行字符串类型的代码,并返回最终结果
s = ‘24*5‘ a = eval(s) #eval(obj) obj必须为a string, bytes or code object print(a) #结果120
exec() 执行字符串类型的代码
s = "for i in range(10): print(i)" a = exec(s) # exec 执行代码不返回任何内容 print(a)
# 动态执行代码 exec(""" def func(): print(" 我是周杰伦") func() """ )
compile() 将字符串类型的代码编译,代码对象能够通过exec语句或者eval()进行求值.
参数说明:1,resource ,要执行的代码,动态代码片段.
2,文件名:代码存放的文件名,当传入第一个参数的时候,这个参数给空就可以了.
3,模式:取值有三个:
exec: 一般放一些流程语句的时候
code1 = ‘for i in range(10):print(i)‘ com = compile(code1,‘‘,mode=‘exec‘) #compile并不会执行你的代码,只是编译 exec(com) #执行编译的结果
eval: resource只存放一个求值表达式的时候
code2 = ‘3+4+5‘ com = compile(code2,‘‘,mode=‘eval‘) print(eval(com))
single: resource存放的代码有交互的时候,mode应为single
code3 = ‘name = input("请输入名字")‘ com = compile(code3,‘‘,mode=‘single‘) #用single说明resource中用了交互. exec(com) #执行代码. print(name)
注意:有返回值的字符串形式的代码用eval(),没有返回值字符串形式的代码用exec(),一般很少用到compile()
4. 输入和输出相关的函数
input(): 获取用户输入得内容
print(): 打印输出
print(‘李嘉诚‘,‘黄花菜‘,‘马云‘,sep=‘*‘,end=‘taiyang‘) #seperator:分隔符(分离器,净油机) # 结果是:李嘉诚*黄花菜*马云taiyang
5. 内存相关:
hash(): 获取到对象的哈希值(int bool str tuple)
哈希算法:目的具有唯一性,dict 查找效率非常高, hash表.用空间换的时间 比较耗费内存
s = ‘林依晨‘ a = 12 lst = [1,2,3,4,5,7] print(hash(s)) #结果3588732593406966857 print(hash(a)) #结果12,int型的哈希值就是本身 print(hash(lst)) #列表是不可哈希的
id(): 获取到对象的内存地址.
s = ‘美好的一天‘ print(id(s)) #结果1337093092208
#除了特殊的字符,字符串获取的地址是一样的。int 和 bool是一样的地址 s = ‘美好的一天‘ s1 = ‘美好的一天‘ print(id(s)) #结果133709309220 print(id(s1)) #结果133709309220
6. 文件操作相关;
open(): 用于打开一个文件,创建文件句柄
7. 模块相关:
__import__() 用于动态加载类和函数
8. 帮助
help()函数用于查看函数或模块用途的详细说明 print(help(str))
9. 调用相关:
callable() 用于检查一个对象是否可调用的,如果返回ture,object有可能调用失败,但如果返回false,那绝对不会调用成功.
a = 10 print(callable(a)) #不可以被调用,返回false def func(): print(‘mam‘) print(callable(func)) #函数是可以被调用的,返回ture
10. 查看内置属性:
dir() 查看对象的内置属性,方法,访问的是对象中的__dir__()方法
li = [‘tiantina‘,‘poppy‘,‘enheng‘,‘jasper‘] print(li.__dir__())
11. 基础数据类型相关:
数字相关:
bool():将给定的数据转换成bool值,如果不给值,返回false
int():将给定的数据转换成int值,如果不给值,返回0
float():将给定的数据转换成float值,也就是小数
complex()创建一个复数,第一个参数是实部,二个参数是虚部
进制转换:
bin():将给的参数转换成二进制
otc():将给定的参数转换成八进制
hex():将给定的参数转换成16进制.
print(bin(10)) #结果是0b1010 print(oct(20)) #结果是0o24 print(hex(12)) #结果是0xc
数字运算:
abs(): 返回绝对值
divmode():返回商和余数
round():四舍五入
pow(a,b):求a的b次幂,如果有三个参数,则求完次幂后对第三个数取余
sum():求和
min():最小值
max():最大值
12. 和数据结构相关:
列表和元祖:
list():将一个可迭代对象转换成列表
lst = ‘你好啊‘ it = list(lst) #将一个可迭代对象转换成列表 print(it)
tuple():将一个可迭代对象转换成元祖
reversed():将一个序列翻转,返回翻转序列的迭代器
lst = ‘你好啊‘ it = reversed(lst) #不会改变原列表,返回一个迭代器,设计上的一个原则 print(list(it))
slice():列表的切片
lst = [1,2,3,4,5,6,7] s = slice(1,3,1) #切片用的 print(lst[s])
字符串相关:
str():将数据转化成字符串
format():与具体的数据相关,用于计算各种小数
s = "我叫王尼玛" print(format(s, "^20")) #居中 print(format(s, "<20")) #左对齐 print(format(s, ">20")) #右对齐
进制之间的转换:
print(format(3, ‘b‘ )) # ?进制 print(format(97, ‘c‘ )) # 转换成unicode字符 print(format(11, ‘d‘ )) # ?进制 %d print(format(11, ‘o‘ )) # ?进制 8 print(format(11, ‘x‘ )) # ?六进制(?写字?) print(format(11, ‘X‘ )) # ?六进制(?写字?) print(format(11, ‘n‘ )) # 和d?样 print(format(11)) # 和d?样
科学计算法:
print(format(123456789, ‘e‘ )) # 科学计数法. 默认保留6位小数 print(format(123456789, ‘0.2e‘ )) # 科学计数法. 保留2位小数(小写) print(format(123456789, ‘0.2E‘ )) # 科学计数法. 保留2位小数(大写) print(format(1.23456789, ‘f‘ )) # 小数点计数法. 保留6位小数 print(format(1.23456789, ‘0.2f‘ )) # 小数点计数法. 保留2位小数 print(format(1.23456789, ‘0.10f‘)) # 小数点计数法. 保留10位小数 print(format(1.23456789e+3, ‘F‘)) # 小数点计数法. 很大的时候输出 INF
bytes() 把字符串转换成byte类型
s = ‘你好‘ bs = s.encode("utf-8") print(bs) bss= bs.decode(‘utf-8‘) print(bss) bs = bytes(s,encoding=‘utf-8‘) #把字符串编码成utf-8 print(bs)
bytearray() 返回一个新字节数组,这个数字里的元素是可变的,并且每个元素的值得范围是(0,256)
ret = bytearray("alex" ,encoding =‘utf-8‘) print(ret[0]) #结果是97 print(ret) #结果是bytearray(b‘alex‘)
ret = bytearray(‘alex‘,encoding=‘utf-8‘) print(ret[0]) #97 ret[0] = 65 print(str(ret)) #bytearray(b‘Alex‘)
memoryview() 查看bytes在内存中的情况
s = memoryview(‘马化腾‘.encode(‘utf-8‘)) print(s) #结果是<memory at 0x000001269C0DE048>
ord():输入字符找带字符编码的位置
print(ord(‘a‘)) # 97, 返回字母a在编码表中的码位 print(ord(‘中‘)) # 20013 中国的中字在编码表中的位置
chr():输入位置数字找出对应的字符
print(chr(65)) # 已知码位. 计算字符 print(chr(20018))
ascii():是ascii码中的返回该值,不是就返回/u
print(ascii(‘中‘)) #‘\u4e2d‘ print(ascii(‘a‘)) #‘a‘
repr():返回一个对象的string形式:
repr():就是原封不动的输出,引号和转义字符都不起作用
print(repr(‘大家好,\t \n我叫住结论‘))#‘大家好,\t \n我叫住结论‘ print(‘大家哈,我是周杰伦‘)# 大家哈,我是周杰伦
%s 原封不动的写出来
name = ‘taibai‘ print(‘我叫%s‘ % name) #我叫taibai
数据相关:
dict():创建一个字典
set():创建一个集合
frozenset():创建一个冻结的集合,冻结的集合不能进行添加和删除操作
13. 其他相关:
len():返回一个对象中的元素个数
sorted():对可迭代对象进行排序操作
enumerated():获取结合的枚举对象.
lst= [‘alex‘,‘wusir‘,‘taiai‘] for index, el in enumerate(lst): print(str(index)+el)
all():可迭代对象中全部是ture,结果才是ture
any():可迭代对象中有一个是ture,结果就是ture
print(all([1,2,True,0])) #false print(any([1,2,True,0])) #ture
zip():函数用于将可迭代的对象作为参数,将对像中对应的元素打包成一个个元祖,然后返回有这些元祖组成的开了表,如果各个迭代器的元素个数不一致则返回的列表长度与最短的相同.
lst = [1,2,3] l2 = [‘a‘,‘b‘,‘c‘,5] l3 = [‘*‘,‘**‘,(1,2,3)] for i in zip(lst,l2,l3): print(i) ‘‘‘ (1, ‘a‘, ‘*‘) (2, ‘b‘, ‘**‘) (3, ‘c‘, (1, 2, 3))
标签:文件句柄 index compile hash name 失败 ice 默认 个数
原文地址:https://www.cnblogs.com/gyh412724/p/9338645.html