Skip to content

雑多なメモ#

private 変数#

https://docs.python.org/ja/3/tutorial/classes.html#private-variables

オブジェクトの中からしかアクセス出来ない "プライベート" インスタンス変数は、 Python にはありません。(中略) クラスのプライベートメンバについて適切なユースケース(特にサブクラスで定義された名前との衝突を避ける場合)があるので、名前マングリング (name mangling) と呼ばれる、限定されたサポート機構があります。

input 関数の動作差分(2系・3系)#

  • Python2系ではinput関数で入力した値がデータ式として認識される。
  • 正しくpython2系で文字列を渡す際には"xxx"のようにクォートで囲む必要がある。
  • Python3系の場合はinput関数で入力した値がstr型として処理される。
print('Enter your name')
name = input()
print('name is : ' + name)

# xxx を打ち込んだとすると、以下のように入力値の変数が定義されていないという
# メッセージとともにエラーに

# Traceback (most recent call last):
#   File "test.py", line 2, in <module>
#     name = input()
#   File "<string>", line 1, in <module>
# NameError: name 'xxx' is not defined