迭代:可实现循环。具有迭代协议,next()方法。
list结构复杂
该操作返回list 操作简便
返回可迭代对象 内存小 有next()指针
判断是否
可以遍历的对象具有迭代协议。含有__next__()方法。
有的具有迭代对象
全局next()
推导
l = [1,2,3,4,5]
res1 = [x for in l]
返回类型由[]决定
好乱没听懂,迭代部分
字符串乱码
pycharm要设置成下图
这样文件才能显示好中文
这个设置最好在刚安装完朋友pycharm时设置
在文件开写下注释
# -*- coding: utf-8 -*-
函数
why
为什么需要函数?
1.最大化代码重用 ,减少代码的写
2.减少反复出现的代码段
3.将过程分解,提升开发效率
定义
- def 函数名(参数1,。。。):
函数体
def a (x,y):
result = x+y
return result
def a(x): return x**2
- 调用
函数名(实际参数)
a(1,2)
a(1)
- 变量作用域
1.Built-in 内置 自定义函数,不要与内置函数重名
2.Global 全局
3.Enclousure 说明:nonlocal x
4.Local - 参数
传递:
1.不可变类型:传递副本给函数,函数内操作不影响原始值
2.可变类型:传递地址引用,函数内操作可能会影响原始值 - Lambda表达式
1.定义匿名函数
2.基本格式 :lambda参数1, …:函数体
- 高级工具
- map(函数,可迭代对象)
- filter(函数,可迭代对象)
包与模块管理
1.模块
2.指令
- import
- from
- importlib.reload(模块)
3.包
- init
4.why
- 代码重用
- 命名空间
- 实现数据或服务共享
5.步骤 - 找到模块文件
- 编译为字节码
- 运行模块文件
- 搜索范围
- 程序主目录
- 环境变量
- 标准库
- 扩展库
面向对象
1.步骤
- OOA面向对象分析
- OOD面向对象设计
- OOP面向对象编程
2.实现 - 分析对象特征行为
- 写类描述对象模板
- 实例化,模拟过程
- 特征
- 封装
- 继承
- 多态