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

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

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

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

Q&A

解決済

2回答

2378閲覧

Python methodpylint(method-hidden) ??

ka_it_0

総合スコア7

Python

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

0グッド

0クリップ

投稿2019/08/05 11:48

前提・実現したいこと

Python tkinter などを使ってアプリケーションを作っています
クラスの使い方に関する構文エラーだと思うのですが、、、
次のエラーメッセージの意味が分からないので質問したいです
どのような感じのエラーか確証が欲しいですmm

発生している問題・エラーメッセージ

エラーメッセージ #def mp3(self) のdefのところに波線エラー An attribute defined in tk_ydl line 18 hides this methodpylint(method-hidden)

該当のソースコード

ソースコード from __future__ import unicode_literals import tkinter as tk import youtube_dl class Application(tk.Frame): def __init__(self, master=None): super().__init__(master) self.pack() self.create_widgets() def create_widgets(self): #MP4 self.hi_there = tk.Button(self) self.hi_there["text"] = "MP4" self.hi_there["command"] = self.mp4 self.hi_there.pack(side="top") # MP3 self.mp3 = tk.Button(self) ######Line18 self.mp3["text"] = "MP3" self.mp3["command"] = self.mp3 self.mp3.pack(side="top") #Quiet self.quit = tk.Button(self, text="QUIT", fg="red",command=root.destroy) self.quit.pack(side="bottom") def mp4(self): URL = input("URL:\n") ydl_opts = {} with youtube_dl.YoutubeDL(ydl_opts) as ydl: ydl.download([str(URL)]) def mp3(self): URL = input("URL:\n") ydl_opts = { 'format': 'bestaudio/best', 'postprocessors': [{ 'key': 'FFmpegExtractAudio', 'preferredcodec': 'mp3', 'preferredquality': '192', }], } with youtube_dl.YoutubeDL(ydl_opts) as ydl: ydl.download([URL]) root = tk.Tk() app = Application(master=root) app.mainloop()

試したこと

(method-hidden) python というキーワードで検索してみましたが
ピンポイントでわかりませんでした

補足情報(FW/ツールのバージョンなど)

言語: python3
エディタ :VScode
ツール : Anacondaなど

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

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

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

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

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

guest

回答2

0

ちなみにそのメッセージを直訳すると、

18行目のtk_ydlで定義された属性は、このメソッドを隠します。

となりますね。

投稿2019/08/07 12:33

mokemokechicken

総合スコア948

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

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

0

ベストアンサー

self.mp3 = tk.Button(self) ######Line18

def mp3(self):

とバッティングしてるよ、ということです。
Pythonの場合、同名の Attribute と Method を持つことはできません。

def download_mp3(self): # Method名は動詞っぽく

とか

self.mp3_button = tk.Button(self) # mp3 だと何が入るのかピンとこないからもう少し修飾

とかにするのが良いような気がします。

投稿2019/08/07 12:32

mokemokechicken

総合スコア948

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

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

ka_it_0

2019/08/09 02:31

解決しました! ありがとうございますmm
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問