【转载】: https://rc.mbd.baidu.com/yx1rnp1
1、python语言中,对象是通过引用传递的:
不管这个对象是新建的,还是已经存在,都是将该对象的引用赋值给变量
2、多元赋值,其实就是元组赋值:
x, y, z = 1, 2, 'string'
x, y = 1, 1
x, y = y, x (交换x和y的值)
3、默认编码和导入模块
a、python3的默认编码格式就是utf-8,utf-8是unicode的一种8位实现方式,查看默认编码sys.getdefaultencoding():
b、模块包导入:
from 车 import 水
import 车
4、时刻牢记
a、所有的模块都有能力来执行代码;
b、没有缩进的代码在被导入的时候就会执行,不管是否有被调用,所以为了安全,除了真的需要执行的代码,其他功能代码
都应该在函数中,通常只有主程序模块中有大量的顶级代码可执行,其他被导入的模块应该只有少量必须的顶级代码。
5、动态类型:
变量是没有类型的,而变量的引用对象是由类型的,所以python也是强类型语言,需要注意引用对象的类型。
6、变更跟踪
把对象的引用赋值给一个变量,那么在内存中对象的引用计数位1,增加一个变量,引用计数+1,删除一个变量,引用计数减一,如果对象的引用计数位0,python会有机制回收对象的内存。
7、异常处理:
8、对象的特性
9、对象身份比较:
10、isinstance() 和 type()
python中对象身份比较有2中,== 和is, 如果是引用的同一个对象,is和== 为True,
如果是不同对象,值相等,则== 为True,is 为False
11、标准类型分类
a、存储类型:
标量:原子类型、数值、字符串
容器类型:列表、元组、字典
b、更新类型:
可变类型:列表、字典
不可变类型:数字、字符串、元组
c、根据我们访问存储数据的方式进行分类,有三种:
直接访问:数字
顺序访问:字符串、列表、元组
映射访问:字典
d、映射类型类似序列的索引属性,不过他的索引并不是使用有序的偏移。
12、python的除法:
商为整数: a // b
商为浮点型: a / b
13、内建函数:
a、适用所有类型的内建函数:
abs(num) #返回num绝对值
coerce(num1,num2) #将num1和num2转成同一类型,然后以元组返回
divmod(num1,num2) #除法运算
pow(num1, num2) #取num1的num2次方
round(flt, ndig=0) #对一个flg浮点型四舍五入,保留ndig位小数
适用于整数的内建函数:
hex(num) #将数字转换成十六进制
oct(num) #将数字转换成八进制
chr(num) #将数字转成ASCII码
ord(c) #将ASCII码转成数字
unichr(num) #接受unicode码值,返回unicode字符
14、序列的切片