2、第六 - 定义类的实例和对象
面向对象类的实例定义
1、self代表类的实例,而非类:
类的方法(类函数)与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值(self)。这个特别的变量指对象本身,按照惯例它的名称是self。
如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)。
使用 class 语句来创建一个新类,class 之后为类的名称并以冒号结尾:
class ClassName: '类的帮助信息' #类文档字符串 class_suite #类体
类的帮助信息可以通过ClassName.__doc__查看。
class_suite 由类成员,方法,数据属性组成。
实例:
class dog: def name(self): print “Hello master,my name is Python” D = dog() #将类赋给 D 这个变量 D.name() #引用dog类下面的name方法 输出 >>>Hello master,my name is Python
2、类的实例化:
__init__ 对类进行实体初始化
举例:
class dog:
def __init__(self,name):
self.DogName = name #必须赋值self,否则类中其它函数无法调用
def action(self):
print (self.DogName,",Wang !!!!")
D = dog("PyThon") #传入name的值
D.action() #调用动作
输出:
PyThon ,Wang !!!!
class Person:
def __init__(self,Type,Sex,Age,Name): #初始化函数
self.race = Type
self.sex = Sex
self.age = Age
self.name = Name
def talk(self,msg=0): #编写函数调用
self.msg = msg
if self.msg != 0:
print (self.name,"Saying:",self.msg)
P = Person('Black','Female','25','Jack') #调用类
P.talk('Hello, my name is %s ' % P.name) #调用类下的函数
P.talk('En,Age is %s' % P.age) #调用类下的函数
输出:
Jack Saying: Hello, my name is Jack
Jack Saying: En,Age is 25
人有傲骨终不贱,脚踏实地见真章;
超出预期为工作,价值体现显能力。
浙公网安备 33010602011771号