第二章 快速入门
- 算术操作符
- +、- 优先级最低
- *、/(传统除法)、//(浮点除法,对结果向下取整)、% 优先级第二
- ** 优先级最高
- 比较操作符
- <、 <=、 >、 >=、 ==、 !=、 <>,返回布尔值
- 逻辑操作符
- and、or、not,将任意表达式连接在一起,得到一个布尔值
- 数字
- 有符号整型
- 长整型
- 布尔值
- 浮点值
- 复数
- 有符号整型
- 字符串
- [],索引操作符
- [:],切片操作符
- +,字符串连接运算
- *,字符串重复
- 列表和元组
- 列表和元组,能保存任意数量任意类型的Python对象
- [],列表元素:元素的个数及元素的值可以改变
- (),元组元素:初始化后不可更改,元组可看成是只读的列表
- if语句
if expression: if_suit
- 如果表达式的值非0或者为布尔值True,则代码组if_suit被执行,否则就去执行下一条语句
- while循环
while expression: while_suit
- 语句while_suit会被连续不断地循环执行,直到表达式的值变成0或者False
- for循环
- python的for循环和其他语言的for循环不太一样,Python中的for接受可迭代对象。可结合range()和len()一起用于字符串索引
- 文件open()和file()
handle = open(file_name, access_mode = 'r')
- file_name变量包含我们要打开文件的字符串名字,access_mode添加的是文件的读取权限
- 'r’表示读取,'w’表示写入,'a’表示添加。
- '+'表示读写(r+, w+, a+)
- 'b’表示二进制访问(rb, wb, ab)
- 错误和异常
- try-except
- try:需要管理的代码
- except:报错后,处理错误的代码
- try-except
- 函数
- 调用之前必须先定义。如果函数中没有return语句,就会自动返回None对象
- 类
- 类是面向对象编程的核心,扮演相关数据及逻辑容器的角色
- 模块
- 模块是一种组织形式,将彼此有关系的Python代码组织到一个个独立的文件中
第三章 Python基础
-
语句和语法中一些基本规则和特殊字符
特殊字符 含义 # 注释 \n 换行符 : 将代码快的头和体分开 ; 将两个语句连接在一起(x = 1; y = 2) \ 继续上一行 -
变量赋值
- 赋值操作符,=
- 增量赋值
- 常用的增量赋值:+=、-=、*=、/=、%=、**=
- 用的比较少的增量赋值:<<=(左移)、>>=(右移)、&=(与)、^=(异或)、|=(或)
- 多重赋值
x = y = z = 1
- "多元"赋值
x, y, z = 'a', 'b', 'c'
-
标识符
- 标识符是计算机语言中允许作为名字的有效字符串集合
-
合法的Python标识符
- 必须以字母或下划线开头
- 剩下的字符可以是字母、数字或下划线
- 大小写敏感
-
关键字
-
内建,Python内部的一些函数接口,由解释器设置或使用
-
专用下划线标识符
- _xxx,不用’from module import *'导入,且是类中的私有变量名
- xx,系统定义的名字
-
基本风格指南
- 注释:尽可能简洁明了,并放在最合适的地方
- 文档:可通过__doc__特别变量,动态获得文档字串
- 缩进:为4个空格
- 选择标识符名称:使用简短易懂的好习惯
- 注释:尽可能简洁明了,并放在最合适的地方
-
内存管理
- Python的特性:变量无须事先声明;变量无须指定类型;不用关心内存管理;变量名会被"回收";del语句能直接释放资源
- Python中,对象的类型和内存占用都是运行时确定
- Python解释器承担了内存管理的负责任务,简化了应用程序的编写
- 引用计数
- 当对象被创建并引用赋值给变量时,该对象的引用计数就被设置为1
- 当对象的引用被销毁时,引用计数会减小
- del语句会删除对象的一个引用
- 立即收集
- 不再使用的内存会被垃圾收集的机制释放
- 垃圾收集器是一块独立代码,用来寻找引用计数为0的对象,也负责检查那些虽然引用计数大于0但也应该被销毁的对象
第四章 Python对象
- Python对象
- 用于存储数据,构造任何类型的值都是一个对象
- 标准类型
- 数字:Integer(整型)、Boolea(布尔型)、Long integer(长整型)、Floating porint real number(浮点型)、Complex number(复数型)
- 字符串:String
- 列表:List
- 元组:Tuple
- 字典:Dictionary
- 其他内建内型
- 类型(type)、Null对象(None)、文件、集合\固定集合、函数\方法、模块、类
- Null对象被称为特殊类型,只有一个值,为None
- 内部类型
- 代码对象,编译过的Python源代码片段,是可执行对象。可通过调用compile()得到代码对象。exec和eval()可执行代码对象
- 帧对象表示Python的执行栈帧。帧对象包含Python解释器在运行时所需要知道的所有信息
- 跟踪对象记录,当异常发生时,一个包含针对异常的栈跟踪信息的跟踪记录对象被创建。与报错时后台输出的信息和traceback.print_stack()相类似
- 切片对象,有内建函数slice()生成,也可以通过语法[:]来使用切片
- 省略对象,用于拓展切片语法,起记号作用
- XRange对象是range()的兄弟版本,用于需要节省内存使用或range()无法完成的超大数据集场合
- 标准类型操作符
- 对象值的比较
- 对象身份比较,is、is not
- 布尔类型,not、and、or
- 标准类型内建函数
- type(),接受一个对象作为参数,并返回它的类型
- str()和repr(),以字符串的方式获取对象的内容
- str()函数得到的字符串可读性好,而repr()函数得到的字符串通常可以用来重新获得该对象
- str()的输出对用户比较友好,repr()的输出对Python比较友好
- type()和isinstance():
- type(),返回任意Python对象类型
- isinstance(),判断参数是否为该类型
import operator a , b, c, = 4 , 6, 4 print(type(a)) print(isinstance(a, int)) """ 输出结果为: <class 'int'> True """
- 类型工厂函数
- Python统一了类型和类,所有内建函数都成了工厂函数
- 标准类型的分类
- 存储类型:数值、字符串、列表、元组、字典
- 更新模型:
- 可变类型:列表、字典
- 不可变类型:数字、字符串、元组
- 访问模型
- 直接访问:数字
- 顺序访问:字符串、列表、元组
- 影射:字典