设计一个Student(学生)类,该类中包括属性学生name=雷雨、学生score=85,还包括say_score(显示成绩)方法。设计完成后,创建Student类的对象,显示学生成绩。
时间: 2024-02-05 17:12:20 浏览: 97
可以参考下面的代码实现:
```python
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
def say_score(self):
print(f"{self.name}的成绩是{self.score}分")
# 创建Student对象
stu = Student("雷雨", 85)
# 调用say_score方法显示成绩
stu.say_score()
```
输出结果为:
```
雷雨的成绩是85分
```
相关问题
class Student(): # study_time = 10 def __init__(self,name,score): self.name = name self.score = score pass def study(self): # study_time = 4 print("study_time") pass def print_name(self): print(f"学生{self.name()}") def print_score(self): print(f"成绩{self.score()}") def main(): # 实例化对象 需要加() # hwj = Student() # print(hwj.study_time) # hwj.study() # stu2 = {"name": "洪文霁", "score": 99} student1 = Student(name="洪文霁", score=99) student1.print_name() student1.print_score() if __name__ == '__main__': main()
这是对之前代码的修改,将 name 和 score 方法改名为 print_name 和 print_score,避免与属性重名。
在 main 函数中,通过 Student 类实例化了一个对象 student1,并调用了其 print_name 和 print_score 方法输出学生的姓名和分数。代码运行时,会输出:
学生洪文霁
成绩99
说明代码已经正确修改。
class Student(): # study_time = 10 def __init__(self,name,score): self.name = name self.score = score pass def study(self): # study_time = 4 print(study_time) def name(self): print(f"学生{self.name()}") def score(self): print(f"成绩{self.score()}") def main(): # 实例化对象 需要加() # hwj = Student() # print(hwj.study_time) # hwj.study() # stu2 = {"name": "洪文霁", "score": 99} student1 = Student(name="洪文霁", score=99) student1.name() student1.score() if __name__ == '__main__': main()
这段代码中定义了一个名为 Student 的类,其中 __init__ 方法用于初始化对象的属性 name 和 score,study 方法用于输出 study_time 变量的值,name 和 score 方法分别输出学生的姓名和分数。
在 main 函数中,通过 Student 类实例化了一个对象 student1,并调用了其 name 和 score 方法输出学生的姓名和分数。
需要注意的是,该代码存在一个问题:name 和 score 方法与属性重名,可能会导致属性被覆盖而无法正常访问,需要将方法名修改为其他名称。
阅读全文
相关推荐














