欢迎光临
我们一直在努力

Python面向对象编程与异常处理实战

好的!我们将系统性地讲解Python面向对象编程(OOP)与异常处理的核心知识,并辅以代码示例。


一、面向对象编程(OOP)

面向对象编程的核心是通过**类(Class)和对象(Object)**组织代码,提升可复用性和可维护性。

1. 类与对象

class Person:
def __init__(self, name, age): # 构造函数
self.name = name
self.age = age

def greet(self):
return f"你好,我叫{self.name},今年{self.age}岁!"

# 创建对象
p1 = Person("张三", 25)
print(p1.greet()) # 输出:你好,我叫张三,今年25岁!

2. 三大特性
  • 封装:隐藏内部实现细节

    class BankAccount:
    def __init__(self, balance=0):
    self.__balance = balance # 私有属性

    def deposit(self, amount):
    if amount > 0:
    self.__balance += amount

    def get_balance(self):
    return self.__balance # 通过方法访问

  • 继承:子类复用父类功能

    class Animal:
    def speak(self):
    pass

    class Dog(Animal):
    def speak(self): # 方法重写
    return "汪汪!"

  • 多态:不同对象对同一方法表现不同行为

    def animal_sound(animal):
    print(animal.speak())

    animal_sound(Dog()) # 输出:汪汪!


二、异常处理

异常处理用于捕获程序运行时错误,避免崩溃。

1. 基本语法

try:
# 可能出错的代码
result = 10 / 0
except ZeroDivisionError:
print("除数不能为零!")
except Exception as e: # 捕获所有异常
print(f"未知错误:{e}")
else:
print("未发生异常时执行")
finally:
print("无论是否异常都执行")

2. 常见异常类型
异常类型触发场景
ValueError 无效参数(如int('a'))
FileNotFoundError 文件不存在
IndexError 索引超出范围
KeyError 字典键不存在
3. 自定义异常

class CustomError(Exception):
def __init__(self, message):
self.message = message

try:
raise CustomError("自定义错误!")
except CustomError as e:
print(e.message) # 输出:自定义错误!

4. 断言(Assert)

用于调试阶段验证条件:

x = 5
assert x > 0, "x必须为正数" # 条件为假时抛出AssertionError


三、综合应用示例

class FileProcessor:
def __init__(self, filename):
self.filename = filename

def read_file(self):
try:
with open(self.filename, 'r') as f:
return f.read()
except FileNotFoundError:
return "文件不存在"
except IOError:
return "文件读取失败"

# 使用
processor = FileProcessor("data.txt")
content = processor.read_file()
print(content)


四、总结

  • OOP:通过类组织代码,强调封装、继承、多态。
  • 异常处理:使用try-except结构保证程序健壮性。
  • 最佳实践:
    • 优先使用具体异常类型(如FileNotFoundError)
    • 善用finally清理资源(如关闭文件)
    • 自定义异常提升可读性

通过系统学习,你将能构建更稳定、可扩展的Python应用!

赞(0)
未经允许不得转载:171主机测评 » Python面向对象编程与异常处理实战
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址