类就是说一类事物共有的特征,例如狗类的蹲下与打滚,狗类有着姓名和年龄,下面开始创建Dog类
class Dog:
"""一次模拟小狗的尝试"""
def __init__(self,name,age):
"""初始化属性name和age"""
self.name = name
self.age = age
def sit(self):
"""模拟小狗收到命令时蹲下"""
print(f"{self.name} is now sitting")
def roll_over(self):
"""模拟小狗收到命令时打滚"""
print(f"{self.name} roll over!")
my_dog = Dog('Mike',7)
your_dog = Dog('lucy',9)
print(f"My dog's name is {my_dog.name}.")
print(f"My dog is {my_dog.age} years old.")
my_dog.sit()
my_dog.roll_over()
print(f"Your dog's name is {your_dog.name}.")
print(f"Your dog is {your_dog.age} years old.")
your_dog.sit()
第一行,定义了一个名为Dog的类,一般将首字母大写,注意此处没有圆括号()
下面一般接着对类进行简要描述
接下来的def与函数一样,在类中称为方法,注意方法__init__()是两个下划线,旨在避免默认方法与普通方法的冲突,此方法负责对象的初始化。新建的实例以及其中的参数会交给这个方法执行,例如我们将狗(实例)my_dog,它的参数为名字Mike年龄为7,交给了def __init__(self,name,age):的后两个,而前面的self则是指(实例)my_dog
下面来到两行self.name,self.age 此处表示从(实例)my_dog里面的name(Mike)与age(7),赋予了self的基本属性name,age
def sit(self):与def roll_over(self):是Dog类定义的两个方法,下面创建的实例my_dog就会使用这两个方法(方法的调用),使用的语法则是my_dog.sit()
print(f"My dog's name is {my_dog.name}.")
这一行my_dog.name则是访问实例的属性
也可以创建多个实例,如下面的lucy
注意对应关系
def __init__(self,name,age):
"""初始化属性name和age"""
self.name = name
self.age = age
def __init__(self,n,a):
"""初始化属性name和age"""
self.name = n
self.age = a