为了账号安全,请及时绑定邮箱和手机立即绑定

`self.属性`是起什么意思/作用啊?为什么要写这一步?self和name、age同为属性

self.name = name
       
self.age  = age
想问下这个self.属性是什么意思/作用啊?为什么需要加这么一步?name、age不是在init那一步就定义为Animal的属性了?就是没动'self.后面加的name 跟 =号后面的name,这两个name有什么区别?另外答案的代码


正在回答

5 回答

比如你实例化一个dog,dog.animal(),dog就是这个self,cat.animal()中,cat就是self,谁调用,self传的就是谁

0 回复 有任何疑惑可以回复我~

就是实例本身

0 回复 有任何疑惑可以回复我~

this的意思?

0 回复 有任何疑惑可以回复我~

在这几节来了解,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)


2 回复 有任何疑惑可以回复我~

__init__() 方法的第一个参数必须是 self,这语句是固定的。跟后面的name、age没关系。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

`self.属性`是起什么意思/作用啊?为什么要写这一步?self和name、age同为属性

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信