hakeの日記

Windows環境でプログラミングの勉強をしています。

python

python - numpyの初歩

numpyの基本的な機能確認 python のバージョンは 3.6.4

python - パッケージのimport

二つのファイルtest.pyとimport_test.pyを同じフォルダに置き、test.pyがimport_test.pyをimportして使用する。 一般的な使用 パッケージの関数やクラスは、import.hogeと書いて使用する。 test.py #coding: cp932 import import_test print(import_test.add…

python - 高階関数

filter - 要素を関数で評価した結果がTrueとなるものを返す #coding: cp932 # Falseで無い要素を返す v = filter(None, ["", 0, 1, None]) print(v) # -> <filter object at 0x0000000D8E26A470> print(list(v)) # -> [1] # 偶数ならTrue def is_even(x): if x % 2: return False else: return Tru</filter>…

python - 関数デコレータ

デコレート対象関数の実行前後に処理を追加する。 使用方法は、対象関数の定義の上の@デコレータ名を追加する。 @deco def myfunc(x):とすることで、myfuncをdecoの引数にするイメージ? def deko(myfunc) def wrapper(x): do_something return wrapper 使用…

python - 関数の可変長引数

#coding: cp932 def foo(*args, **kwargs): print("args:") for i in args: print(i) print() print("kwargs:") for i in kwargs.items(): print(i) foo("1", *["2", "3"], foo="A", **{"bar":"B", "baz":"C"}) # -> args: # 1 # 2 # 3 # # kwargs: # ('bar'…

python - クラス

コンストラクタは、__init__(self, *args) メソッドの最初の引数はself クラス変数は、クラス名.変数名 インスタンス変数は、self.変数名 #coding: cp932 class A: def __init__(self, arg): self.var = "instance var : " + arg def print(self): print(A.v…

python - 正規表現

reモジュールのメソッドを使用する場合。 import re # クラスメソッド # # # 文字列中にヒットする部分があるかを評価する m = re.search(r'[a-z]', '1a2b3c') print(m.group()) # a print(type(m)) # <class '_sre.SRE_Match'> print(m) # <_sre.SRE_Match object; span=(1, 2), match='a'> print(m.group(0)) # a print(m.start(0))</_sre.sre_match></class>…

python - False(偽)となるデータ

None、False、空文字、数値の0、空のコンテナが偽となる。 #coding: cp932 def is_true(arg): if arg: print("True") else: print("False") is_true(None) # False is_true(True) # True is_true(False) # False is_true(1) # True is_true(0) # False is_tr…

python - 辞書(dict)

#coding: cp932 d = {"foo": 1} d["bar"] = 2 d["baz"] = 3 print(d) # -> {'baz': 3, 'bar': 2, 'foo': 1} # keyを一つずつ取得 for k in d: print(k, "", end="") # -> baz bar foo print() # (key, value)を一つずつ取得 for t in d.items(): print(t, ""…

python - テキストファイルアクセス

# 一括リード f = open("test.txt","r") data = f.read() print(data) f.close() with open(filename, opt) as f とすると、close()を明示しなくても良いので楽。 rubyのFile.open(filename, opt){|f| do_something }と同じ? #coding: cp932 # 一括リード w…

python - print

python 2系では、引数に括弧が不要だが、python 3系では関数になったので括弧必須。 #coding: cp932 # デフォルトで改行有り print("Hello") print("World") # -> Hello # World # 改行なし print("Hello", end="") print("World") # -> HelloWorld # 複数の…

python - 制御構文

for文、while文ともelse節がある。else節はbreakで中断せずにループが終了した場合に実行される。 #coding: cp932 for i in range(5): # if i == 3: break print(i) else: print("else節実行") i = 0 while i < 5: # if i == 3: break print(i) i += 1 else:…

python - 例外処理

try節で例外が発生した場合、対応する例外のexcept節が実行される。例外の種別を指定しない場合は、 except Exception とする。 また、例外が発生しない場合はelse節が実行される。finally節は例外発生の有無に関わらず実行される。 #coding: cp932 try: pri…

python - Windowsへのインストール

入手先 今回は最新版のpython 3.5.0(python-3.5.0-amd64.exe)をインストールする。 python japan https://www.python.org/downloads/ あとwindows版のpython 3系は、numpyなどで通常の追加ライブラリでイストールできない場合があるそうなので、その場合のラ…