葡萄葡萄
2020-10-04 06:54
self.name = name
self.age = age想问下这个self.属性是什么意思/作用啊?为什么需要加这么一步?name、age不是在init那一步就定义为Animal的属性了?就是没动'self.后面加的name 跟 =号后面的name,这两个name有什么区别?另外答案的代码
比如你实例化一个dog,dog.animal(),dog就是这个self,cat.animal()中,cat就是self,谁调用,self传的就是谁
就是实例本身
this的意思?
在这几节来了解,self 就一桥梁吧!以后代表的概念,先不管?
self.name 和外面实例的 ***.name对应
self.name=name 就是通过self.name把name 的数据给到外面的实例。
其实这两个name根本没关系,=号才是关键,只是怕乱起个相同名字好对应。
class Person(object):
def __init__(self, nx, sex, age):
self.nb = nx
self.sex = sex
self.age = age
xiaoming = Person('Xiao Ming', 'boy', 13)
xiaohong = Person('Xiao Hong', 'girl', 14)
print(xiaohong.nb)
print(xiaohong.sex)
print(xiaohong.age)
__init__() 方法的第一个参数必须是 self,这语句是固定的。跟后面的name、age没关系。
Python3 进阶教程(新版)
41910 学习 · 236 问题
相似问题