1: locals() 查找当前作用域中的内容 globals() 查找全局作用域中的内容
2: range(起始位置, 结束位置 ,步长) 累似切片取值
3: lst = ["大阳哥", "喜欢", "私密的徒步"]
it = iter(lst)
print(it.__next__())
print(next(it)) ====>功能和 __next__功能是一样的
4: print("李嘉诚", "黄花菜", "马云", sep="*", end="大阳哥") # seperator是中间项,打印效果而已,不能用作处理 input(交互,输入提示语)
5: a= '高永杰' print(hash(a)) 算出来的值有正负这个就是负的 (1) 目的是唯一性 (2) dict 查找效率非常高, hash表.用空间换的时间 比较耗费内存
6: name = input("请输入你要导入的模块:")
__import__(name) ======>可以动态导入模块
7: help() ======>括号里要输入你要查询的类型 推荐使用 ctrl+单击 可以更加方便的查找你要了解的内置函数
8: print(dir(str)) ======> 可以查询函数的内置功能
9: a = 11.25 print(type(a)) ======> 可以查询变量的类型
10: print(bin(3)) ====>0b11 ===>十进制转二进制 print(oct(8)) ===>0o10 ===>十进制转八进制
print(10) ====> 十进制 print(hex(16)) ===>0x10 ===>十进制转十六进制
11: a = 10 print(callable(a)) =====>判断一个变量名或者函数名能否被调用
12: print(abs(-2)) ==>求绝对值无视正负 print(divmod(20,3)) # 求商和余数 ===>打印的是20/3的商和余数 print(round(4.50)) ===>打印的是个整数,4舍5入
13: print(sum([1,2,3,4,5,6,7,8,9,10],666)) ====>求和,可以是两个数, 也可以求可迭代的对象和与两一个数字相加的和
print(pow(10,2,3)) =====> 如果给了第三个参数. 表示最后取余数
14: lst = "你好啊"
it = reversed(lst) # 不会改变原列表. 返回一个迭代器, 设计上的一个规则
print(list(it))
15 lst = [1, 2, 3, 4, 5, 6, 7] print(lst[1:3:1]) 效果和后者一样 s = slice(1, 3, 1) print(lst[s])
16: print(repr(name)) ====> 原样输出,过滤掉转义字符 \n \t \r 不管百分号,占位符
17; print(ord('a')) # 97, 返回字母a在编码表中的码位 print(chr(65)) # 已知码位. 计算字符
print(ord('中')) # 20013 中国的中字在编码表中的位置 print(chr(20018))
18: print(ascii("房")) 判断是否在ascii中
19: s = "李嘉诚的爸爸" a = s.encode("UTF-8") 用utf-8编码 print(a.decode("utf-8"))用utf-8编码
20: ret = bytearray("alex" ,encoding ='utf-8') print(ret[0]) ===>将单个的字节孤立串联起来,可以按所以修改,修改英文不会出错,修改其他语会出错
21: s = memoryview("麻花藤".encode( "utf-8")) # 查看内存
print(s)
22: print(any()) 括号内的元素有一个为真,打印结果就为真 print(all()) 括号内的元素都为真,打印结果才为真
23: lst = ["蛋1", "蛋2", "蛋3", "蛋4"]
for index, el in enumerate(lst, 1): ===> 通过解构把索引和元素一起获取,索引默认从0开始. 可以更改
print(el) print(index)
24: lst1 = ["施瓦辛格", "泰达米尔", "阿米尔汗", "威震天"]
lst2 = ["终结者", "英雄联盟", "我的个神啊", "变形金刚"]
lst3 = [10000000, 3, 10, 55,66]
for el in zip(lst1, lst2, lst3):
print(el) ====>zip()会依据最短的列表来进行匹对
25;
# 字符串串
print(format('test', '<20')) # 左对齐
print(format('test', '>20')) # 右对齐
print(format('test', '^20')) # 居中
# 数值
print(format(3, 'b')) # 二进制
print(format(97, 'c')) # 转换成unicode字符
print(format(11, 'd')) # 十进制
print(format(11, 'o')) # 八进制
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+10000, 'F')) # 小数点计数法.
26: eval() 执行字符串类型的代码. 并返回最终结果 如: print(eval("2+2")) ===> 4 n = 8 print(eval("2+n")) ===>10
exec() 执行字符串类型的代码
compile() 将字符串类型的代码变异. 代码对象能够通过exec语句来执行或者eval()进行求值
参数说明:
1. resource 要执行的代码, 动态代码片段
2. 文件名, 代码存放的文件名, 当传入了第一个参数的时候, 这个参数给空就可以了
3. 模式, 取值有3个,
1. exec: 功能比eval强大,如果字符串中包含函数的定义,或者逻辑代码,那么exec在去除字符串的引号后还能把代码运行完,代码内如有输出则显示输出结果
2. eval: 能把字符串内的包含的东西还原其本来的数字类型,例如字符串中包含函数名,可以用这个命令,eval只能返回一些简单的函数名,或者数字运算
3. single: resource存放的代码有交互的时候. mode应为single
code1 = "for i in range(10): print(i)"
c1 = compile(code1, "", mode="exec")
exec(c1)
code2 = "1+2+3"
c2 = compile(code2, "", mode="eval")
a = eval(c2)
print(a)
code3 = "name = input('请输⼊入你的名字:')"
c3 = compile(code3, "", mode="single")
exec(c3)
print(name)
有返回值的字符串形式的代码用eval(). 没有返回值的字符串形式的代码用exec(). 一般很少用到compile()