我正在尝试学习 python,现在我正在尝试掌握类的窍门以及如何使用实例来操作它们。
我似乎无法理解这个练习问题:
创建并返回一个学生对象,其姓名、年龄和专业为
与作为输入给出的相同
def make_student(name, age, major)
我只是不明白对象是什么意思,它们是否意味着我应该在保存这些值的函数内创建一个数组?或者创建一个类并让这个函数位于其中,并分配实例? (在这个问题之前,我被要求建立一个学生班级,里面有姓名、年龄和专业)
class Student:
name = "Unknown name"
age = 0
major = "Unknown major"
class Student(object):
name = ""
age = 0
major = ""
# The class "constructor" - It's actually an initializer
def __init__(self, name, age, major):
self.name = name
self.age = age
self.major = major
def make_student(name, age, major):
student = Student(name, age, major)
return student
请注意,尽管 Python 哲学的原则之一是“应该有一种——最好只有一种——明显的方法来做到这一点”,仍然有多种方法可以做到这一点。您还可以使用以下两个代码片段来利用 Python 的动态功能:
class Student(object):
name = ""
age = 0
major = ""
def make_student(name, age, major):
student = Student()
student.name = name
student.age = age
student.major = major
# Note: I didn't need to create a variable in the class definition before doing this.
student.gpa = float(4.0)
return student
我更喜欢前者,但在某些情况下后者可能很有用——其中一个是在使用 MongoDB 等文档数据库时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)