def func(): a = 10 print(locals()) # 当前作用域中的内容 print(globals()) # 全局作用域中的内容 print("今天内容很简单") func() for i in range(20,15,-3): print(i) lst = ["大阳哥", "喜欢", "私密的徒步"] it = iter(lst) # __iter__() print(it.__next__()) print(next(it)) # __next__() print(next(it)) print(next(it)) print("李嘉诚", "黄花菜", "马云", sep="*", end="大阳哥") # seperator input("提示语") hash算法: 目的是唯一性 dict 查找效率非常高, hash表.用空间换的时间 比较耗费内存 s = "大阳哥" print(hash(s)) a = 12 print(hash(a)) lst = [1,2,3,4,5,6,7] # print(hash(lst)) # 列表是不可哈希的 print(hash((1,))) print(hash("呵呵")) print(hash("哈哈")) 让用户输入一个要导入的模块 import os name = input("请输入你要导入的模块:") __import__(name) # 可以动态导入模块 print(help(str)) print(dir(str)) a = 11.25 print(type(a)) bin() 把一个十进制的数, 转换成二进制 print(bin(10)) # 二进制 print(hex(10)) # 十六进制 print(oct(10)) # 八进制 a = 10 print(callable(a)) def func(): print("马化腾") print(callable(func)) # 函数是可以被调用的 s = input("请输入a+b:") print(eval(s)) # 可以动态的执行代码. 代码必须有返回值 s = "25*4" a = eval(s) # 运算 print(a) s = "for i in range(10): print(i)" a = exec(s) # exec 执行代码不返回任何内容 print(a) 动态执行代码 exec(""" def func(): print(" 我是周杰伦") """ ) func() code1 = "for i in range(10): print(i)" com = compile(code1, "", mode="exec") # compile并不会执行你的代码.只是编译 exec(com) # 执行编译的结果 code2 = "5+6+7" com2 = compile(code2, "", mode="eval") print(eval(com2)) code3 = "name = input('请输入大阳哥的名字:')" com3 = compile(code3, "", mode="single") exec(com3) print(name) print(abs(-2)) # 绝对值 print(abs(2)) print(divmod(20,3)) # 求商和余数 print(round(4.50)) # 五舍六入 => 四舍五入 print(pow(10,2,3)) # 如果给了第三个参数. 表示最后取余 print(sum([1,2,3,4,5,6,7,8,9,10])) # 求和 lst = "你好啊" it = reversed(lst) # 不会改变原列表. 返回一个迭代器, 设计上的一个规则 print(list(it)) lst = [1, 2, 3, 4, 5, 6, 7] print(lst[1:3:1]) s = slice(1, 3, 1) # 切片用的 print(lst[s]) name = "你好. 我叫%s周润发" % "李嘉诚" print(name) print(repr(name)) # 原样输出,过滤掉转义字符 不管百分号 print(ord('a')) # 97, 返回字母a在编码表中的码位 print(ord('中')) # 20013 中国的中字在编码表中的位置 print(chr(65)) # 已知码位. 计算字符 print(chr(20018)) for i in range(65536): print(chr(i), end=" ") print(ascii("房")) s = "李嘉诚的爸爸" a = s.encode("UTF-8") print(a) print(a.decode("GBK")) bs = bytes("大阳哥今天很厉害", encoding="utf-8") print(bs.decode("utf-8")) ret = bytearray("alex" ,encoding ='utf-8') print(ret[0]) ret[0] = 65 print(str(ret)) s = memoryview("麻花藤".encode( "utf-8")) # 查看内存 print(s)
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 lst = ["蛋1", "蛋2", "蛋3", "蛋4"] for i in range(len(lst)): print(i) print(lst[i]) for index, el in enumerate(lst, 100): # 把索引和元素一起获取,索引默认从0开始. 可以更改 print(index) print(el) print(any([0, "哈哈", "馒头", True])) lst1 = ["施瓦辛格", "泰达米尔", "阿米尔汗", "威震天"] lst2 = ["终结者", "英雄联盟", "我的个神啊", "变形金刚"] lst3 = [10000000, 3, 10, 55,66] for el in zip(lst1, lst2, lst3): print(el)