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

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

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

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

1002閲覧

pythonコードでクラス名を引数に取る場合、小文字にする流儀はあるか否か。

sequelanonymous

総合スコア123

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/02/15 11:32

編集2019/02/15 11:33

以下のコードでUserAttributeを引数にとっていますが、
関数の引数にクラスを取る場合、そのクラスはインスタンスだと言えるので小文字にするという記述をどこかでみた覚えがあり、この引数をインスタンスと言う理解で小文字で統一スべきか否かで迷っています。
(クラス名も引数も小文字にするか否か)

インスタンスと言えるのであれば、かつ、流儀があるのであれば、今後こういったケースに遭遇した場合は、小文字にして書いていこうという方針にしようと思っています。

python

1def _get_id(UserAttribute): 2 UserAttribute.abc = .... 3 .... 4 _names = db.session.query(master_name).filter( 5 master_name.teacher_id == UserAttribute.id).first() 6 .... 7 .... 8 return abc 9 10 11class UserAttribute(View): 12 dca = .... 13 ... 14 user_id = _get_id 15 .... 16 ....

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

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

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

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

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

guest

回答2

0

あなたがそうしたいと思うならそうすればよろしい。
気分で決めればいいです

投稿2019/02/15 15:44

y_waiwai

総合スコア87774

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

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

0

ベストアンサー

インスタンスと言える

そもそもすべてのクラスはtypeクラスのインスタンスです。

流儀

特にないと思います。PEP8にも見あたりません。

ただ、クラスであることがわかりづらいと混乱を招く恐れがあるので、私が書くなら相応に配慮した名前にします(clsといったキーワードを含める等)。

投稿2019/02/15 11:55

hayataka2049

総合スコア30933

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

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

sequelanonymous

2019/02/16 04:00 編集

もしかしたら私が全てのクラスが〇〇クラスのインスタンスって言う文脈でのインスタンスの定義を明確に理解していないのかもしれません。そこでのインスタンスとは、具体的になんのことを指しているのでしょうか? clsを含めるっては参考にさせて頂きます、ありがとうございます。
hayataka2049

2019/02/18 09:31

文脈についてはよくわかりませんが、pythonの場合変数に代入できるものはすべてインスタンスです。
sequelanonymous

2019/02/18 09:42

> 全てのクラスが〇〇クラスのインスタンス ここでのインスタンスの意味はなんでしょうか? > pythonの場合変数に代入できるものはすべてインスタンスです。 当質問の内容では、クラスはどの変数にも代入されてないかと思うのですが、なぜインスタンスと言うのでしょうか?どういう風にインスタンスを解釈されていますか?
hayataka2049

2019/02/18 12:56

>インスタンスの意味 ごく一般的なインスタンスの意味とかわりません。要するに、クラスもインスタンスの一種であり、どのクラスのインスタンスかといえばtypeクラスのインスタンスという扱いになる、というだけのことです。 >代入 関数に引数を渡すことと代入することは意味合い的にはほぼ同じ処理です。関数内の処理を始める前に関数内のローカル名前空間において仮引数の名前に実引数を束縛しておく訳ですから。 実際、ドキュメントにもそう書いてあります。 >前提として、Python では引数は代入によって渡されます。 https://docs.python.jp/3/faq/programming.html#how-do-i-write-a-function-with-output-parameters-call-by-reference
sequelanonymous

2019/02/19 02:49

ご丁寧にありがとうございます。腑に落ち、助かりました。再勉強します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問