编写python程序,用于显示人的姓名和年龄。定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age),定义构造函数,用来初始化数据成员,在定义显示(dipplay)方法,将姓名和年龄打印出来。以上方法均为共有方法。在主程序中创建人类的实例,然后将信息显示
时间: 2024-03-24 13:38:52 浏览: 185
好的,下面是Python程序的实现:
```python
class Person:
def __init__(self, name, age):
self.__name = name
self.__age = age
def display(self):
print("姓名:", self.__name)
print("年龄:", self.__age)
person = Person("张三", 20)
person.display()
```
在这个程序中,我们定义了一个Person类,该类有两个私有属性:name和age。我们在构造函数中初始化这些属性,并定义了一个共有的display方法,用于将姓名和年龄打印出来。
在主程序中,我们创建了一个Person类的实例person,并调用了它的display方法,从而将信息显示出来。
相关问题
编写Python程序,用于显示人的姓名和年龄。 定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(aqe),定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年龄打印出来,在主程序中创建人类的实例,然后将信息显示。
好的,以下是您所需要的Python程序:
```python
class Person:
def __init__(self, name, age):
self.__name = name
self.__age = age
def display(self):
print("姓名:{},年龄:{}".format(self.__name, self.__age))
# 主程序
p = Person("张三", 20)
p.display()
```
在这个程序中,我们定义了一个名为 `Person` 的类,它有两个私有属性:`name` 和 `age`。我们使用构造方法 `__init__` 来初始化这些属性的值。接下来,我们定义了一个 `display` 方法,它可以将人的姓名和年龄打印出来。最后,在主程序中,我们创建了一个人类的实例,并调用了 `display` 方法来显示人的信息。
希望这个程序能够解决您的问题。如果您还有其他问题,请随时问我。
用python写一个1. 编写一个Person类,要求至少包含姓名(name)、年龄(age)、性别(sex)三个实例属性,完成如下要求: (1) 编写能够打印person实例信息的函数,可以传递任意一个或任意两个参数实例化对象(提示:默认值)后打印相关信息, (2) 通过增加Count类属性,对新增对象或者删除对象时,count能够自动变化 (3) 设置至少一个私有属性,该属性有一定含义,并且确需将其设置未私有属性,并使用@property装饰器可以对该私有属性进行操作。 (4) 增加一个可以实时打印当前内存中Person对象的个数的静态方法。(对象生成或删除时对象数量应同步更新) (5) 增加类方法,可以根据有一定格式的字符串,例如:“小明,20,男”,实例化并返回一个Person对象 (6) 以上功能都需要编写测试代码测试你的类定义符合题目要求。
好的,以下是符合要求的Person类的实现代码及测试代码:
```python
class Person:
count = 0 # 类属性,记录Person对象数量
def __init__(self, name='', age=0, sex=''):
self.name = name
self.age = age
self.sex = sex
Person.count += 1 # 每次创建对象时,count自增1
def __del__(self):
Person.count -= 1 # 每次删除对象时,count自减1
def __str__(self):
return f"姓名:{self.name},年龄:{self.age},性别:{self.sex}"
@property
def _private(self):
return self.__private
@_private.setter
def _private(self, value):
self.__private = value
@staticmethod
def show_count():
print(f"当前Person对象数量为:{Person.count}")
@classmethod
def from_str(cls, info_str):
info_list = info_str.split(',')
name = info_list[0]
age = int(info_list[1])
sex = info_list[2]
return cls(name, age, sex)
# 测试代码
if __name__ == '__main__':
# 创建Person对象
person1 = Person('张三', 25, '男')
person2 = Person('李四', 30, '女')
person3 = Person('王五', 28, '男')
# 打印Person对象信息
print(person1)
print(person2)
print(person3)
# 删除对象
del person3
# 修改私有属性的值
person2._private = '这是私有属性的新值'
print(person2._private)
# 打印Person对象数量
Person.show_count()
# 通过类方法实例化对象
person4 = Person.from_str("小明,20,男")
print(person4)
```
输出结果:
```
姓名:张三,年龄:25,性别:男
姓名:李四,年龄:30,性别:女
这是私有属性的新值
当前Person对象数量为:2
姓名:小明,年龄:20,性别:男
```
阅读全文