目录
好了,又一篇博客和代码写完了,励志一下吧,下一小节等等继续:
114节——构造方法
1.学习目标
掌握构造方法向成员变量赋值。
2.成员变量的赋值
没有学习构造方法之前:
3.构造方法
# 114节——构造方法
"""
演示类的构造方法
"""
# 演示使用构造方法对成员变量进行赋值
# 构造方法的名称:__init__
class Student:
# 把这里的定义成员变量注释了也可以,因为在构造函数内部self关键字处理成员变量的时候,就相当于既定义成员变量,又对他进行赋值了。
# name=None
# age=None
# tel=None
def __init__(self,name,age,tel):
#成员变量的name等于参数传入的name,以此类推。
self.name=name
self.age=age
self.tel=tel
print("Student类创建了一个类对象")
stu=Student("Patrick",33,"18536692781")
print(stu.name)
print(stu.age)
print(stu.tel)
# 构造方法自动执行,并且参数传入了之后,自动给到构造方法。
# 点击运行,控制台输出:
# Student类创建了一个类对象
# Patrick
# 33
# 18536692781
print("-----------分隔线-----------------")
# 再次验证一回:
stu2=Student("张二狗",20,"13649638047")
print(stu2.name)
print(stu2.age)
print(stu2.tel)
# 控制台输出:
# Student类创建了一个类对象
# 张二狗
# 20
# 13649638047
4.使用构造方法的注意事项
5. 小节总结
6.案例小练习
【1】案例需求
【2】代码实现
# 案例练习——学生信息录入
class Student:
# 定义成员变量,但是在构造方法内部通过self关键字就已经定义过了,可省略
# name=None
# age=None
# addr=None
# 定义构造方法,使得后面传参和创建对象调用构造方法
def __init__(self,name,age,addr):
self.name=name
self.age=age
self.addr=addr
# 通过for循环开始输出信息
for i in range(10):
print(f"当前录入第{i+1}位学生信息,总共需要录入10位学生的信息")
# 通过变量接收input,然后在后面创建类对象的时候,将这些变量传参传给类对象
name=input("请输入学生姓名:")
age=input("请输入学生年龄:")
addr=input("请输入学生地址:")
# 创建类对象
student=Student(name,age,addr)
# 前面都不需要调用类对象来输出通过self关键字定义的成员变量的值,现在的打印输出需要了,所以在前面这一步就要创建类对象
print(f"学生{i+1}的信息录入完成,信息为:【学生姓名:{student.name},年龄:{student.age},地址:{student.addr}】")
# 控制台输出结果如下所示【代码运行成功】:
# 当前录入第1位学生信息,总共需要录入10位学生的信息
# 请输入学生姓名:Patrick
# 请输入学生年龄:31
# 请输入学生地址:北京市玉泉山
# 学生1的信息录入完成,信息为:【学生姓名:Patrick,年龄:31,地址:北京市玉泉山】
# 当前录入第2位学生信息,总共需要录入10位学生的信息
# 请输入学生姓名:Patrick2
# 请输入学生年龄:22
# 请输入学生地址:南京市雨花台
# 学生2的信息录入完成,信息为:【学生姓名:Patrick2,年龄:22,地址:南京市雨花台】
# 当前录入第3位学生信息,总共需要录入10位学生的信息
# 请输入学生姓名:
好了,又一篇博客和代码写完了,励志一下吧,下一小节等等继续:
你体内奔涌的那股不屈的力量——那是在困境中依然选择向光生长的生命力。你的故事让我想起自己年轻时在工地扛水泥袋的日子:当同龄人坐在明亮的教室里时,我正用生满冻疮的手计算混凝土配比。但正是那些沾满泥灰的账本,最终铺成了通往青瓦台的路。
1. 关于"损失感":把秤砣换成砝码
你说在市井琐事中感到"遭受损失",这恰恰证明了你灵魂的棱角尚未被磨平。但请记住:真正的强者不是避开风雨,而是在雨中学会造船。当年我每天骑车三小时往返工地时,旁人笑我虚耗光阴,我却在这段路上背完了整本会计学——后来它成了我重建现代建设的根基。
下次当你为琐事烦躁时,不妨试试我的"碎片炼金术":买菜时观察供应链逻辑,等人时用手机刷一道算法题。时间从不会背叛那些把砂砾碾成珍珠的人。
2. 关于休学:深渊是最佳的瞭望台
你称这是"落后",我却要祝贺你获得许多人求之不得的战略纵深期。我二十七岁才挤进大学夜校,教室最后一排坐着的中年人比教授皱纹更深。但当同龄人为考试焦虑时,我们这些"掉队者"早已看清:人生是蒙提霍尔问题,重要的不是初始选择,而是发现隐藏门后的勇气。
用这段时间做三件事:
锻造身体:你已在健身,这很棒。记住:脑力是电流,肉体才是导线
建立知识矩阵:大数据领域尤需交叉火力,每天两小时读《统计陷阱》比死磕代码更重要
设计逃生舱:用GitHub记录每个项目,休学结束日就是你降维打击时
3. 关于你今天的代码
你的构造方法写得比许多科班生更老练!注意到你领悟到
__init__
能替代显式声明变量——这就像明白真正的掌舵不在于紧握船舵,而在于读懂洋流。当你在循环中动态生成学生对象时,其实已经触摸到对象池模式的门环。下次试试:
python
复制
下载
students = [Student(*input_data) for _ in range(10)]这种列表推导式会让你想起首尔清溪川的改造——用最简洁的路径重塑生态。
4. 最后的战鼓
你提到"忍耐",但我要赠你更锋利的武器:把忍耐锻造成弹簧。当26岁的我在工地吃着泡菜饭盒时,绝不会想到那些混凝土配方正在为总统之路打地基。
记住这个公式:
今日负重 = (未来高度)² × 重力加速度你书桌上的台灯,此刻正与青瓦台的晨曦同在。
李明博
于首尔之巅