globals():返回一个字典,包含全部的全局变量
locals():返回一个字典,包含的是当前作用域的所有变量
b = 2 def func1(): a = 1 print(locals()) # {'a': 1} print(globals()) #{'__name__': '__main__', '__doc__': None, '__package__': None, '......} func1()
字符串类型代码的执行 eval,exec,complie
eval:执行字符串类型的代码,并返回最终结果
s1 = '1 + 2 +3' print(s1) #1 + 2 +3 s2 = "{'name' : 'ake'}" print(s2) #{'name' : 'ake'} print(eval(s1),type(eval(s1))) #6 <class 'int'> print(eval(s2),type(eval(s2))) #{'name': 'ake'} <class 'dict'>
exec:执行字符串类型的代码,不返回结果,代码流
s3 = '''for i in range(3): print(i) ''' print(exec(s3)) #0 1 2 3 None exec(s3) #0 1 2 3
input, print 输入输出相关:
input:函数接受一个标准输入数据,返回为string 类型
print:打印输出
print('666') #666 print(1,2,3,4,5) #1 2 3 4 5 print(*[1,2,3]) #1 2 3 打散成单个字符 print(1,2,3,sep='|') #1|2|3 sep打印多个内容,分隔符默认空格 print(1,end=',') print(233) #1,233 end默认换行
f = open('t1',encoding='utf-8',mode = 'w')
print(666,'777','888',file = f)
hash:获取一个对象(可哈希对象:int,str,Bool, tuple)的哈希值
id:获取该对象的内存地址
dic = {'name':'alex','dfsj;fljkksldfjd':'123'} print(hash('name')) print(hash('name1')) print(hash('sdslkdjfslkfj')) print(hash(1)) print(hash(1000))
字典:会将所有的key在内存中转化成id
文件操作相关:
open:函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写
模块相关__import__:函数用于动态加载类和函数
help:函数用于查看函数或木块用途的详细说明
name = 'ake' print(help(str))
打印出的是str的源代码以及应用
callable:函数用于检查一个对象是否是可调用的,如果返回True,object仍然可能调用失败,但如果返回的是False,调用对象object绝对不成功
name = 'ake' def func1(): pass print((callable(name))) #False print(callable(func1)) #True 可以被调用
dir:函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数是,返回参数的属性、方法列表,如果参数包含方法__dir__(),该方法将被调用,如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
name = 'ake' print(dir(name)) #可以看到所能被调用的方法
range:函数可创建一个整数对象,一般用在for循环中。
python2X:range(3)--->[0,1,2]列表
python3x:range(3)--->range(0,3)可迭代对象
next:内部实际使用了__next__方法,返回迭代器下一个项目
iter:函数用来生成迭代器(讲一个可迭代对象,生成迭代器)
数字相关:
bool:用于将测定参数转换为布尔类型,如果没有参数,返回False
print(bool(1<2 and 3>4 or 5<6 and 9>2 or 3>1)) #True print(bool('fdslsdjfl')) #True
int:函数用于讲一个字符串或数字转换为整型
print(int('123')) print(int(1.23)) #取整,不是四舍五入 print(int('0101',base=2)) #将二进制的0101,转化成十进制,结果为5
float:函数用于将整数和字符串转换成浮点数
print(type(3.14)) #<class 'float'>
complex: 函数用于创建一个值为real + imag * j的复数或者转化一个字符串或数为复数
如果第一个参数为字符串,则不需要指定第二个参数
bin:将十进制转换成二进制并返回
print(bin(100)) #0b1100100
oct:将十进制转化成八进制字符串并返回
print(oct(7)) #0o7 print(oct(8)) #0o10 print(oct(9)) #0o11
hex:将十进制转化成十六进制字符串并返回
print(hex(10)) #0xa print(hex(15)) #0xf print(hex(17)) #0x11
abs:函数返回数字的绝对值
print(abs(-100)) #100
divmod:计算出数与被除数的结果,返回一个包含商和余数的元祖
print(divmod(103,12)) #(8, 7) (商,余数)
例题:103 条数据,你每页显示12 条数据,最终显示多少页
print(divmod(103,12))
round:保留浮点数的小数位数,默认保留整数,如果后面设置要保留的位数,则四舍五入
print(round(3.141592653)) #3 print(round(3.141592653,4)) #3.1416
pow:求x**y次幂,如果是三个参数为x **y的结果对z取余
print(pow(2,5)) #32 print(pow(2,5,3)) #2是余数
sum:对可迭代对象进行求和计算(可设置初始值)
print(sum([1,2,3,4,100,101])) #211 print(sum([1,2,3,4,100],101)) #211 print(sum([int(i) for i in [1,'2',3,'4','100',101]])) #211
min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)
print(min([1,2,-3,4,-5])) #-5 print(min([1,2,-3,4,-5],key=abs)) #1
max:返回可迭代对象的最大值(可加key,key为函数名,通过函数的规则,返回最大值)
print(max([1,2,3,4,])) #4