Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python変数を使用した単一のアンダースコアプレフィックスの意味は何ですか?


単一のアンダースコア

クラス内で先頭にアンダースコアが付いている名前は、基本的に、属性またはメソッドがプライベートであることを意図していることを他のプログラマーに示すためのものです。

セミプライベートにはシングルアンダースコアを使用し、完全プライベート変数にはダブルアンダースコアを使用することをお勧めします。

PEP-8を引用するには-

_single_leading_underscore:弱い「内部使用」インジケーター。例えば。 from Mimport*名前がアンダースコアで始まるオブジェクトはインポートされません。

次のコードは、二重アンダースコアプレフィックスと単一アンダースコアプレフィックスの違いを示しています

class MyClass():
     def __init__(self):
             self.__fullrprivate = "World"
             self._semiprivate = "Hello"
mc = MyClass()
print mc._semiprivate
print mc.__fullprivate
出力
Traceback (most recent call last):
Hello
File "C:/Users/TutorialsPoint1/~_1.py", line 8, in <module>
print mc.__fullprivate
AttributeError: MyClass instance has no attribute '__fullprivate'


  1. Python Pandas-Seabornを使用して、群れを2つのカテゴリ変数でグループ化します

    SeabornのSwarmPlotは、重複しないポイントを持つカテゴリ散布図を描画するために使用されます。これにはseaborn.swarmplot()が使用されます。群れを2つのカテゴリ変数でグループ化するには、x、y、または色相を使用してswarmplot()でそれらの変数を設定します。 パラメータ。 次がCSVファイル形式のデータセットであるとしましょう:Cricketers2.csv まず、必要なライブラリをインポートします- import seaborn as sb import pandas as pd import matplotlib.pyplot as plt CSV

  2. Pythonグローバルインタープリターロック(GIL)とは何ですか

    この記事では、Pythonグローバルインタープリターロック(GIL)とは何ですか。 これは、Pythonインタープリターの可用性を複数のスレッドに同時に抵抗するロックまたは障害です。 GILは、Python3.xの障害/問題として識別されます。または、マルチスレッドアーキテクチャではマルチスレッドが許可されていないため、以前のバージョンです。 なぜ導入されたのですか? Pythonは、自動ガベージコレクションの概念をサポートしています。オブジェクトの参照カウントがゼロに達するとすぐに、メモリがクリーンアップされ、使用できるようになります。 >>> import sys &