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

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

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

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

Q&A

解決済

1回答

1658閲覧

python __class__.__name__ 動作がわからない。

shuring

総合スコア19

Python

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

0グッド

0クリップ

投稿2021/09/08 01:44

編集2021/09/08 12:37

前提・実現したいこと

classname.__class__.__name__.find()

の動作は、どのようになっているのでしょうか?
ご教授いただけると嬉しいです。

該当のソースコード

class x():     def __int__(self,i): self.i = i def calc(self): retun self.i+100 def name_find(m): classname = m.__class__.__name__ print(classname.find('x'))         print(classname.find('calc')) print(classname.find('あ')) x = x(i=2) x.calc name_find(x) >>>0 >>>-1 >>>-1

classname.find()で()の中の文字列は、何を認識してルのですか?
また、0、ー1の意味合いを教えていただきたいです。 e

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

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

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

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

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

quickquip

2021/09/08 02:03

冒頭の classname.__class__.__name__.find() は引用されているソースにはないので、編集した方がよいとは思います。 意図が伝わらないほどに紛らわしいわけではありませんが、気になりましたので。
kazuma-s

2021/09/08 04:00

全角スペースが入ってインデントが無茶苦茶。 __int__ は __init__ だろうし、retun は return でしょう。 質問を編集して、動くソースをコピペしてください。
guest

回答1

0

ベストアンサー

その1

classname.class.name.find()

の動作は、どのようになっているのでしょうか?

「classname」は認識間違えていて、インスタンスが入ります。
「x = x(i=2)」この式は動きますが非常に筋が悪く、この式の後で「x」はクラスでなくクラスxのインスタンスを保持するように変ってしまいます。 せめてクラス名をpythonの流儀に従って大文字「X」にしておけばよかったかと

__class__はそのオブジェクトのクラスを保持する特殊変数です。クラスを返します。
__name__はそのクラスの名前を保持する特殊変数です。 文字列を返します。
find()はここでは文字列のメソッドで、その文字列中に引数の文字列が現れる①を返します。存在しなければ、-1を返します。

その2

0、ー1の意味合いを教えていただきたい

上で説明したとおりです。
こういうことは、質問するのでなく、リファレンスで確認すべきです。

投稿2021/09/08 02:46

TakaiY

総合スコア13792

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問