一 常见内置函数
1.1 数据类型相关
int() float() str() list() dict() bool() tuple() set()
1.2 进制数相关
bin() 十进制转二进制 oct() 十进制转八进制 hex() 十进制转十六进制
1.3 数学运算相关
abs() 绝对值 max() min() sum() sound() 四舍五入 dinmod() 求整数和余数 pow() 幂次方
1.4 其他
global() local() all() any() bytes() callable() enumerate() 枚举 isinstance() 判断类型 sorted() 排序 reversed() 反转
二 可迭代对象
含有__iter__方法的都叫可迭代对象,常见可迭代对象有str,list,dict,tuple,set和代开的文件。
三 迭代器对象
含有__iter__和__next__方法的就是可迭代对象,可迭代对象调用__iter__方法后产生的就是迭代器对象,打开的文件本身就是一个迭代器对象,迭代器对象可以调用__next__方法产生值,调用一次产生一次,直到值取完抛出StopIteration异常。
四 生成器对象
函数中包含关键字yield,第一次调用函数,函数体代码不会执行,而是产生一个生成器对象,具备__iter__ 和__next__方法。yield后可以跟返回值,也可以传参,还可以中止函数运行。
五 异常处理
程序运行过程中产生异常程序就会立刻终止。
- 基本语法
try: 换行缩进 被检测代码 换行except 异常类型 as e: 换行缩进 捕获到异常执行的代码 - 捕捉多个异常
可以用多个except捕获不同的异常类型,也可以使用万能捕获Exception 也可以和finally连用,最终都会执行finally中的代码。 - 主动抛出异常
raise,自定义异常,条件成立主动抛出异常。 - 断言
条件不成立,则抛出AssertionError异常。
六 模块相关
模块就是多种功能的集合体 模块分类:内置模块 自定义模块 第三方模块 模块形式:一个py文件 多个py文件组成的文件夹 导入模块的两种方式:import from import 两种导入方式的差异:import导入需要加前缀名,名字不会冲突,from import不需要加后缀名,名字容易产生冲突。 起别名:模块名过长或者不同模块中的名字一样都可以使用as起别名 一次导入多个:同一模块中导入多个可以用逗号隔开,导入不同模块写在不同行 一次导入所有:* 在模块中可以用__all__控制什么名字可以被用到。 循环导入:在名字还没加载到内存中就两两之间相互导入,找不到模块中的名字就会报错。 判断文件类型:执行文件的__name__返回的是__main__,模块文件返回的是模块名,可以用判断语句来控制当文件为执行文件是运行什么代码和被当作模块文件时运行什么代码。 模块的查找顺序:内存 >>> 内置 >>> sys.path 绝对导入:依据sys.path一层一层往下找,在pycharm中会自动将项目根目录加载到sys.path中。 相对导入:只实用在模块之间,不能再执行文件中使用, 包:文件夹下有__init__.py文件,在python2中必须有才能是包,在python3中有没有都是包,导入包其实是导入__init__.py中的名字。
七 软件开发目录规范
更好的管理项目代码 bin 启动文件夹 _start.py 也可放在根目录 conf 配置文件夹 _settings.py core 核心业务逻辑文件夹 _src.py db 数据问价夹 _db_handler.py interface 接口文件夹 _user_interface.py lib 公共方法文件夹 _common.py log 日志文件 readme.md 项目介绍文件 requirements.txt 要求文件
八 常见内置模块
- colections模块
nametuple 具名元组 deque 双端队列 Counter 计数器 OrderedDict 有序字典 defaultdict 默认值字典 - time模块
time.time() 获取时间戳 time.gmtime() 结构化时间 time.strftime(‘%Y-%m-%d %H:%M:%S’) 格式化时间 - datetime模块
datetime.datatime.now() datetime.datatime.today() datetime.timedelta - os模块
与操作系统打交道 os.mkdir() os.makedirs() os.rmdir() os.removedirs() os.listdir() os.remove() os.rename() os.getcwd() os.chdir() os.path.dirname() os.path.abspath() os.path.join() os.path.exists() os.path.isabs() os.path.isdir() os.path.isfile() os.path.getsize() - sys模块
导模块相关 sys.path sys.version os.platform - json模块
序列化也反序列化 json.dumps() 将数据类型转换成json格式 json.loads() 将json格式装换成对应数据类型 json.dump() 将数据类型转换成json格式并写入文件中 json.load() 将json格式从文件中读出来并返回对应数据类型
|