Python 笔记
函数参数
默认参数
在Python中,我们可以为函数的参数设置默认值。如果调用函数时没有传递参数,那么参数将使用默认值。
def greet(name='World'):print(f"Hello, {name}!")greet() # 输出:Hello, World!
greet('Alice') # 输出:Hello, Alice!
可变参数
可变参数允许我们向函数传递任意数量的参数。
def sum(*numbers):total = 0for number in numbers:total += numberreturn totalprint(sum(1, 2, 3)) # 输出:6
print(sum(4, 5)) # 输出:9
print(sum(6)) # 输出:6
面向对象
Python 是一种面向对象的语言,它支持通过类来创建对象。
类定义
类用于定义对象的属性和方法。
class Person:def __init__(self, name, age):self.name = nameself.age = agedef greet(self):print(f"Hello, my name is {self.name}. I'm {self.age} years old.")person1 = Person('Alice', 25)
person2 = Person('Bob', 30)person1.greet() # 输出:Hello, my name is Alice. I'm 25 years old.
person2.greet() # 输出:Hello, my name is Bob. I'm 30 years old.
装饰器
装饰器是一种语法,可以修改函数的行为。它可以在不修改原始函数代码的情况下,添加额外的功能。
def log(func):def wrapper(*args, **kwargs):print(f"Calling {func.__name__} with arguments: {args}")return func(*args, **kwargs)return wrapper@log
def add(a, b):return a + bprint(add(2, 3)) # 输出:Calling add with arguments: (2, 3)# 5
高级函数
Python 中的高级函数可以接受其他函数作为参数或返回函数。
高阶函数
高阶函数是指接受一个或多个函数作为参数,并/或者返回一个函数的函数。
def apply_operation(a, b, operation):return operation(a, b)def add(a, b):return a + bdef subtract(a, b):return a - bprint(apply_operation(2, 3, add)) # 输出:5
print(apply_operation(2, 3, subtract)) # 输出:-1
匿名函数和Lambda 表达式
匿名函数是没有具名标识符的函数,我们可以将其作为参数传递给其他函数或直接调用。
Lambda 表达式是一种匿名函数的简写形式。
multiply = lambda a, b: a * b
divide = lambda a, b: a / bprint(multiply(2, 3)) # 输出:6
print(divide(6, 2)) # 输出:3
捕获异常
在Python中,我们可以使用 try...except
语句来捕获和处理异常。
try:# 可能会抛出异常的代码raise Exception("Something went wrong!")
except Exception as error:# 捕获并处理异常print(f"Error: {error}")
通过使用 try...except
块,我们可以在程序出现异常时执行特定的操作并提供更友好的错误处理。