1. 类和对象
类和对象是 Python 中面向对象编程 (OOP) 的核心概念。类是一种数据类型,用于创建具有相同属性和行为的对象。对象是类的实例,可以访问类定义的属性和方法。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print(f"Hello, my name is {self.name} and I am {self.age} years old.")
person = Person("John Doe", 30)
person.greet()
在上面的示例中,Person 类定义了一个构造函数 init(),用于初始化对象并设置对象的属性。greet() 方法用于向用户打招呼。person 对象是 Person 类的实例,并且可以访问类定义的属性和方法。
2. 装饰器
装饰器是一种特殊类型的函数,用于在函数执行之前或之后执行特定操作。装饰器可以用于添加功能、验证输入、测量执行时间等。
def my_decorator(func):
def wrapper(*args, **kwargs):
print("Before calling the function")
result = func(*args, **kwargs)
print("After calling the function")
return result
return wrapper
@my_decorator
def greet(name):
print(f"Hello, {name}!")
greet("John Doe")
在上面的示例中,my_decorator() 是一个装饰器,用于在 greet() 函数执行之前和之后打印一些信息。@my_decorator 语法糖用于将 my_decorator() 装饰器应用于 greet() 函数。当调用 greet("John Doe") 时,装饰器会打印出相关信息,然后调用 greet() 函数,并打印出 "Hello, John Doe!"。
3. 生成器
生成器是一种特殊类型的函数,用于生成一序列的值。生成器可以用于创建迭代器,以便在循环中逐个访问值。
def generate_numbers(n):
for i in range(n):
yield i
generator = generate_numbers(10)
for number in generator:
print(number)
在上面的示例中,generate_numbers() 函数是一个生成器,用于生成从 0 到 9 的数字序列。yield 关键字用于生成下一个值并暂停函数的执行。当调用 generator.next() 或在循环中迭代生成器时,函数将继续执行并生成下一个值。
4. 结语