在python中使用来自另一个类的方法

在python中使用来自另一个类的方法,python,google-app-engine,instance-methods,Python,Google App Engine,Instance Methods,我正在Google App Engine上进行“深入Python”的工作,在尝试从一个类调用另一个类的方法时遇到了这个错误: ERROR __init__.py:463] create() takes exactly 1 argument (2 given) Traceback (most recent call last): File "main.py", line 35, in get dal.create("sample-data"); File "dataAccess/d

我正在Google App Engine上进行“深入Python”的工作,在尝试从一个类调用另一个类的方法时遇到了这个错误:

ERROR __init__.py:463] create() takes exactly 1 argument (2 given)
Traceback (most recent call last):
  File "main.py", line 35, in get
    dal.create("sample-data");
  File "dataAccess/dal.py", line 27, in create
    self.data_store.create(data_dictionary);
TypeError: create() takes exactly 1 argument (2 given)
这是我的主要课程:

# filename: main.py

from dataAccess.dal import DataAccess

class MySampleRequestHandler(webapp.RequestHandler):
"""Configured to be invoked for a specific GET request"""

    def get(self):
        dal = DataAccess();
        dal.create("sample-data"); # problem area
MySampleRequestHandler.get()
尝试实例化和调用
DataAccess
,该访问在以下位置定义:

# filename: dal.py

from dataAccess.datastore import StandardDataStore

class DataAccess:
    """Class responsible for wrapping the specific data store"""

    def __init__(self):
        self.data_store = None;

        data_store_setting = config.SETTINGS['data_store_name'];                
        if data_store_setting == DataStoreTypes.SOME_CONFIG:
            self.data_store = StandardDataStore();

        logging.info("DataAccess init completed.");

    def create(self, data_dictionary):
        # Trying to access the data_store attribute declared in __init__
        data_store.create(data_dictionary);
我想我可以调用
DataAccess.create()
,其参数为1个参数,特别是根据Python中关于类方法调用的说明:

定义类方法时,必须明确地将self列为第一个 每个方法的参数,包括
\uuuu init\uuu
。当您调用 在类中,必须包含自参数。 但是,当您从外部调用类方法时,并没有指定任何内容 对于自我论证;完全跳过它,Python会自动添加 为您提供实例参考


应该是
self.data\u store.create(数据字典)

应该是
self.data\u store.create(数据字典)

self.data\u store.create(data\u dictionary)
中,
self.data\u store
指的是
self.data\u store=StandardDataStore()
方法中创建的对象


它看起来像是
标准数据存储
对象的
创建
方法不需要额外的参数。

self.data\u store.create(data\u dictionary)
中,
self.data\u store
是指由
self.data\u store=StandardDataStore()
方法中的
创建的对象


它看起来像是
StandardDataStore
对象的
create
方法不需要额外的参数。

我试过了,但得到了一个类似的错误:error init.py:463]create()正好接受一个参数(2个给定的)回溯(最后一次调用):文件“main.py”,第35行,在get dal.create(“示例数据”)中;文件“dal.py”,第27行,在createself.data\u store.create(data\u dictionary)中;TypeError:create()只接受1个参数(2个给定值)我尝试过,但得到了一个类似的错误:error init.py:463]create()只接受1个参数(2个给定值)回溯(最后一次调用):文件“main.py”,第35行,在get dal.create(“示例数据”)中;文件“dal.py”,第27行,在createself.data\u store.create(data\u dictionary)中;TypeError:create()只接受1个参数(给定2个)如何定义
StandardDataStore.create()
方法?它需要的参数是什么?是的,错误在于对象的
data\u store
方法
create()
而不是
DataAccess
方法。如何定义
StandardDataStore.create()
方法?它期望的参数是什么?是的,错误在于
数据存储
对象的
create()
方法,而不是
DataAccess
方法。