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

 

posted on 2018-02-08 16:04  C.Q&CHEN  阅读(196)  评论(0)    收藏  举报

导航