[解決済み】python object() takes no parameters エラー 【終了しました。
質問
これが本当に問題なのか信じられませんが、このエラーをデバッグしようとしても、どこにもたどり着けません。これはとても馬鹿げているように思えるので、何か本当に簡単なことを見逃しているのだと思います。
import Experiences, Places, Countries
class Experience(object):
def make_place(self, place):
addr = place["address"]
addr = Places.ttypes.Address(addr["street"], addr["city"], addr["state"], Countries.ttypes._NAMES_TO_VALUES[addr["country"]], addr["zipcode"])
ll = Geocoder.geocode(addr["street"]+", "+addr["city"]+", "+addr["state"]+" "+addr["zipcode"])
place["location"] = Places.ttypes.Location(ll[0].coordinates[0], ll[0].coordinates[1])
def __init__(self, exp_dict):
exp_dict["datetimeInterval"] = Experiences.ttypes.DateTimeInterval(remove(exp_dict, "startTime"), remove(exp_dict, "endTime"))
exp_dict["type"] = Experiences.ttypes.ExperienceType.OPEN
exp_dict["place"] = self.make_place(exp_dict["place"])
self.obj = Experiences.ttypes.Experience(**exp_dict)
@client.request
@client.catchClientException
def addExperience(thrift, access_token, exp_dict):
experience = Experience(exp_dict)
return thrift.client.addExperience(thrift.CLIENT_KEY, access_token, experience.obj)
(addExperienceに対応する2つのデコレータは、これがそのクラスが宣言されているファイルの外で定義されているためです)。
というエラーが出ています。
experience = Experience(exp_dict)
TypeError: object() takes no parameters
つまり、init関数に第2引数を宣言しているのは明らかなので、これでは何の意味もないのです。何か助かる方法があれば教えてください。
Traceback (most recent call last):
File "/Users/phil/Hangify/hy-frontend-server/env/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/Users/phil/Hangify/hy-frontend-server/env/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/Users/phil/Hangify/hy-frontend-server/env/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/Users/phil/Hangify/hy-frontend-server/env/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/Users/phil/Hangify/hy-frontend-server/env/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/Users/phil/Hangify/hy-frontend-server/env/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/Users/phil/Hangify/hy-frontend-server/env/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/Users/phil/Hangify/hy-frontend-server/env/lib/python2.7/site- packages/flask/app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/Users/phil/Hangify/hy-frontend-server/hangify/session.py", line 22, in check_login
return f()
File "/Users/phil/Hangify/hy-frontend-server/hangify/handlers/create.py", line 31, in Handle
res = exp.addExperience(hangify.thrift_interface, access_token, experience)
File "/Users/phil/Hangify/hy-frontend-server/hangify/client/__init__.py", line 22, in decorator
obj = func(client, *args, **kwargs)
File "/Users/phil/Hangify/hy-frontend-server/hangify/client/__init__.py", line 30, in decorator
return func(*args, **kwargs)
File "/Users/phil/Hangify/hy-frontend-server/hangify/client/exp.py", line 39, in addExperience
experience = Experience(exp_dict)
TypeError: object() takes no parameters
これは、Experienceクラスのモジュール単位での正しい位置を示しています。
[<class 'hangify.client.exp.Experience'>, <type 'object'>]
そしてこちらがdir(エクスペリエンス)です。
{コード
解決するには?
タブとスペースが混在しています。
{コード
は実際には別のメソッドの内部でネストして定義されているので、あなたのクラスは自分自身の
['__class__', '__delattr__', '__dict__', '__doc__', '__format__',
'__getattribute__', '__hash__', '__init__', '__module__', '__new__',
'__reduce__', '__reduce_ex__', '__repr__', '__setattr__',
'__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'make_place']
メソッドを継承し
__init__
代わりに コードをメモ帳で開くと、Pythonのタブ処理ルールと同じように見ることができます。
だから、タブとスペースを混在させてはいけないのです。どちらか一方にとどめておきましょう。スペースは推奨されています。
関連
-
python string splicing.join()とsplitting.split()の説明
-
PythonはWordの読み書きの変更操作を実装している
-
python implement mysql add delete check change サンプルコード
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み] データ型が理解できない
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
PythonによるExcelファイルの一括操作の説明
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】NameError: 名前 'self' が定義されていません。