0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Pythonの名前につく謎のアンダーバー

Last updated at Posted at 2020-04-12

間違い等ありましたら、遠慮なくコメントください!

はじめに

pythonにおいて、名前をつける際にアンダースコアを使う場合がある。様々な使い方があるので解説する。全てに共通することだが、アンダースコアはただの記号ではなくアンダースコアも含めたものが名前として扱われる。名前全般に当てはまるので変数、関数その他に当てはまる。

_single_leading_underscore

先頭にひとつ

だけアンダースコアをつけた場合、import *とした場合に、インポートから除外される。これによって、モジュールの内部でしか使わず、モジュールを利用する人に使ってほしくないものを隠すことができる。ただし、明示的にimportされるとimportされてしまう。

single_trailing_underscore_

後ろにひとつ

だけつけた場合、特に機能は持たない。しかし、Pythonの予約語と同じ名前を使いたい場合に使用される。

__double_leading_underscore

主にクラス内において使用される。

前に2つ

つけると、クラスの外から呼び出すときは、別名でしか呼び出せなくなる。もちろん別名を使えば呼び出せる。先頭にひとつだけつけるよりはより強力に隠すことができる。

__double_leading_and_trailing_underscore__

前後に2つ

ついているとき、Pythonにとって特別な機能を持つことを表している。自分で勝手に作ってはいけないらしい。

参考にしたサイト

PEP 8 -- Style Guide for Python Code | Python.org

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?