Python进阶之高级用法详细总结
1. 面向对象编程高级特性
1.1 继承
继承是面向对象编程中最常用的高级特性之一,它允许子类从父类中继承属性和方法。可以通过继承来避免重复编写代码,提高代码的复用性和可维护性。
下面是一个继承的示例:
class Animal:
def __init__(self, name):
self.name = name
def run(self):
print(f"{self.name} is running.")
class Dog(Animal):
def __init__(self, name, age):
super().__init__(name)
self.age = age
def bark(self):
print(f"{self.name} is barking.")
dog = Dog("Bob", 2)
dog.run() # 输出 Bob is running.
dog.bark() # 输出 Bob is barking.
在这个示例中,由于 Dog
继承了 Animal
,所以 Dog
可以通过 super()
调用 Animal
的 __init__
方法,以传递 name
参数。
1.2 多态
多态是指同样的方法在不同的子类中有不同的实现,它可以很好地提高代码的可扩展性和可维护性。
下面是一个多态的示例:
class Animal:
def __init__(self, name):
self.name = name
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self):
print(f"{self.name} is barking.")
class Cat(Animal):
def make_sound(self):
print(f"{self.name} is meowing.")
animals = [Dog("Bob"), Cat("Tom")]
for animal in animals:
animal.make_sound()
在这个示例中,Dog
和 Cat
都继承了 Animal
,但是它们都重写了 make_sound
方法以实现不同的行为。在 animals
列表中存储了不同类型的动物实例,但是由于它们都实现了 make_sound
方法,所以都可以被遍历并调用该方法。
2. 函数式编程高级特性
2.1 闭包
闭包是指函数内部定义的函数,它可以访问并修改外部函数的局部变量或参数。使用闭包可以实现一些高级的功能,如装饰器、延迟计算、数据缓存等。
下面是一个闭包的示例:
def outer_func(x):
def inner_func(y):
return x + y
return inner_func
add_1 = outer_func(1)
add_2 = outer_func(2)
print(add_1(5)) # 输出 6
print(add_2(5)) # 输出 7
在这个示例中,outer_func
返回了 inner_func
,它可以访问并返回了 x
,因此 add_1
和 add_2
都是闭包。
2.2 高阶函数
高阶函数是指函数可以接收函数作为参数或返回函数作为结果。使用高阶函数可以实现一些高级的功能,如函数组合、柯里化、偏函数等。
下面是一个高阶函数的示例:
def add(x, y):
return x + y
def multiply(x, y):
return x * y
def apply(operator, x, y):
return operator(x, y)
print(apply(add, 1, 2)) # 输出 3
print(apply(multiply, 3, 4)) # 输出 12
在这个示例中,apply
是一个高阶函数,它可以接收任意的函数作为参数并在内部调用。add
和 multiply
都被当作参数传递给了 apply
,因此 apply
实现了通用的计算功能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python进阶之高级用法详细总结 - Python技术站