问答详情
源自:2-5 Python类属性

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

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


提问者:葡萄葡萄 2020-10-04 06:54

个回答

  • 绿星丑凯龙
    2020-12-03 00:13:18

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

  • qq_迷失在天堂里云_0
    2020-11-28 11:36:46

    就是实例本身

  • 精慕门5152354
    2020-11-02 22:42:07

    this的意思?

  • 慕侠6748888
    2020-10-19 23:00:53

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


  • qq_慕田峪8226640
    2020-10-09 14:28:23

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