class Dog(object):
#object: dog类继承object类
def __init__(self,name,age,color):
#给dog类定义了name.color,age三个属性
self.name = name
self.age = age
self.color = color
def eat(self):
print(self.name,"啃骨头")
def run(self):
print(self.name,"飞快跑")
#实例化对象
dog = Dog("小黑",3,"白色") #隐式传递了self,实际上将dog传递给了self
print(dog.name)
1、类名首字母大写
2、_init_()方法是一个特殊的方法,每当你根据类创建新实例时,Python都会自动运行它。在这个方法的名称中,开头和末尾各有两个下划线,这是一种约定,旨在避免Python默认方法与普通方法发生名称冲突。
3、def __init__(self,name,age,color):
官方解释:在这个方法的定义中,形参self 必不可少,还必须位于其他形参的前面。因为Python调用这个__init__() 方法来创建实例时,将自动传入实参self 。每个与类相关联的方法调用都自动传递实参self ,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法
个人理解:固定写法,背下就行
4、def __init__(self,name,age,color):
self.name = name
self.age = age
self.color = color
定义的三个变量都有前缀self 。以self 为前缀的变量都可供类中的所有方法使用,我们还可以通过类的任何实例来访问这些变量。self.name = name 获取存储在形参name 中的值,并将其存储到变量name 中,然后该变量被关联到当前创建的实例
这个看起来可能比较抽象,换成下面这样就很容易理解了
def __init__(self,a,b,c):
self.name = a
self.age =b
self.color = c
5、dog = Dog("小黑",3,"白色") #根据类创建实例
#隐式传递了self,实际上将dog传递给了self
Python使用实参'小黑' ,3和白色 调用Dog 类中的方法__init__() 。方法__init__() 创建一个表示特定小狗的示例,并使用我们提供的值来设置属性name 和age 。方法__init__() 并未显式地包含return 语句,但Python自动返回一个表示这条小狗的实例。