Python
dirオプションで漸近する方向を指定する using SymPy @syms x # dir="-": -0に漸近 limit(tan(x), x=>PI/2, dir="-") # oo # dir="+": +0に漸近 limit(tan(x), x=>PI/2, dir="+") # -oo # dir="+-": 両側から漸近 limit(tan(x), x=>PI/2, dir="+-") # Error:…
AtCoderで遭遇したのでメモ。
atcoderのabc問題を解いている。 atcoderは競技プログラミングなので、テストを書く必要はない。むしろ、テストを意識した実装にすることでコード量が増え実行時間が長くなる可能性もある。 ただ、過去問を使った練習だということ、最低限与えられた入出力例…
python3.5以降で利用できるようになった、「型ヒント」というのを使ってみた。
Python向けのwebアプリ開発用ライブラリ「dash」を使ってみました。
自分用に書籍管理アプリを作りたくて、書籍検索をするためにpython3から楽天ブックスAPIを使ってみた。
Pythonの深層学習ライブラリのKerasを使ってみた。 TensorflowやTheanoをベースにして、より簡単にモデルを作ったり拡張したりできるとのこと。 いつもお世話になっているサイトのMNISTとCIFARの実装を写経させてもらった。 たしかにモデルは各層をaddで追加…
僕は仕事時間の計測にtogglというサービスを利用している。 このサービスにはWebAPIが用意されているので、pythonでこれを実行するスクリプトを書いてみた。 import requests import pprint import sys API_TOKEN = 'your-api-token' def get_toggl(): heade…
Pythonの辞書型は中の順序が何順で並んでいるかは保証されていない。 従って、辞書のkeyやvalueを元に並び替えが必要な場合は少し気にしてやる必要がある。 d = {"a": 100, "c": 10, "0": 500} # keyでソート for key, value in sorted(d.items()): print("{…
Googleが出したpythonのスクリプトを実装するのに使える「python-fire」を試してみた。 公式のドキュメントとかこの記事を読みながら写経した。 これを使えば、確かにリッチなスクリプトが簡単に記述できる。 基本的には使いたいメソッドとかクラスを定義し…
Pythonistaからいろいろツイートするアプリができたら楽しいだろうなと考えて調べてみたところ、予想以上に簡単に実装することができた。 まず、前提条件としてiOS側にTwitterアカウントを1つ以上認証させておく必要がある。 Pythonistaのtwitterモジュール…
久しぶりにコードを読んでいて感動した。 Pythonの配列を初期化する時に、range関数を使用してできることを知った。 ary = [n for n in range(10)] print(ary) # => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 一定の間隔を持っていたり、特定の長さで値は適当でよい配…
Pythonのrandomモジュールには「choice」という関数がある。 これは配列を引数として受け取り、配列に含まれている要素から1つをランダムに選んで返すというもの。 import random ary = [1,2,3,4,5,6,7,8,9,0] for _ in range(5): print(random.choice(ary))…
jupyterでpython3のコードを書きながらアニメーションを実装しようとしたところ、なかなかうまく行かなかった。 調べてみたところ、jupyter上でアニメーションさせるときはplotを表示させるのではなく実装したアニメーションを直接呼び出す必要があった。 fr…
「Pythonからはじめる数学入門」を読んでいて、少し混乱してしまったところ。 sympyパッケージがもっている「sympify」と「simplify」の違いについて。 本を読んでいれば書いてあるのだが、いつの間にか混同して使っていた。 この2つの違いは以下の通り。 sy…
「Pythonから始める数学入門」の演習課題で、「トランプのカードをきる」というのがある。 カードは絵柄と数字の組み合わせを持っていて、これを52枚用意してランダムにシャッフルした上で結果を表示するというもの。 52枚を人力で丹精込めて1枚ずつリストに…
Python2.7をgoに変換するライブラリ「Grumpy」をGoogleがリリースした。 https://github.com/google/grumpy Googleのアプリの多くがPython2.7で実装されているということなので、Pythonアプリの高速化と同時に既存アプリをgoに移行するのだろうか、と思った…
数年Pythonを使ってきたけれど、今日始めてyieldを使ってみた。 これを使うことで、変化のある繰り返し処理を簡単に実装できる。 例1は複数のyieldを一つのメソッドの中で呼び出しておき、これを実体化したものをイテレータとして使用する。 yieldで宣言した…
1. Anacondaをインストール 以下のサイトから、Anacondaのインストーラーを落としてきます。 Anaconda Scientific Python Distributionstore.continuum.io メールアドレスの入力が求められましたが、基本無料なので心配しなくても大丈夫。 あとは、インスト…
PyCharmというPython用のIDEで下のようなコードを書いた。 if x > 0.1 and x < 0.5: ... すると、「simplify chained comparison」という警告が出た。 何事かと思いググってみると、「もっと単純なのに書き直せるぞ、ゴルルぁ」ということだった。 つまり、 …
と言うわけで、いつものように僕のボットを更新してみました。 fujitaka-pj/pythonbot-no1 今回は「matplotlibを利用して棒グラフを出力する」という機能を追加してみました。 myclass.pyに追加したdraw_chartというメソッドを呼ぶことで、word_dictionary.t…
機能も自分のプログラムを更新して、クラスを定義してみました。 fujitaka-pj/pythonbot-no1 Pythonでクラスを定義する場合は以下のような書き方になります。 class someone: def __init__(self): print('This is me') def say_something(self): print('some…
pythonのファイル書き込み機能を使って、会話を保存する機能をbotに追加しました。 fujitaka-pj/pythonbot-no1 pythonでは、以下のようにすることでファイルに書き込みができます。 file = open("filename", "w") file.write("hogehoge") file.close() file …
本当にただ返事を返すだけですが、なんとなく書いてみました。 githubのリンクは以下の通りです。 fujitaka-pj/pythonbot-no1 とりあえず、ユーザーの入力を受け付けるというのとランダムに返信を返すというのを実装しました。 方向性としては、生成したラン…
前提条件として「homebrewがmacにインストール済み」であること。 この環境下で以下のコマンドを実行。 brew update brew install python3 これで入れられます。 brew updateでhomebrewの環境を最新にしておきます。 その上でbrew install python3でPython3…
Pythonでプログラムを書くようになりました。 仕事ではなく完全に趣味です。新しいことを勉強するのはとても楽しいです。 何故Pythonを選んだのか?と言うと、以下のような理由です。 数学系のライブラリが整備されている グラフが書きやすい 人気がある こ…