这应该是一个垒球问题。
我有一个名为Table的自定义类,其方法包括getTableName
class table(object):
def __init__(self, tableName, aliasName = 'none'):
"""Create assign a name"""
self.tableName = tableName
if aliasName == 'none':
self.aliasName = tableName
else:
self.aliasName = aliasName
self.columns = []
self.relatedTables = []
def getTableName (self):
return self.tableName
在另一个脚本中,我创建了一个表数组
import table
tables = []
然后我追加表数组。
def appendTables(newTable):
#check list of tables for match
#if first batch of tables just append to tables
if len(tables) == 0:
tables.append(newTable)
return
found = False
for oTable in tables:
print "type newTable" #type newTable
print type(newTable) #<class 'table.table'>
print "type oTable" #type oTable
print type (oTable) #<type 'module'>
a = newTable.getTableName() #OK
b = oTable.getTableName() #CRASH "AttributeError: 'module' object has no attribute 'getTableName'"
为什么Python无法识别该类?
答案 0 :(得分:1)
如果在table
文件中定义了课程table.py
,则需要
from table import table
或使用table.table
作为班级名称。此外,按照惯例,用户定义的类名应以大写字母开头,以便您的代码看起来像
class Table(object):
和
from table import Table
和
table.Table