类——创建和使用类

class Dog():
    '''一次模拟小狗的简单尝试'''               #文档字符串,对这个类的功能进行描述

    def __init__(self,name,age):
        '''初始化属性:name和age'''

        self.name = name
        self.age = age

    def sit(self):
        '''模拟小狗被命令时,蹲下'''

        print(self.name + '  is  now  sitting.')

    def roll_voer(self):
        '''模拟小狗被命令时,打滚'''

        print(self.name + '  rolled  voer.')

my_dog = Dog('小白',6)

print('小狗的名字是:  ' + my_dog.name)     #访问属性
print('小狗的年龄是:  ' + str(my_dog.age))     #访问属性

#--------------------------------------------------------------------

my_dog.sit()           #调用方法
my_dog.roll_voer()           #调用方法

#----------------------------------------------------------------------

#创建多个实例

your_dog = Dog('小黄',8)
print(your_dog.name + '   ' + str(your_dog.age))
your_dog.sit()           #调用方法
your_dog.roll_voer()           #调用方法

#-------------------------------------------

her_dog = Dog('小花',6)
print(her_dog.name + '   ' + str(her_dog.age))
her_dog.sit()           #调用方法
her_dog.roll_voer()           #调用方法

=============================================================================


执行结果:


小狗的名字是:  小白
小狗的年龄是:  6
小白  is  now  sitting.
小白  rolled  voer.


小黄   8
小黄  is  now  sitting.
小黄  rolled  voer.


小花   6
小花  is  now  sitting.
小花  rolled  voer.



========================================================================================




注意:

(一)python中,首字母大写的名称指的是类,这个类定义中括号是空的,因为我们要从空白创建这个类

(二)方法  _int_  :

    这是一个特殊的方法,每当我们根据Dog类创建新实例时,python都会自动运行它。


    方法 _int_ 定义了3个形参:self,name,age  。注意:self必不可少,必须位于其它形参的前面,

    因为python调用 _int_ 这个方法来创建Dog实例时,将自动传入实参self

    每个与类相关联的方法调用 都自动传递实参self。它是一个指向实例本身的引用,让实例能否访问类中的属性和方法。

    
    PS:我们创建Dog实例时,python将调用Dog类的方法 _int_ ,我们将通过实参向Dog()传递名字和年龄;

        self会自动传递,因此我们不必传递它。

        每当我们根据Dog类创建实例时,都只需给最后两个形参(name,age)提供值。


(三)以self为前缀的变量  都可供给  类中的所有方法使用,我们还可以通过类的任何实例来访问这些变量。      

     
      self.name = name 获取存储在形参name中的值,并将其存储到变量name中,然后该变量被关联到前面创建的实例。

  
      像这样可通过实例访问的变量,称为  属性。


(四)两个方法,不需要额外的信息,如name或者age;因此它们只有一个形参self。创建的实例能够访问这些方法。



(五)访问属性:要访问实例的属性,可以使用句点表示法;

(六)调用方法:根据Dog类创建实例后,可以使用句点表示法调用Dog类中定义的任何方法。
posted @ 2019-12-18 16:09  小白龙白龙马  阅读(418)  评论(0编辑  收藏  举报