PUROGU LADESU

ポエムがメインのブログです。

Python

【Python】メソッド内でのクラス変数の注意点

インスタンスメソッドからクラス変数を利用する クラス変数はインスタンスメソッドから利用する場合混乱しやすいため注意が必要。selfでアクセスする場合、インスタンス変数 -> クラス変数の順で探しに行くため、 クラス変数しかない状態でselfで代入すると…

速習Python:パッケージ

パッケージを作成 my_package の中の utils.py (v3.3以降は__init__.pyは必須でない) def sample1_func(): print("this is sample 1 func") def sample2_func(): print("this is sample 2 func") パッケージのインポート フルパスでパッケージ名を明示する…

速習Python:内包表記、例外処理

リスト内包表記 []の中にfor文をかいて配列を返すような場合、簡潔に書ける。 t = (1,2,3,4,5) r = [] for i in t: r.append(i) r = [i for i in t] ディクショナリ内包表記 zipを使う w = ['mon','tue','wed'] f = ['coffee','milk','water'] d = {} for x,…

速習Python:関数

関数 使う前に定義する。 引数の数が違うとエラー。(明示すれば可変長にできる) def add(a, b): return a + b def menu(entree ,drink, dessert='cake'): print(entree, drink, dessert) #キーワード引数も対応 menu(entree='chikin', drink='beer') 型宣…

速習Python:制御フロー

if インデントとしてスペース4つが必須。スペースの数が違うとエラー。if x print('') elif: print('') else: print('')cost = 0 if (ac == bc) else 1 演算子 / 除算 結果はfloat // 切り捨て除算 結果は整数だがfloatの可能性もある(要注意) % 余り 結果…

速習Python:データ構造

リスト(配列) list li = [5, 11, 40, 6, 55, 2, 7] li[-1] #最後尾 li[2] #3番目 li[:2] #0-3番目の手前まで li[:] #全部 len(li)list('abcde') で文字列をリストに変換li[::2] #全部を一つ飛ばしで取り出し li[::-1] #全部を逆順で取り出し リストの操作 …

速習Python 数値と文字列

print "python" でインタラクティブモード起動 print() type() #変数の型を確認 print('aaa', 'bbb', sep=',') 変数 varはなくていい 型は自動で決まる 型宣言はできるがエラーにはならず意味がないので不要nb: int = 1 num = 100 str = 'aaaa'定数はないけ…

Dockerでpython環境を作成する2

Dockerfileでbuildしてイメージ作成するパターン python環境を構築し、ホストからソース編集できるようにします。 入れたいパッケージのリストはrequirements.txtに任意で記載します。https://hub.docker.com/_/python 1. フォルダ構成 src/ src/main.py doc…

DockerでPython環境を作成する

Dockerfileを使わずDockerHubのイメージをそのまま使うパターンです。 python環境を構築し、ホストからソース編集できるようにします。 入れたいパッケージのリストはrequirements.txtに任意で記載します。https://hub.docker.com/_/python 1. フォルダ構成 …

Dockerでanaconda環境を作る

anacondaをインストールしてjupyternotebookを起動し、ホストからアクセスできるようにします。https://hub.docker.com/r/continuumio/anaconda3imageが4GBほどありますので注意。 1. フォルダ構成 src/ docker-compose.yml 2. 起動方法 docker-compose.yml…

【python】仮想環境切り替え

venv pythonについてくるやつです。仮想環境: Python環境構築ガイド - python.jp python3 -m venv .newenv .newenvフォルダが作成される。名前は何でも良い。 # 有効化する (sourceと.はカレントシェルでシェルを実行するコマンドです) source .newenv/bin…

【Python】Anaconda環境のパッケージの利用

Anaconda環境のパッケージの利用 Managing packages — conda 4.9.2.post26+f52f2bf4 documentation 使い方 conda install xxx conda remove xxxconda listコマンドはインストールしたパッケージのリストを表示する。 取得元チャネルも表示。 conda list chan…

【Python】Anaconda仮想環境の切り替え

conda environment これはcondaの仮想環境です。複数用意することが出来てそれぞれの仮想環境は影響を受けません。デフォルトではbaseという仮想環境が用意されます。 pythonのバージョンやcondaやpipでインストールするパッケージも分けることが出来ます。C…

【Python】pytestをVSCodeで動かす

unittestはunittest.TestCaseを継承しないといけなかったりするが、少しシンプルに書けるみたい。 VSCodeから使う Python Run All Tests を実行すると、テストに使うライブラリからpytestを選択、対象フォルダも選ぶ settings.jsonがプロジェクト内に作成さ…

【VSCode】pylanceが壊れているのか?

VSCodeの設定をいじくっていると、ファイルの先頭部分に波線が出るようになり、コード補完も効かなくなってしまった。Internal error parsing ...となっておりコードの実行自体は問題がないので、VSCodeがというかpylanceがコードを解析できていないようだっ…