再读这本书,才发现自己当时是囫囵吞枣。利用这段时间,认真阅读,学习,每一行代码都手敲或写一遍,落实python的基础。
第三章 python基础
变量赋值
赋值操作符
在python中,对象是通过引用传递的。在赋值时,不管这个对象是新创建的,还是已经存在的,都是将对该对象的引用(并不是值)赋值给变量。
多重赋值
例:
1 | x = y =z = 1 |
输出:
1, 1, 1
在上面的例子,一个值为 1 的整数对象被创建,该对象的同一个引用被赋值给x,y和z。也就是将一个对象赋值给多个变量。
多元赋值
python的多元赋值方式可以实现无需中间变量交换两个变量的值。
例:
1 | x, y = 1, 2 |
输出:
1 | 1, 2 |
标识符
合法的python标识符
- 第一个字符必须是字母或下划线(_)
- 剩下的字符可以是字母和数字或下划线
- 大小写敏感
专用的下划线标识符
- 以单一下划线开头的变量(
_x
)不会被from moudle import *
语句导入。 - 前后有双下划线的变量名(
__x__
) 是系统定义的变量名,对python解释器有特殊意义。 - 以两个下划线开头但结尾没有下划线的变量名(
__x
)是类的本地变量。 - 在交互模式下,变量名”
_
“用于保存最后表达式的结果。
内存管理
python中不但变量名无需事先声明,而且也无需类型声明
第四章 python对象
python对象
- python使用对象模型来存储数据,构造任何类型的值都是一个对象。
- 所有的python对象都拥有三个特性:身份、类型和值
- 除了值以外,其他两个特性都是只读的。
- python用句点(
.
)标记法来访问属性。
标准类型
- 数字
- Integer 整型
- Boolean 布尔型
- Long integer 长整型
- Floating point real number 浮点型
- Complex number 复数型
- String 字符串
- List 列表
- Tuple 元组
- Dictionary 字典
其他内建类型
- 类型
- Null对象(None)
- 文件
- 集合(set)/固定集合(frozenset)
- 函数/方法
- 模块
- 类
所有类型对象的类型都是type
标准类型操作符
- 所有的内建类型均支持比较运算,比较运算返回布尔值True或False。
- 数字类型根据数值的大小和符号比较,字符串按照字符序列值进行比较等。
- 不同于很多语言,多个比较操作可以在同一行上进行,求值顺序为从左到右。
- python提供
is
和is not
操作符来测试两个变量是否指向同一个对象。
标准类型内建函数:
函数 | 功能 |
---|---|
cmp(obj1,obj2) | 比较obj1和obj2,结果返回整型i |
repr(obj)或`obj` | 返回一个对象的字符串表示 |
str(obj) | 返回对象适合可读性好的字符串 |
type(obj) | 得到一个对象的类型,并返回响应的tyoe对象 |
1 |
|
类型工厂函数
- int(), long(), float(), comlex()
- str(), unicode(), basestring()
- list(), tuple()
- type()
- dict()
- bool()
- set(), frozenset()
- object()
- classmethod()
- staticmethod()
- super()
- property()
- file()
标准类型的分类
所有python的容器对象都能够容纳不同类型的对象。
标准类型分类
数据类型 | 存储模型 | 更新模型 | 访问模型 |
---|---|---|---|
数字 | 标量 | 不可更改 | 直接访问 |
字符串 | 标量 | 不可更改 | 顺序访问 |
列表 | 容器 | 可更改 | 顺序访问 |
元组 | 容器 | 不可更改 | 顺序访问 |
字典 | 容器 | 可更改 | 映射访问 |
第五章 数字
有关复数的几个概念
- 虚数不能单独存在,他们总是和一个值为0.0的实数部分一起来构成一个复数
- 复数由实数部分和虚数部分构成
- 表示虚数的语法: real + imagj
- 实数部分和虚数部分都是浮点型
- 虚数部分必须有后缀j和J