在Python中,类的方法必须显式地包含self参数,这是因为当调用实例方法时,Python会自动将实例本身作为第一个参数传递给该方法。这个参数就是self,它允许在方法内部访问和修改实例的属性和方法。 如果不包含self参数,Python将无法正确地将实例传递给方法,从而导致错误。例如: python class BadClass: def init(name, age...
1、这个self是一个习惯用法,可以把单词替换为‘myself’、‘this’等等。 2、这是个必要的参数,不能省略。 3、都放在第一个位置。 上接自己的笔记——传送门:五香粥:python里的__init__方法 # 低级写法: class Student(): def __init__(self, score1, score2, score3) #初始化的记录相关成交的语句 ...
class Dog: def dog_name(self, name): print(f'The dog`s name is {name}') def dog_run(self): print(f'{name} run') # 错误,注意name的作用域 很显然,dog_run方法要使用dog_name方法的name,就得把变量name的作用域扩展至dog_run方法内。 用self(约定俗成的单词,当然,也可以使用其他...
def __init__(self,name,age): self.name=name #self.name称为实例属性,进行了一个赋值的操作,将局部变量name的值赋给实例属性 self.age=age #实例方法 def eat(self):#self必须写 print('学生在吃饭...') #静态方法 @staticmethod def method():#不允许在参数列表中写self print('我使用了staticmethod...
1. self 通常在写class的时候,定义多个方法,只需要self.一下这个方法名就可以调用和执行这个方法,这实际上是一个python的内部寻址机制,叫做命名空间检索。 编写class的子方法时,必须要用self,才能持续传递命名空间,也就是说只有用了self传递,才能调用子方法。
classMyClass:do_stuff=Function()print(MyClass.__dict__["do_stuff"])# __get__ not invoked# <__main__.Function object at 0x7f229b046e50>print(MyClass.do_stuff)# __get__ invoked, but "instance" is None, "self" is returnedprint(MyClass.do_stuff.__get__(None,MyClass))# <__...
python类(class)中参数self的简单解释 1.self只有在类的方法中才会有,其他函数或方法是不必带self的。 2.在调用时不必传入相应的参数。 3.在类的方法中(如__init__),第一参数永远是self,表示创建的类实例本身,而不是类本身。 4.可以把对象的各种属性绑定到self。
self 就是 对象/实例 属性的集合, 他们之间的关系如下: 1、Box是个类 ——》实例化——》b 对象/实例 2、Box类python中显示为:<class '__main__.Box'> (接下一行) ——》实例化:b=Box('魔盒', '14m', '红色')(接下一行) ——》得到对象/实例b,显示为<__main__.Box object at 0x00000233857...
在介绍Python的self用法之前,先来介绍下Python中的类和实例…… 我们知道,面向对象最重要的概念就是类(class)和实例(instance),类是抽象的模板,比如学生这个抽象的事物,可以用一个Student类来表示。而实例是根据类创建出来的一个个具体的“对象”,每一个对象都从类中继承有相同的方法,但各自的数据可能不同。
python class Student:def __init__(self, name):self.name = name 在这个例子中,self代表当前创建的学生实例。当使用Student类创建一个新的学生对象时,可以为name属性提供一个值,如下所示:python s = Student("张三")在这里,self代表新创建的学生实例s,因此可以使用self.name来访问和修改name...