在python中,一切皆对象。对象的本质是id地址,类型,值,每个对象都占一个内存块。例如:a=3,a是变量,存在于栈内存,3是对象存在于堆内存,可以看做是变量通过id地址引用了对象。变量必须有初始化的地址,不能为空,当堆内存中的对象没有被引用时,将会被垃圾回收机制回收。
同一运算符:
is:用于判断两个变量引用的对象是否一致,看起来比较严格;
==:用于判断两个变量引用对象的值是否相等。
整数缓存问题:在pytorch中,如果要在>-5的区间创建两个一样的整数对象,在内存中只会创建一个对象,可以被多次引用。
字符串:
python中使用16位的Unicode编码,这可以表示任何一种语言,ASC2码是其子集,一个汉字占一个字符。
字符串的切片操作:[start:end:step] 可以正向提取,反向提取(step为负数)
split():字符串分割操作
join():将一系列字符串连接,可以指定用什么字符连接
字符串驻留机制:对于符合标识符命名的字符串,只需创建一个,可以被对个变量引用
列表:
列表与字符串基本相似,list操作可以将可迭代的数据转换成列表
range(start:end:step):可以创建整数列表
推导式生成列表:a=[x*2 for x in range(10) if x%3==0]
列表元素的增加方法:append(),extend(),insert()
二维列表:
a = [10,[],20] 每个一维列表都会纸箱整数或列表。