python封装函数编程教学_python入门教程09-02 (python语法入门之封装)
时间: 2023-10-17 18:22:37 浏览: 103
封装是面向对象编程中的一个重要概念,它主要是指将数据和行为封装在一起,形成一个类,并对外提供接口,隐藏实现细节,保证数据安全性和代码可维护性。
Python中的封装主要通过访问权限控制实现。在Python中,属性和方法都有其对应的访问权限,主要有公有、私有和受保护三种。
公有属性和方法可以被类内部和外部访问,私有属性和方法只能在类内部访问,受保护属性和方法也只能在类内部和子类中访问。
下面通过一个例子来说明Python中如何进行封装。
```python
class Person:
def __init__(self, name, age):
self.__name = name # 私有属性
self.__age = age # 私有属性
def say_hello(self):
print("Hello, my name is %s, and I'm %d years old." % (self.__name, self.__age))
def set_age(self, age):
if age < 0 or age > 150:
print("Invalid age!")
else:
self.__age = age # 修改私有属性
p = Person("Tom", 20)
p.say_hello() # 输出:Hello, my name is Tom, and I'm 20 years old.
p.__name # 报错:AttributeError: 'Person' object has no attribute '__name'
p.set_age(200) # 输出:Invalid age!
```
在上面的例子中,我们定义了一个Person类,其中包含了两个私有属性__name和__age,以及一个公有方法say_hello和一个受保护方法set_age。这样,外部就无法直接访问__name和__age属性,只能通过调用say_hello方法来输出实例的信息。同时,set_age方法可以修改私有属性__age,但是它会对输入的年龄进行检查,保证数据的合法性。
可以看出,Python中的封装通过访问权限控制实现,可以保证数据的安全性和代码的可维护性。在实际开发中,我们应该尽量使用封装来保护数据,防止出现意外错误。
阅读全文