4. 和迭代器/生成器相关
- range() 生成数据
- next() 迭代器向下执行一次, 内部实际使?用了__ next__()?方法返回迭代器的下一个项目
- iter() 获取迭代器, 内部实际使用的是__ iter__()?方法来获取迭代器
ss="dp-xml">ss="alt">for i in range(15,-1,-5): ss=""> print(i) ss="alt"># 15 ss=""># 10 ss="alt"># 5 ss=""># 0 ss="alt">ss="attribute">lst = [1,2,3,4,5] ss="">ss="attribute">it = ss="attribute-value">iter(lst) # __iter__()获得迭代器 ss="alt">print(it.__next__()) #1 ss="">print(next(it)) #2 __next__() ss="alt">print(next(it)) #3 ss="">print(next(it)) #4
5. 字符串类型代码的执行- eval() 执行字符串类型的代码. 并返回最终结果
- exec() 执行字符串类型的代码
- compile() 将字符串类型的代码编码. 代码对象能够通过exec语句来执行或者eval()进行求值
ss="dp-xml">ss="alt">ss="attribute">s1 = ss="attribute-value">input("请输入a+b:") #输入:8+9 ss="">print(eval(s1)) # 17 可以动态的执行代码. 代码必须有返回值 ss="alt">ss="attribute">s2 = ss="attribute-value">"for i in range(5): print(i)" ss="">ss="attribute">a = ss="attribute-value">exec(s2) # exec 执行代码不返回任何内容 ss="alt"> ss=""># 0 ss="alt"># 1 ss=""># 2 ss="alt"># 3 ss=""># 4 ss="alt">print(a) #None ss=""> ss="alt"># 动态执行代码 ss="">exec(""" ss="alt">def func(): ss=""> print(" 我是周杰伦") ss="alt">""" ) ss="">func() #我是周杰伦
ss="dp-xml">ss="alt">ss="attribute">code1 = ss="attribute-value">"for i in range(3): print(i)" ss="">ss="attribute">com = ss="attribute-value">compile(code1, "", ss="attribute">mode=ss="attribute-value">"exec") # compile并不会执行你的代码.只是编译 ss="alt">exec(com) # 执行编译的结果 ss=""># 0 ss="alt"># 1 ss=""># 2 ss="alt"> ss="">ss="attribute">code2 = ss="attribute-value">"5+6+7" ss="alt">ss="attribute">com2 = ss="attribute-value">compile(code2, "", ss="attribute">mode=ss="attribute-value">"eval") ss="">print(eval(com2)) # 18 ss="alt"> ss="">ss="attribute">code3 = ss="attribute-value">"name = input('请输入你的名字:')" #输入:hello ss="alt">ss="attribute">com3 = ss="attribute-value">compile(code3, "", ss="attribute">mode=ss="attribute-value">"single") ss="">exec(com3) ss="alt">print(name) #hello
6. 输入输出- print() : 打印输出
- input() : 获取用户输出的内容
ss="dp-xml">ss="alt">print("hello", "world", ss="attribute">sep=ss="attribute-value">"*", ss="attribute">end=ss="attribute-value">"@") # sep:打印出的内容用什么连接,end:以什么为结尾 ss="">#hello*world@
7. 内存相关hash() : 获取到对象的哈希值(int, str, bool, tuple). hash算法:(1) 目的是唯一性 (2) dict 查找效率非常高, hash表.用空间换的时间 比较耗费内存
ss="dp-xml">ss="alt">ss="attribute">s = ss="attribute-value">'alex' ss="">print(hash(s)) #-168324845050430382 ss="alt"> ss=""> ss="alt">ss="attribute">lst = [1, 2, 3, 4, 5] ss="">print(hash(lst)) #报错,列表是不可哈希的 ss="alt">id() : 获取到对象的内存地址 ss=""> ss="alt"> ss="">ss="attribute">s = ss="attribute-value">'alex' ss="alt">print(id(s)) #2278345368944
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- macOS 实用工具
- GUI Python图形用户界面- tkinter
- 使用sublime打造一个终极版的Python开发编辑环境
- Python密码学编程:文件的加密与解密
- GUI 什么是Python 的图形界面编程?你了解了吗
- Python之PyCharm永久性激活教程
- Python3.8的新增特性
- 带你认识Python中黑客喜欢攻击的10个安全漏洞以及应对方法
- 教你用Python实现截图和文字识别,就是这么简单
- Python中多线程和多处理的初学者指南