封装(Encapsulation)是一种将数据和操作数据的方法组合在一起的编程技术。通过封装,我们可以隐藏对象的内部实现细节,只暴露必要的接口给外部使用。这样可以保护对象的数据不被外部直接修改,提高了代码的安全性和可维护性。
在Python中,封装可以通过以下几种方式实现:
- 使用类(Class):
```python class Person: def init(self, name, age): self.__name = name # 私有属性 self.__age = age # 私有属性
def get_name(self):
return self.__name
def set_name(self, name):
if isinstance(name, str):
self.__name = name
else:
print("Invalid name")
def get_age(self):
return self.__age
def set_age(self, age):
if isinstance(age, int) and age >= 0:
self.__age = age
else:
print("Invalid age")
```
- 使用模块(Module):
```python
person.py
class Person: def init(self, name, age): self.name = name self.age = age
def get_name(self):
return self.name
def set_name(self, name):
self.name = name
def get_age(self):
return self.age
def set_age(self, age):
self.age = age
```
然后在其他模块中使用这个类:
```python from person import Person
p = Person("Alice", 30) print(p.get_name()) # 输出:Alice p.set_name("Bob") print(p.get_name()) # 输出:Bob
print(p.get_age()) # 输出:30 p.set_age(31) print(p.get_age()) # 输出:31 ```
通过这两种方式,我们可以实现对数据的封装和保护。