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属性修改为新的值。

后端开发标签