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) # 一次性全填好
