1
我有以下代碼,其中某種程度上類不尊重自我。名字,當我訪問函數中的類變量時,它抱怨self.variable不是全局變量。任何想法爲什麼?NameError:全局名稱類中的錯誤,但實際上已定義
from sqlalchemy import Column, ForeignKey, Integer , String, Float, DateTime
from sqlalchemy.ext.declarative import declarative_base
Base=declarative_base()
class Designs(Base):
__tablename__='designs'
design_name=Column(String(80),nullable=False,primary_key=True)
@property
def serialize(self):
return{
'design_name': self.design_name,
}
當我訪問該類時,design_name在那裏,但不知何故python抱怨它沒有聲明爲全局?有任何想法嗎?
假設與設計類中聲明溫度,並且充滿價值design_name
print temp.design_name
print temp.serialize()
xpc_fp <----- print i.design_name works
連載命令不起作用**並提供了以下錯誤:
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
File "database_setup.py", line 149, in serialize
'design_name': self.design_name,
NameError: global name 'design_name' is not defined
當然,我有一個猜測。您正在運行的代碼不是您發佈的代碼。在您的實際代碼中,字典中的'design_name'周圍沒有引號。 – kindall
您的代碼不能產生此錯誤。確保保存文件,然後重新運行。 – shx2
在沒有括號的情況下將其稱爲像這樣的'i.serialize' – Cicero