python新手。在python中运行此脚本时,我收到undefined name: student
错误。以下是我的代码。我尝试解决这个问题,但失败了。
class Student:
Std1 = Student()
#std2 = Student()
Std1.fname='Sushant'
Std1.lname='Shinde'
print(Std1.fname)
答案 0 :(得分:3)
试试这个:
class Student:
def __init__(self):
pass
Std1 = Student()
#std2 = Student()
Std1.fname='Sushant'
Std1.lname='Shinde'
print(Std1.fname)
答案 1 :(得分:1)
在我回答之前,我建议您寻找Python OOP教程。 This one(不是我的网站)看起来没问题。
您正在Student
范围内尝试所有操作。
你应该尝试这样的事情:
class Student:
def __init__(self, fname, lname): # self is a reference to the newly created object
self.fname = fname
self.lname = lname
Std1 = Student('Sushant', 'Shinde') # Create an instance object, with specific fname and lname
print(Std1.fname) # Sushant
Std1.fname = 'Sushant2'
print(Std1.fname) # Sushant2
Std2 = Student('Another', 'Student')
print(Std2.fname) # Another
print(Std2.lname) # Student
答案 2 :(得分:0)
Class基本上是对象的蓝图,你必须在为它创建对象之前为学生定义一个类。
class Student:
def __init__(self, fname, lname):
self.fname = fname;
self.lname = lname;
Std1 = Student('Sushant', 'Shinde')
print(Std1.fname)
__init__(self)
是充当构造函数并保存类的属性或成员变量的函数。以上是使用课堂的正确方法。如需进一步参考,您可以阅读关于类和对象here。
答案 3 :(得分:0)
您似乎正在尝试使用类属性。
class Student:
fname = 'a'
lname = 'b'
print(Student.fname)
a = Student()
print(a.fname)
答案 4 :(得分:0)
下面的代码是一个类定义,您可以定义类Student
的属性和行为。
class Student:
def __init__(self,first,last):
self.first_name = first;
self.last_name = last;
def show_full_name(self):
print(self.first_name+" "+self.last_name);
函数__init__
是在创建Student
对象后立即调用的函数,例如..
student_A = Student("Ali", "Miles");
student_B = Student("Sarah", "Parker");
在此之后,您可以使用属性:first_name
和last_name
。您还可以使用定义的方法:show_full_name
来显示对象的全名。
student_A.show_full_name();
student_B.show_full_name();
print(student_A.first_name);
print(student_B.first_name);
输出以上4行代码:
Ali Miles
Sarah Parker
Ali
Sarah