类的初始化__init__使用

初始化方法:
作用:
对新创建的对象添加属性
语法:
class 类名(继承列表):
def __init__(self [, 形参列表]):
语句块

[] 代表中的内容可省略
说明:
1. 实始化方法名必须为 '__init__' 不可改变
2. 初始化方法会在构造函数创建实例后自动调用.且将实例自身通过第一个参数self 传入 __init__ 方法
3. 构造函数的实参将通过__init__方法的参数列表传入到 '__init__' 方法中
4. 初始化方法内如果需要return 语句返回,则只能返回None

复制代码
class Student:
    def __init__(self, name, age, score = 0):
        self.name, self.age, self.score = name, age, score

    def set_score(self, score):
        if 0 <= score <= 100:
            self.score = score

    def show_info(self):
        print(self.name, self.age, "岁,成绩:", self.score)

L = []
while True:
    name = input("姓名:")
    if name == "":
        break
    age = input("年龄")
    score = input("分数")
    L.append(Student(name, age, score))
L[1].set_score(70)
for obj in L:
    obj.show_info()

输出结果:
tarena@tedu:~/zengsf$ python3 exercise823.py
姓名:zengsf
年龄22
分数90
姓名:fengshao
年龄20
分数80
姓名:
zengsf 22 岁,成绩: 90
fengshao 20 岁,成绩: 70
复制代码

 

posted on   zengsf  阅读(362)  评论(0编辑  收藏  举报

编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· C# 13 中的新增功能实操
· Vue3封装支持Base64导出的电子签名组件
· 万字长文详解Text-to-SQL
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
历史上的今天:
2017-08-23 led不同颜色的驱动电压和驱动电流

导航

点击右上角即可分享
微信分享提示