Python基础 类
- 定义一个类
class Student(object):
pass
该类继承了object类,object类是所有类的基类。
- 创建类实例
bart = Student()
- 给实例动态绑定属性
bart.name = ‘Bart Simpson’
- 构造函数和初始属性
def __init__(self, name, score):
self.name = name
self.score = score
在类中定义的函数第一个参数永远是实例变量
self
,调用时,不用传递该参数
- 私有变量
def __init__(self, name, score):
self.__name = name
self.__score = score
变量名前加两个下划线__
,则为私有变量。
变量名类似
__xxx__
的是特殊变量,可以直接访问。
- 类的继承
class Dog(Animal):
pass
class Cat(Animal):
pass
- isinstance() 判断一个类是否某个类型或者其子类型
a = list() # a是list类型
b = Animal() # b是Animal类型
c = Dog() # c是Dog类型
isinstance(a, list)
isinstance(b, Animal)
isinstance(c, Dog)
isinstance(c, Animal)
- 判断对象类型
type(123)
type(123)==type(456)
type(‘abc’)==types.StringType
type(str)==types.TypeType
types模块存放了预定义的类型常量
str
是一种类型,类型本身的类型就是TypeType
dir()
获取对象的所有属性和方法,返回一个列表getattr()、setattr()以及hasattr()
用于获取对象属性、设置对象属性和判断对象是否拥有属性xxx方法
类似__xxx__
的属性和方法在Python中都是有特殊用途的。比如len()函数内部实际上调用了该对象的len方法