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): 即可。