Python的类
定义:
Class ClassNane:
语句块
- 必须使用class关键字
- 类名必去用大驼峰命名
- 类定义完了以后,就产生了一个类对象,绑定到了类标识符ClassName上
举例:
class MyClass:
pass
类对象及类属性
- 类对象:类的定义执行后会生成一个类对象
- 类的属性:类定义中的变量和类定义中的方法都是类的属性
- 类变量:上例中x是MyClass的变量
class MyClass:
”’A example of Class”’
x=’abc’
def foo(self):
print(‘foo method’)
MyClass中,x、foo都是类的属性,__doc__也是类的特殊属性
foo方法是类的属性,如同吃是人的方法,但是每一个具体的人才能吃东西,也就是说吃是人的实例能调动的方法。
foo是方法method,本质上就是普通的函数对象function,它一般要求至少有一个参数。第一个形式参数可以是self(self只是一个惯例标识符,可以换名字),这个参数位置就留给了self。
实例化
a=MyClass() #实例化
使用上面的语法,在类对象名称后面加上一个括号,就调用类的实例化,完成实例化。
实例化就是真正创建一个该类的对象(实例)例如:
tom=Person()
jerry=Person()
上面的tom、jerry都是Person类的实例,通过实例化生成了2个实例。
每次实例化后获得的实例都是不同的实例,即使是使用同样的参数实例化,也得到不一样的对象。
Python实例化后,会自动调用__init__方法。这个方法第一个形式参数必须留给self,其他参数随意。
class Person:
def __init__(self,name,age):
self.name=name
self.age=age
def showage(self):
print(self.age,self.name)
t=Person(‘tom’,20)
j=Person(‘jerry’,18)
t,j
__init__方法
MyClass()实际上调用的是__init__(self)方法,可以不定义,如果没有定义,会在实例化后隐式调用。
作用:对实例化进行初始化