函数、类

类就是一个实体(对象),比如学生、教师、算法模型,每个对象都有多种属性,如性别、身高体重、模型的各种参数;
函数就是一个用代码实现的一种方法。




适合创建类的情况:

  • 需要表示多个对象或实体:类适合用来创建具有状态和行为的对象。例如,如果你需要描述不同类型的车辆(每种车都有不同的品牌、型号、颜色等属
    性,并且有启动、行驶、停止等行为),那么可以定义一个 Car 类来表示车辆对象。
  • 需要继承多态:类可以通过继承机制实现代码的重用,子类可以继承父类的属性和方法,并且可以根据需要重写或扩展这些方法。多态性使得同样的
    方法可以在不同的子类实例上表现出不同的行为。
    在面向对象编程中,子类继承了父类的所有属性和方法,因此可以通过实例化子类对象来调用这些方法。
    多态性允许在不同的子类中使用相同的方法名,但是这些方法在不同的子类中表现出不同的行为。
利用方法重写来实现类的多态
class Animal:
    def make_sound(self):
        pass

class Dog(Animal):
    def make_sound(self):
        return "Woof!"

class Cat(Animal):
    def make_sound(self):
        return "Meow!"

# 使用多态性,统一处理不同类型的动物对象
def animal_sound(animal):
    return animal.make_sound()

# 创建不同的动物对象
dog = Dog()
cat = Cat()

# 调用 animal_sound 函数来输出不同动物的声音
print(animal_sound(dog))  # 输出: Woof!
print(animal_sound(cat))  # 输出: Meow!
  • 需要封装数据和行为:类能够将数据(即属性)和操作数据的方法(即函数)组合在一起,形成一个整体。这种封装性有助于管理和维护代码。




    适合创建函数的情况:
  • 执行特定的操作或算法:函数适合用于定义独立的操作或算法,例如计算两个数字的和、打印某个信息等。
  • 避免重复代码:如果存在多处需要执行相同操作的地方,可以将这些操作封装在函数中,提高代码的可重用性和可维护性。
  • 执行简单的数据处理或计算:对于一些不需要状态管理或数据封装的简单任务,函数能够提供清晰和直接的实现方式。
  • 实现特定的功能接口:函数适合用于定义接受参数并返回结果的特定功能接口,这种情况下函数更为直观和简单。


    在实际开发中,类和函数往往是结合使用的。类用来组织和管理相关的数据和行为,而函数则用来执行特定的操作或算法,这样可以使得代码更具有结构性、可读性和可维护性。




    __init__用法:
  • 通常用于初始化类的实例变量。在方法中,可以使用 self 参数来访问和设置对象的属性。例如:
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
  • 当创建类的实例时,Python会自动调用 init 方法。例如:
person = Person("Alice", 30)


if __name__ == "__main__"用法:

这个方法的主要目的是确保一个模块在被导入时不会立即执行其中的代码,而是只有在直接运行该模块时才执行特定的操作或代码块。这种方法非常有用,特别是当你编写的模块不仅作为独立的脚本运行,还可能被其他模块导入和重复利用时。

例如,如果你有一个模块定义了一些函数和类,但也包含一些测试或者示例代码,你可能希望在直接运行时执行这些测试,但在被其他模块导入时不执行,以免产生意外的副作用或输出。

posted @ 2024-06-19 11:37  cmoons  阅读(20)  评论(0)    收藏  举报