python编程里的同一个class下怎么调用主函数def init下的数据
时间: 2024-02-05 17:12:48 浏览: 29
在 Python 中,如果你想在同一个 class 下的其他函数中调用 `__init__` 中定义的数据,你需要将这些数据定义为实例属性。实例属性可以在整个类中共享和访问,而不仅仅是在 `__init__` 函数内部。
例如,假设我们有一个名为 `Person` 的类,其中包含 `__init__` 函数用于初始化人的姓名和年龄。我们还定义了一个名为 `get_info` 的函数来返回人的姓名和年龄。为了让 `get_info` 函数能够访问 `__init__` 中定义的姓名和年龄,我们需要将它们定义为实例属性:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def get_info(self):
return f"{self.name} is {self.age} years old."
```
在上面的代码中,我们使用 `self.name` 和 `self.age` 来定义实例属性。这些属性可以在 `__init__` 函数中被访问和设置,也可以在 `get_info` 函数中被访问。
现在,我们可以创建一个 `Person` 对象,并调用 `get_info` 函数来获取人的姓名和年龄:
```python
p = Person("Alice", 25)
print(p.get_info()) # 输出 "Alice is 25 years old."
```
注意,你也可以在类的其他函数中创建新的实例属性,例如:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def get_info(self):
return f"{self.name} is {self.age} years old."
def set_name(self, new_name):
self.name = new_name
```
在上面的代码中,我们定义了一个名为 `set_name` 的函数,用于更改人的姓名。这个函数创建了一个新的实例属性 `self.name`,并将其设置为传递给函数的新值。现在,我们可以通过调用 `set_name` 函数来更改人的姓名:
```python
p = Person("Alice", 25)
print(p.get_info()) # 输出 "Alice is 25 years old."
p.set_name("Bob")
print(p.get_info()) # 输出 "Bob is 25 years old."
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)