Python 精通:函数、类与继承

  • 分类:Python · 精通
  • 更新时间: 2026-10-03
  • 来源:py5_pro2.docx

函数:把代码打包复用

函数用 def 定义:起个名字、列出参数,需要的结果用 return 交回去。定义好之后,想用几次就调用几次,改需求只改一处。

def add(a, b):
    return a + b
print(add(3, 5))
print(add(10, 20))

参数可以给默认值,不传就用默认的;还可以用 关键字=值 的方式乱序传参。

def greet(name, word="你好"):
    print(f"{word}, {name}!")
greet("小明")
greet("小红", word="早上好")

没有 return 的函数返回 None。函数里创建的变量是局部的,出了函数就用不了,这就是局部变量。

提示:lambda 用来写一行的小函数,比如配合作排序:sorted(lst, key=lambda x: -x)。

类与对象:自己造数据类型

类 class 是图纸,对象是按图纸造出来的具体东西。类里定义属性(数据)和方法(函数),把数据和操作绑在一起,这叫面向对象。

class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def introduce(self):
        print(f"我叫{self.name} 今年{self.age}岁")
s1 = Student("小明", 12)
s1.introduce()

__init__ 是构造方法,创建对象时自动执行;self 指对象自己,所有方法的第一个参数都是它(调用时不用传)。

对象可以随便创建多少个,每个对象有自己的属性值,互不干扰。

继承:站在父类的肩膀上

继承就是子类自动拥有父类的全部属性和方法,只需写出自己新增或不同的部分。代码不用重复写,这叫代码复用。

class Animal:
    def __init__(self, name):
        self.name = name
    def speak(self):
        print("...")
class Dog(Animal):
    def speak(self):
        print(f"{self.name}: 汪汪")
d = Dog("旺财")
d.speak()

子类重写了 speak(),调用的就是自己的版本,这叫方法重写 override。想在重写时借用父类的实现,用 super()。

class Cat(Animal):
    def speak(self):
        super().speak()
        print(f"{self.name}: 喵")
Cat("咪咪").speak()

isinstance(对象, 类) 可以判断对象是不是某个类(含父类)的实例。一个子类也可以继承多个父类,写成 class A(B, C): 即可。