Python学习(六)
发布人:shili8
发布时间:2024-12-29 14:41
阅读次数:0
**Python 学习(六)**
在前面的五篇文章中,我们已经介绍了 Python 的基本语法、数据类型、控制结构、函数等概念。今天我们将继续讨论一些更高级的主题,包括面向对象编程、异常处理和模块化编程。
### 面向对象编程面向对象编程(Object-Oriented Programming, OOP)是计算机科学中的一种编程范式,它以类和实例来组织代码。Python 支持面向对象编程的基本概念,包括类、继承、多态和封装。
#### 类和实例在 Python 中,类使用 `class` 关键字定义,而实例则是通过类创建的对象。例如:
# 定义一个类class Person: def __init__(self, name, age): self.name = name self.age = age# 创建一个实例person = Person("John",30) print(person.name) # 输出: Johnprint(person.age) # 输出:30
#### 继承继承是指子类继承父类的属性和方法。例如:
# 定义一个父类class Animal: def __init__(self, name): self.name = name def sound(self): print("动物叫") # 定义一个子类class Dog(Animal): def __init__(self, name, breed): super().__init__(name) self.breed = breed def sound(self): print("狗叫") dog = Dog("旺财", "金毛") print(dog.name) # 输出: 旺财print(dog.breed) # 输出: 金毛dog.sound() # 输出: 狗叫
#### 多态多态是指同一个方法在不同对象中表现出不同的行为。例如:
# 定义一个父类class Shape: def area(self): pass# 定义两个子类class Circle(Shape): def __init__(self, radius): self.radius = radius def area(self): return3.14 * self.radius **2class Rectangle(Shape): def __init__(self, width, height): self.width = width self.height = height def area(self): return self.width * self.heightcircle = Circle(5) rectangle = Rectangle(4,6) print(circle.area()) # 输出:78.5print(rectangle.area()) # 输出:24
#### 封装封装是指将数据和方法包裹在一个类中,以便于管理和维护。例如:
# 定义一个类class BankAccount: def __init__(self, balance=0): self.__balance = balance def deposit(self, amount): if amount >0: self.__balance += amount print(f"存入 {amount} 元,余额为 {self.__balance} 元") else: print("金额必须大于零") account = BankAccount(100) account.deposit(50) # 输出: 存入50 元,余额为150 元print(account.__balance) # 报错:AttributeError: 'BankAccount' object has no attribute '__balance'
### 异常处理异常处理是指在程序执行过程中捕捉和处理异常情况的机制。Python 提供了 `try`、`except` 和 `finally` 关键字来实现异常处理。
#### try-except-finally
# 定义一个函数def divide(a, b): try: result = a / b print(f"{a}除以 {b} 等于 {result}") except ZeroDivisionError: print("除数不能为零") finally: print("计算完成") divide(10,2) # 输出:10除以2 等于5.0 # 计算完成divide(10,0) # 输出:除数不能为零 # 计算完成
#### raise
# 定义一个函数def check_age(age): if age < 18: raise ValueError("年龄必须大于或等于18") check_age(17) # 报错:ValueError: 年龄必须大于或等于18
### 模块化编程模块化编程是指将代码分割成多个独立的模块,以便于管理和维护。Python 提供了 `import` 和 `from` 关键字来实现模块化编程。
#### import
# 定义一个模块math_module = { "add": lambda a, b: a + b, "subtract": lambda a, b: a - b, } # 使用模块print(math_module["add"](2,3)) # 输出:5
#### from
# 定义一个模块math_module = { "add": lambda a, b: a + b, "subtract": lambda a, b: a - b, } # 使用模块from math_module import add, subtractprint(add(2,3)) # 输出:5print(subtract(4,1)) # 输出:3
### 总结本文介绍了 Python 的面向对象编程、异常处理和模块化编程的基本概念。通过这些例子,我们可以看到 Python 的强大功能和灵活性,使得它成为一种非常适合于各种类型应用程序开发的语言。
### 参考资料* 《Python Cookbook》第3 版* 《Python Crash Course》第2 版* 《Python for Data Analysis》第1 版