python之类和对象

直接写:

复制代码
class Student:
    name = None
    age = None
    address = None  # 修正拼写

total = 10
for i in range(total):
    print(f"当前录入第{i+1}位学生信息,总共录入{total}位学生信息")
    
    stu = Student()
    stu.name = input("请输入学生姓名:")
    stu.age = int(input("请输入学生年龄:"))
    stu.address = input("请输入学生地址:")

    # 修正:用 i+1 显示学生编号
    print(f"学生{i+1}信息录入完成,信息为:"
          f"【学生姓名:{stu.name},"
          f"年龄:{stu.age},"
          f"地址:{stu.address}】")

构造方法:

复制代码
class Student:
    # 构造方法:在创建对象时自动调用
    def __init__(self, name, age, address):
        self.name = name
        self.age = age
        self.address = address


total = 10
for i in range(total):
    print(f"当前录入第{i+1}位学生信息,总共录入{total}位学生信息")
    
    # 先用 input 获取用户输入
    name = input("请输入学生姓名:")
    age = int(input("请输入学生年龄:"))
    address = input("请输入学生地址:")
    
    # 构造方法:创建对象时直接传入数据
    stu = Student(name, age, address)
    
    print(f"学生{i+1}信息录入完成,信息为:"
          f"【学生姓名:{stu.name},"
          f"年龄:{stu.age},"
          f"地址:{stu.address}】")

普通的类: 先定义类,然后创建对象,创建后需要一个一个地手动赋值

有构造方法的类: 在定义类时就设计好"模板",创建对象时直接把所有数据一次性传进去,自动完成赋值。


关键区别细化

对比维度 普通类(无构造方法) 有构造方法的类
定义方式 class Student: name = None class Student: def __init__(self, name): self.name = name
创建对象 stu1 = Student() stu2 = Student() stu1 = Student("小明") stu2 = Student("小红")
赋值时机 创建之后,单独赋值 创建的同时,直接赋值
代码行数 多(需要多行赋值) 少(一行搞定)

一句话终极总结

构造方法就是"快速填表工具"

普通方式:先拿空表,再手写填内容。

构造方法:直接把内容打印在表上,一次成型。

普通方法:先拿空表,一项一项填

python

复制代码
stu = Student()              # 拿空表
stu.name = "周杰轮"          # 填姓名
stu.age = 31                 # 填年龄
stu.address = "北京"         # 填地址

构造方法:信息准备好,一次性全填

python

复制代码
# 先准备好信息
name = "周杰轮"
age = 31
address = "北京"
stu = Student(name, age, address)  # 一次性全填好