python创建person类私有属性和公有属性
时间: 2024-05-28 22:09:03 浏览: 19
可以使用双下划线来定义私有属性,例如:
class Person:
def __init__(self, name, age):
self.__name = name # 私有属性
self.age = age # 公有属性
注意,私有属性只能在类内部访问,外部无法访问。如果想要在外部访问私有属性,可以使用类的公有方法进行访问。
相关问题
python中公有静态字段与私有属性普通字段的使用样例
当我们定义一个类时,可以在类中定义属性和方法。属性也被称为成员变量或字段。在 Python 中,属性可以分为公有和私有。
公有属性可以被外部访问和修改,而私有属性只能在类内部访问和修改。在 Python 中,私有属性的命名规则是在属性名前面加上两个下划线“__”。
静态字段是指在类中定义的公有属性,它属于类,而不是类的实例对象。静态字段可以通过类名来访问和修改,也可以通过实例对象来访问。
下面是一个示例代码:
```python
class Person:
# 公有静态字段
name = "Tom"
age = 18
def __init__(self):
# 私有属性
self.__gender = "male"
def get_gender(self):
# 访问私有属性
return self.__gender
def set_gender(self, gender):
# 修改私有属性
self.__gender = gender
```
在上面的代码中,我们定义了一个 Person 类,其中包含公有静态字段 name 和 age,和一个私有属性 gender。我们还定义了两个方法 get_gender 和 set_gender,用来访问和修改私有属性 gender。
接下来,我们可以通过以下代码来访问和修改这些属性:
```python
# 访问公有静态字段
print(Person.name) # 输出:Tom
print(Person.age) # 输出:18
# 修改公有静态字段
Person.name = "Jerry"
print(Person.name) # 输出:Jerry
# 创建 Person 对象
p = Person()
# 访问私有属性
print(p.get_gender()) # 输出:male
# 修改私有属性
p.set_gender("female")
print(p.get_gender()) # 输出:female
```
在上面的代码中,我们首先访问和修改了公有静态字段 name 和 age。然后我们创建了一个 Person 对象,并访问和修改了其私有属性 gender。
person 类中定义一个私有属性 name 和一个私有方法 doing ; 在 doing 方法中打印 name 。
好的,以下是符合要求的 Python 代码:
```python
class Person:
def __init__(self, height, age, name):
self.height = height
self.age = age
self.__name = name # 定义私有属性
def __doing(self): # 定义私有方法
print(self.__name)
def public_doing(self): # 定义公有方法
self.__doing() # 在公有方法中调用私有方法
# 创建实例对象并调用公有方法
p = Person(15, 15, "张三")
p.public_doing() # 输出结果为:张三
```
在这里,我们将属性 name 和方法 doing 都定义为了私有的,外部无法直接访问它们。但我们可以通过在类的内部定义公有方法来访问私有属性和方法。在上面的代码中,我们定义了一个公有方法 public_doing,它可以通过调用私有方法 __doing 来访问私有属性 __name。这样,我们就实现了在私有方法中打印私有属性的功能。