python类中怎么调用另一个类的构造函数中定义的变量
时间: 2023-10-25 09:07:04 浏览: 96
在Python类中,可以通过在构造函数中调用另一个类的构造函数,并将需要的变量作为参数传递来获取另一个类中定义的变量。例如,假设有两个类A和B,其中类B的构造函数中定义了一个变量x,可以在类A的构造函数中调用类B的构造函数,并使用类B中定义的变量x:
```
class B:
def __init__(self):
self.x = 10
class A:
def __init__(self):
b = B()
self.y = b.x
```
在上面的例子中,类B的构造函数中定义了变量x,并在类A的构造函数中创建了一个类B的实例b,并将其变量x赋值给了类A的变量y。这样,类A就可以使用类B中定义的变量x了。
相关问题
用Python写,在第6题的基础上,定义一个Student类,要求: (1)、Student类继承Person类; (2)、在Person类中定义一个有参构造函数 __init__(self, name, sex) 为成员赋值; (3)、在Student类中定义保护的数据成员有sno(学号,为int型); (4)、在Student类中定义有参构造函数 __init__(self, name, sex, sno),并在该函数内调用Person类的有参构造函数; (5)、在Student类中重载Display()函数,用于输出成员变量的值(输出格式可以自定,但要输出全部); (6)、编写测试代码,生成1个Student对象p(有参数,参数可以是任意有效值),调用该对象的Display()函数输出结果;
好的,我明白了。以下是代码实现:
```python
class Person:
def __init__(self, name, sex):
self.name = name
self.sex = sex
def Display(self):
print("姓名:", self.name)
print("性别:", self.sex)
class Student(Person):
def __init__(self, name, sex, sno):
Person.__init__(self, name, sex)
self.__sno = sno
def Display(self):
Person.Display(self)
print("学号:", self.__sno)
p = Student("Tom", "男", 123456)
p.Display()
```
输出结果为:
```
姓名: Tom
性别: 男
学号: 123456
```
说明代码实现正确。
这道题要求我们创建和显示学生信息。要求如下: ① 定义 person 类,在该类中定义成员变量 name(姓名)、sex(性别)和 age(年龄),然后定义构造函数,初始成员变量值。 ② 然后定义有参构造函数,添加参数成员变量,然后定义一个成员函数,以此来构建对象。 ③ 最后,定义成员函数 tostring,将定义好的成员变量输出。 调用时,用有参构造函数创建对象,然后调用 tostromg 成员函数输出对象信息。
好的,这是一个关于面向对象编程的问题,让我们逐步完成它。
首先,我们需要定义一个 `person` 类,并在其中定义成员变量 `name`、`sex` 和 `age`,如下所示:
```python
class person:
def __init__(self, name, sex, age):
self.name = name
self.sex = sex
self.age = age
```
在上述代码中,我们定义了一个构造函数 `__init__`,并将 `name`、`sex` 和 `age` 作为参数传入。在函数体中,我们将它们分别赋值给类的成员变量,即 `self.name`、`self.sex` 和 `self.age`。
接下来,我们需要定义一个有参构造函数,用于创建对象。为此,我们可以简单地调用 `__init__` 函数,如下所示:
```python
def create_person():
name = input("请输入姓名:")
sex = input("请输入性别:")
age = input("请输入年龄:")
p = person(name, sex, age)
return p
```
在上述代码中,我们定义了一个名为 `create_person` 的函数,用于创建 `person` 对象。在函数体中,我们分别从用户那里获取 `name`、`sex` 和 `age` 的值,并将它们传递给 `person` 类的构造函数。然后,我们将创建好的对象返回。
最后,我们需要定义一个 `tostring` 成员函数,用于将对象的信息输出到控制台上。如下所示:
```python
def tostring(self):
print("姓名:", self.name)
print("性别:", self.sex)
print("年龄:", self.age)
```
在上述代码中,我们定义了一个名为 `tostring` 的成员函数,它没有任何参数。在函数体中,我们使用 `print` 函数将 `name`、`sex` 和 `age` 输出到控制台上。
现在,我们可以使用上述定义好的类和函数来创建并显示学生信息了。具体代码如下所示:
```python
p = create_person()
p.tostring()
```
在上述代码中,我们首先调用 `create_person` 函数来创建一个 `person` 对象,并将其赋值给变量 `p`。然后,我们调用 `tostring` 成员函数来输出对象的信息。
阅读全文