Pythonでいろいろ試してみた。
今まで静的な型付けの言語しか使ったことがなかったので、
最初は結構戸惑ったけど、ちょっとしたツールレベルのものなら書けるようになってきたと思う・・・。
あと、変数のスコープに苦戦。
他のグローバル変数、クラス変数、インスタンス変数の違いとか。
test_1.py
#!/usr/bin/env python
# coding:UTF-8
# グローバル変数
global_var = "global"
class Test1(object):
# クラス変数
class_var = "class"
def __init__(self):
# インスタンス変数
self.instance_var = "instance"
グローバル変数はグローバルと言いつつモジュール(ファイル?)内で扱う変数
呼び出しは変数名のみでOKだけど、中身を変更するときは関数内で下のような宣言が必要
test_1.py
def global_var_test(self):
# グローバル宣言
global gloval_var
# その後中身を変更できる
global_var = "change"
ちなみに、他モジュールから呼び出す方法が分からない・・・。
まあ、他モジュールから呼び出すようなものじゃない気もするけど。
クラス変数は、下記のように呼び出すといいと思う。
test_1.py
def get_class_var(self):
return Test1.class_var
self.class_varとすると、呼び出すときはクラス変数として呼び出されるが、
代入したらインスタンス変数の初期化となる。
(一回インスタンス変数としたら、次から呼び出すときもインスタンス変数が呼ばれる)
なので、インスタンス名.変数名の形式はインスタンス変数のみに固定したほうが、後の自分のためかな。