程式是:
class Stud。
def __init__(self):
self. displval()
print("I am Constructor"/span>)
self.sno = int(input("輸入卷號")
self.sname = (input("Enter the Name")
def displval(self)。
print("="/span>*50)
print(self.sno)
print(self.sname)
so = Stud()
uj5u.com熱心網友回復:
你的主要問題是你正在呼叫self.deprival 在你設定它試圖顯示的屬性之前
class Stud。
def __init__(self):
print("I am Constructor"/span>)
self.sno = int(input("輸入卷號")
self.sname = (input("Enter the Name")
self. displval()
def displval(self)。
print("="/span>*50)
print(self.sno)
print(self.sname)
然而,__init__做了太多的作業。它應該接收作為引數的值并簡單地設定屬性。如果你想讓 Stud 提供一種從用戶那里收集這些引數的方法,請定義一個額外的類方法。(__init__是否應該向標準輸出列印任何東西也是有爭議的,但我現在先不談這個。
class Stud。
def __init__(self, sno, sname)。
self.sno = sno
self.sname = sname
self. displval()
@classmethod[/span]。
def create_with_user_input(cls)。
sno = int(input("enter the roll number"))
sname = (input("Enter the Name")
return cls(sno, sname)
def displval(self)。
print("="/span>*50)
print(self.sno)
print(self.sname)
so = Stud.create_from_user_input()
uj5u.com熱心網友回復:
class Stud。
def __init__(self):
print("I am Constructor"/span>)
self.sno = int(input("輸入卷號")
self.sname = (input("Enter the Name")
self. displval()
def displval(self)。
print("="/span>*50)
print(self.sno)
列印(self.sname)
so = Stud()
把self. displval()放在最后。 你要在它有任何self.[value]傳入方法之前呼叫它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/310480.html
標籤:
上一篇:回圈和物件初始化問題(C )。
