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类中定义的任何方法。