質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

16109閲覧

エラーが返ってきます(udasityでのpythonの授業内容)原因が分かる方おしえていただけませんか?

korosuke0415

総合スコア16

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/09/06 08:35

編集2017/09/06 09:02

python

1コード 2```2つのウインドウを使っていて、映画アバターの予告を流すというミッションです。 3コードを掲載させて頂きます。 4 5import webbrowser 6 7class Movie(): 8 9 def _init_ (self, movie_title, movie_storyline, poster_image, 10 trailer_youtube): 11 self.title = movie_title 12 self.storyline = movie_storyline 13 self.poster_image_url = poster_image 14 self.trailer_youtube_url = trailer_youtube 15 16 17 def show_trailer(self): 18 webbrowser.open(self.trailler_youtube_url) 19 20 21 22 232つ目 24import media 25 26toy_story = media.Movie("Toy Story", 27 "A story of aboy and his toys that come to life", 28 "https://www.google.co.jp/imgres?imgurl=https://images-na.ssl-images-amazon.com/images/I/51TZBZYQBQL.jpg&imgrefurl=https://www.amazon.co.jp/%25E3%2583%2588%25E3%2582%25A4%25E3%2583%25BB%25E3%2582%25B9%25E3%2583%2588%25E3%2583%25BC%25E3%2583%25AA%25E3%2583%25BC-DVD-%25E3%2583%2588%25E3%2583%25A0%25E3%2583%25BB%25E3%2583%258F%25E3%2583%25B3%25E3%2582%25AF%25E3%2582%25B9/dp/B0001VQVVU&h=500&w=355&tbnid=uW_4lqdxGvP9eM:&tbnh=186&tbnw=132&usg=__04K8VCgLlt4jCI3UmBzODDN3SOY=&vet=10ahUKEwiF2ejbsI3WAhVHhbwKHXd2ClgQ_B0IhQEwCg..i&docid=xZHYNcv29A4jXM&itg=1&sa=X&ved=0ahUKEwiF2ejbsI3WAhVHhbwKHXd2ClgQ_B0IhQEwCg&ei=LD-uWYWTNMeK8gX37KnABQ", 29 "https://www.youtube.com/watch?v=xlUrVeuIS4E" ) 30#print(toy_story.storyline) 31 32avater = media.Movie("Avater", 33 "A marine on an alien planet", 34 "https://www.google.co.jp/imgres?imgurl=https://images-na.ssl-images-amazon.com/images/I/51X-Tktc9BL.jpg&imgrefurl=https://www.amazon.co.jp/%25E3%2582%25A2%25E3%2583%2590%25E3%2582%25BF%25E3%2583%25BC-%25E5%2588%259D%25E5%259B%259E%25E7%2594%259F%25E7%2594%25A3%25E9%2599%2590%25E5%25AE%259A-DVD-%25E3%2582%25B5%25E3%2583%25A0%25E3%2583%25BB%25E3%2583%25AF%25E3%2583%25BC%25E3%2582%25B7%25E3%2583%25B3%25E3%2583%2588%25E3%2583%25B3/dp/B002P66JMU&h=500&w=353&tbnid=AZRw0S4DQhocXM:&tbnh=186&tbnw=131&usg=__xp_S280h52Xjd31QgPEkgsId3go=&vet=10ahUKEwilk9iSjpDWAhXEbrwKHcAvA80Q_B0IgAEwCg..i&docid=A3Y9ZiofW41OgM&itg=1&sa=X&ved=0ahUKEwilk9iSjpDWAhXEbrwKHcAvA80Q_B0IgAEwCg&ei=k62vWeX9NsTd8QXA34zoDA", 35 "https://www.youtube.com/watch?v=4tlGgOOgUyw") 36print(avatar.storyline) 37avater.show_trailer() 38 39 40エラー文 41 42Traceback (most recent call last): 43 File "C:\Users\yasuhiro\entertainment_center.py", line 6, in <module> 44 "https://www.youtube.com/watch?v=xlUrVeuIS4E" ) 45TypeError: object() takes no parameters 46>>> 47 48よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LouiS0616

2017/09/06 08:39

コードはバッククオート三つで括ってください。よくわからない場合は、マークダウン記法について調べてみてください。特にPythonの場合、インデントが崩れるとコードの意味が変わってきます。
LouiS0616

2017/09/06 08:42

エラーの内容も追記が必要ですね。
korosuke0415

2017/09/06 09:04

おっしゃられた通りにしてみました。どうでしょうか?
LouiS0616

2017/09/06 09:05

上手くいっていないですね。NCC1701様のリンク先を参照して、もう少し試してみてください。
guest

回答1

0

ベストアンサー

原因がわかりました。タイポです。
まず、同じエラーが出るコードを示します。

Python

1class MyClass(): 2 def _init_(arg): 3 pass 4 5my_class = MyClass(1) 6 7"""出力 8Traceback (most recent call last): 9 File "hoge.py", line 5, in <module> 10 my_class = MyClass(1) 11TypeError: object() takes no parameters 12"""

このエラーの原因は、__init__と書くべきところを、_init_と書いていることです。


もう少し具体的にお話しします。
Pythonの全てのクラスは、objectを継承しています。

よって、次のように、一見空っぽなクラスを作っても...

Python

1def EmptyClass(): 2 pass 3 4print(dir(EmptyClass)) 5 6"""出力 7['__annotations__', '__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__get__', '__getattribute__', '__globals__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__kwdefaults__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__'] 8"""

...このように、数多くのメソッドを持ちます。
ですので、必須のメソッドである__init__をタイポしても、自動的に実装されてしまうのです。

ここで、先ほどのエラーをもう一回見てみましょう。
TypeError: object() takes no parameters 『objectは引数を取らないよ』
確かに直接的な原因を指摘しているエラーメッセージだったんですね。

投稿2017/09/06 18:22

LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問