Python中的self,类中的self?

1. Python中的self

在Python中,self是一个特殊的参数,用于表示类的实例对象。当定义一个类时,类的方法第一个参数默认为self,它可以让实例对象在调用方法时,将自身作为参数传入。

self的作用:

通过self可以访问实例对象的属性和方法。

通过self可以在类的方法内部,引用其他方法。

通过self可以在类的方法内部,修改实例对象的属性。

1.1 使用self访问实例对象的属性和方法

在类的方法内部,可以使用self.属性名来访问实例对象的属性,self.方法名()来调用实例对象的方法。

class Person:

def __init__(self, name, age):

self.name = name

self.age = age

def say_hello(self):

print("Hello, my name is", self.name)

person = Person("Alice", 25)

print(person.name) # 输出:Alice

person.say_hello() # 输出:Hello, my name is Alice

在上述的代码中,定义了一个Person类,有两个属性name和age,以及一个say_hello方法。在方法内部使用self.name访问实例对象的name属性,在方法内部使用self.say_hello()调用实例对象的say_hello方法。

1.2 使用self引用其他方法

在类的方法内部,可以使用self.方法名()来引用其他方法,从而实现方法之间的调用。

class Calculator:

def add(self, a, b):

return a + b

def square(self, num):

return self.add(num, num)

calculator = Calculator()

result = calculator.square(5)

print(result) # 输出:10

在上述的代码中,定义了一个Calculator类,有两个方法add和square。在square方法内部,通过self.add(num, num)调用了add方法,实现了平方运算。

1.3 使用self修改实例对象的属性

在类的方法内部,可以使用self.属性名 = 值来修改实例对象的属性。

class Dog:

def __init__(self, name):

self.name = name

def rename(self, new_name):

self.name = new_name

dog = Dog("旺财")

print(dog.name) # 输出:旺财

dog.rename("小白")

print(dog.name) # 输出:小白

在上述的代码中,定义了一个Dog类,有一个属性name和一个rename方法。在rename方法内部,使用self.name = new_name将实例对象的name属性修改为新的值。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签