学了python不懂self和this的作用
时间: 2024-05-10 16:18:03 浏览: 65
深入浅析python 中的self和cls的区别
在 Python 中,`self` 是一个约定俗成的名称,用于表示类实例对象本身。当你定义一个类时,定义的每个方法(函数)的第一个参数都是 `self`,它指向类实例本身,这样就可以在类方法中访问实例对象中的属性和方法。
举个例子,假设我们定义了一个名为 `Person` 的类,它有一个属性 `name` 和一个方法 `say_hello`,代码如下:
```python
class Person:
def __init__(self, name):
self.name = name
def say_hello(self):
print("Hello, my name is", self.name)
```
在上面的代码中,我们定义了一个 `__init__` 方法,它的第一个参数是 `self`,用于初始化实例对象的属性;还定义了一个 `say_hello` 方法,它的第一个参数也是 `self`,用于访问实例对象的属性 `name` 并输出一句话。
当我们创建一个 `Person` 类的实例对象并调用它的 `say_hello` 方法时,需要将 `self` 参数传递进去,但这个参数不需要我们自己显式地传递,Python 会自动把实例对象作为 `self` 参数传递进去。例如:
```python
person = Person("Bob")
person.say_hello()
```
上面的代码会输出:`Hello, my name is Bob`。
至于 `this`,它是 Java 和 C++ 中的关键字,用于表示当前对象的指针。在 Python 中没有 `this` 关键字,而是使用 `self` 来表示当前对象。
阅读全文