![](/img/trans.png)
[英]AttributeError: type object 'Student' has no attribute 'name'
[英]Assertion Error, type object 'Student' has no attribute 'name'
我正在為一個類編碼,但出現以下斷言錯誤:類型對象“學生”沒有屬性“名稱”
這些斷言需要經過:
assert isinstance(getattr(Student, "name"), property)
assert isinstance(getattr(Student, "imt_name"), property)
assert isinstance(getattr(Student, "semester"), property)
我不明白為什么,因為我知道屬性名稱、imt_name 和學期應該是實例的一部分,而不是類的屬性。
class Student():
""" ein Student """
def __init__ (self, name, imt_name, semester):
self.name = name
self.imt_name = imt_name
self.semester = semester
def __str__(self):
return "{} {} in Semester {}".format(self.name, self.imt_name, self.semester)
教授會不會搞錯了? 或者有什么我不完全理解的東西?
您只需回答您的問題:
屬性名稱、imt_name 和學期應該是實例的一部分,而不是類的屬性
__init__
方法從未被調用過,請嘗試:
john = Student('john', 'smith', 2)
assert hasattr(john, "name")
assert isinstance(getattr(john, "name"), str)
第一個斷言是檢查實例是否有一個屬性,第二個斷言是檢查它的類型。
您可以使用hasattr
函數檢查給定類的實例是否具有給定屬性:
john = Student("A", "b", "c")
assert hasattr(john, "name")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.