かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

Python3

brew pyenv から anyenv の pyenv に乗り換えたら python インストールでエラーになるようになった

brew pyenv を消して anyenv の pyenv で Python をインストールしようとしたら BUILD FAILED というエラーが出るようになってしまった… 環境 MacOS Big Sur (11.6.1) anyenv 1.1.2 pyenv 2.2.3-1-g423de9ae 結論 Xcode のバージョンが古かったので最新の v1…

Heroku に Flask のアプリをデプロイしたメモ

ちょいちょいと試せる localhost でないサーバーで検証したいことがあったので Flask のアプリを Heroku にデプロイしてみました。(DB無し) Flask アプリの準備 # 仮想環境を作成 $ python -m venv .venv # 仮想環境を実行 $ source .venv/bin/activate # Fl…

Flask Flask-JWT-Extended がよしなに返してくれるエラーをカスタマイズしたい

Flask で書かれた API を使ったフロントの開発をしていました。 JWT が unauthorized になった時のエラーだけ他のエラーと形式が異なり、エラーコードも 401 で他のエラーと被ってしまっていて、フロントでエラーハンドリングが面倒なことになってしまってい…

Python3 要素が n の配列を生成したい

データを突っ込む初期値として [0, 0, 0] とか [[], [], []] みたいな配列を作りたい * n で要素を繰り返した配列が作れる data = [0] * 3 # [0, 0, 0] * n する配列の要素全てが n 回繰り返される data = [1, 2, 3] * 3 # [1, 2, 3, 1, 2, 3, 1, 2, 3] 要素…

環境構築 macOS Big Sur : anyenv の pyenv で Python を使えるようにした

Python 環境した構築のメモ macOS Big Sur anyenv インストール済み zah 前回までのあらすじ ( anyenv / nodenv のインストール ) anyenv で pyenv を使えるようにする pyenv は nodenv と違ってインストールする必要があった $ anyenv install pyenv /var/f…

Python データにコンマ , を含む CSV をいい感じに扱いたい

Pyton で CSV を扱うなら標準ライブラリの csv を使うのが良い。

Python3 クロージャやってみた

アイカツ!の放送日を Python でフォーマットしてました

Python3 Class インスタンス変数とクラス変数・インスタンスメソッドとクラスメソット。それからスタティックメソッド

インスタンス変数とクラス変数 インスタンス変数 … self.variable の形で定義する クラス変数 … クラスブロック直下に書かれた変数はクラス変数になる class User(object): # クラス変数 name = 'User' def __init__(self, name): # インスタンス変数 self.n…

Python3 class の getter / setter のメモ

また Python を少し触っています。 private 変数 のおさらい __ 始まりで作成された変数はインスタンスからしかアクセスできない private 変数になる class User(object): def __init__(self, name): self.__name = name def hi(self): print(f'Hi, {self.__…

Python zsh で仮想環境 venv に入れない?にハマる

Python の venv で作成した仮想環境に入れない問題にハマったのでメモ venv Python v3.3 から標準機能として取り入れられた仮想環境 venv 内では pip でインストールされるパッケージが仮想環境ごと別にすることができる 仮想環境の作成 $ python -m venv te…

Python3のTrueとFalse、それからNone

PythonのboolはTrueとFalse true、falseと小文字にするとエラーになる。 0, 0.0, [], {}, "", Noneはbool化するとFalse Trueは、1扱いにもなる Falseは、0, 0.0扱いにもなる Bool化 bool(0) # False bool(0.0) # False bool([]) # False bool({}) # False bo…

HomebrewでpyenvをアップデートしたらPythonが動かなくなった

HomebrewでpyenvをインストールしてPython環境を作っていました。 brew upgradeでpyenvがアップデートされた後Pythonを実行しようとしたら次のようなエラーが出るようになってしまいました。 $ python /Users/user_name/.pyenv/shims/python: line 21: /usr/…

Python3 自作モジュールのインポートにハマる

Python3 (3.6.5)でオレオレモジュールを作成してインポートしようとした際に結構ハマったのでメモ importの基本 import <module>キーワードでモジュールをインポートする import math print( math.pi ) # => 3.141592653589793 モジュールのメソッドはmodule.method</module>…

Python3 ファイルの絶対パスを取得したい。

os を使う import os currnet_dir = os.path.dirname( os.path.abspath(__file__) ) os.path.abspath(__file__) で現在のファイルの絶対パスを取得し、os.path.dirname(path)でファイルのあるディレクトリを取得。 参照: 10.1. os.path — 共通のパス名操作 —…

Python3 Classのメモ

classキーワードに続けて大文字から始まるクラス名を記述してクラスを作成する クラスからインスタンスを作成する際はnewなどのキーワードは不要 コンストラクタは__init__()で定義する class Player: # constructor def __init__(self, name = 'Human'): se…

Python 後で使う用に空の変数だけ作っておきたい。(変数宣言だけしたい)

なんとなくPythonがJavaScriptに似てる気がしてきてる今日このごろ。 後のループとかで使うために関数の先頭とかで空の変数だけ作っておきたい(関数宣言だけしたい)ってのに少しハマったのでメモ。 varみたいな宣言文がPythonには無いので、変数だけ作ってみ…

Python3 文字列中に変数展開したい

1. %演算子 変換指定子 フォーマット型 %f 浮動小数点数 %d 整数 %s 文字列 %x 16進数 %o 8進数 %% % print( 'Hello %s!' % 'World' ) # => Hello World area = 3.14 * 5 * 5 print( '円の面積は%f平方cm' % area ) # => 円の面積は78.500000平方cm cat = 3 …

Python3 辞書のループ

他の言語ではハッシュとか連想配列と呼ばれているようなキーと値が対になったデータ構造をPythonでは辞書(dictionary)と呼ぶらしいです。(厳密にはもっと違いがあるのかもしれません) 辞書をfor inでループ dict = {'name': 'Aki', 'age': 16, 'role': 'gunn…

Python3 ループいろいろ

for s = '' for i in range(3): s += str(i) print(i) # => 2 print(s) # => '012' s = '' # 3<= i < 10 でループ for i in range(3, 10): s += str(i) print(s) # => '3456789' リストをループ s = '' arg = ['foo', 'bar', 'buz'] for i in arg: s += i pr…

Python3 print でシンタックスエラーになった。

ヲタクなのでPaizzaのすみぺ(上坂すみれ)コラボにつられてPython入門しました。 コミケ時期にキャンペーンするのヤメて!! 原稿と被って出来ないの!! 各位ヨロシクオネガイシマス 超初心者なのでprintでシンタックスエラーを出してしまいました。 print で Mi…

Mac OSX High Sierra 開発環境セットアップのメモ (3) Python

Pythonをインストールしてみました。 pyenvのインストール Rubyで言うところのrbenv、バージョン管理のパッケージをhomebrewでインストールします $ brew install pyenv pyenvのパスを通す ~/.bashrcに下記を記述して保存 export PATH="$HOME/.pyenv/shims:$…