1.一个简单的类
__init__()是一个特殊的方法,每当根据Dog类创建新的实例时,Python都会自动运行它。形参self是必不可少的,且不用手动为它传递实参。self为前缀的变量可以供类中的所有方法使用,我们称之为属性。
【实例】:
class Dog: def __init__(self): self.name = 'kkll' self.age = 3 my_dog = Dog() print(my_dog.name,my_dog.age)
【运行结果】:
kkll 3
我们接下来手动为类中的属性传递值。
【实例】:
class Dog: def __init__(self,name,age): self.name = name self.age = age my_dog = Dog('wawa',5) print(my_dog.name,my_dog.age)
【运行结果】:
wawa 5
2.类的方法
【实例】:
class Dog: def __init__(self,name,age): self.name = name self.age = age def bark(self): print(f"{self.name} bark !") my_dog = Dog('wawa',5) my_dog.bark()
【运行结果】:
wawa bark !
3.继承
一个类继承另一个类时,将自动获得另一个类的所有属性和方法。原有的类称为父类,而新类称为子类。子类继承了父类的所有属性和方法,同时还可以定义自己的属性和方法。在创建子类时,父类必须包含在当前文件中,且位于子类前面。
Dog类中的super().__init__()是调用父类的初始化函数。(构造方法?)
【实例】:
class Animal: def __init__(self,name,age): self.name = name self.age = age def eat(self): print(f"{self.name} can eat.") class Dog(Animal): def __init__(self,name,age): super().__init__(name,age) my_dog = Dog('wawa',5) my_dog.eat()
【运行结果】:
wawa can eat.
4.给子类添加属性和方法
为Dog子类添加kind_dog属性和bark方法。
【实例】:
class Dog(Animal): def __init__(self,name,age,kind): super().__init__(name,age) self.kind_dog = kind def bark(self): print(f"{self.name} can bark!")
5.重写方法
重写Animal父类中的eat()方法。
【实例】:
class Animal: def __init__(self,name,age): self.name = name self.age = age def eat(self): print(f"{self.name} can eat.") class Dog(Animal): def __init__(self,name,age,kind): super().__init__(name,age) def eat(self): print(f"{self.name} can eat quickly!") my_dog = Dog('wawa',5,'泰迪') my_dog.eat()
【运行结果】:
wawa can eat quickly!
o(* ̄▽ ̄*)ブ 感谢观看,希望对你有帮助!
标签:__,name,Python,self,Dog,dog,age From: https://www.cnblogs.com/yihong-song/p/16823763.html