数据类型:
list list1=[‘ ’,’’, ’ ’] L[0]
tuple 元组 一旦初始经,就不可更改 T[0]
set Set和Dict类似,但只有Key,用list存入。
dict: dict1 = { ‘ xx ’ : xx , ‘ xx ’: xx}
list 可变的有序表,数据类型可以不一致。
l.append()
l.insert()
l.pop()
dict:用空间为换取时间的一种方法。
Eg. My_Dict={‘key1’: value1, ‘key2’: value2, ...}
Key 是不可变对象。(字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key)
无论dict表变得多大,查询速度都不会变慢。而List相反。
in
d.get
d.pop
In
无论这个表有多大,查找速度都不会变慢。List越大,查找越慢
SET
s.add()
s.remove(key)
不变对象:字符串
可变对象:LIST
对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的
格式化输出
%s
%r
%d
关于面向对象编程:
对象
class Classname(object):
def __init__(self , parameter2 , parameter3 , ...)
self.parameter2 = p2
self.parameter3 = p3
在Python中,实例的变量名如果以双下划线(__)开头,就变成了一个私有变量(private)。
在Python中,变量名类似__xxx__的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的,不是private变量。
可以通过类名_变量名 _Student__name来访问私有变量 __name变量:
判断一个变量是否是某个类型可以用isinstance(my, list )
对象——获取信息
isinstance()
type()
dir() //获取所有属性和方法
hasattr() getattr() setattr() 判断、获得、设置属性
eg. setattr(obj, ‘y’, 20)
给实例绑定数据,给实例绑定方法
from types import MethodType
s.set_age = MethodType(set_age, s, Student)
给class绑定方法,适用于所有实例
Student.set_score = MethodType(set_score, None, Student)
__slot__: tuple变量定义允许绑定属性的范围