Python

sympy.jlの右極限・左極限

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:…

Pythonでべき乗やべき乗根を計算する。

AtCoderで遭遇したのでメモ。

atcoderのabc問題をテスト駆動で解く

atcoderのabc問題を解いている。 atcoderは競技プログラミングなので、テストを書く必要はない。むしろ、テストを意識した実装にすることでコード量が増え実行時間が長くなる可能性もある。 ただ、過去問を使った練習だということ、最低限与えられた入出力例…

型ヒントを使ってみる。

python3.5以降で利用できるようになった、「型ヒント」というのを使ってみた。

「dash」というライブラリを使ってみた。

Python向けのwebアプリ開発用ライブラリ「dash」を使ってみました。

楽天ブックスAPIで書籍検索してみた。

自分用に書籍管理アプリを作りたくて、書籍検索をするためにpython3から楽天ブックスAPIを使ってみた。

深層学習ライブラリKerasを触ってみた。

Pythonの深層学習ライブラリのKerasを使ってみた。 TensorflowやTheanoをベースにして、より簡単にモデルを作ったり拡張したりできるとのこと。 いつもお世話になっているサイトのMNISTとCIFARの実装を写経させてもらった。 たしかにモデルは各層をaddで追加…

requestsでToggl APIを使ってみる。

僕は仕事時間の計測に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("{…

python-fireを触ってみた。

Googleが出したpythonのスクリプトを実装するのに使える「python-fire」を試してみた。 公式のドキュメントとかこの記事を読みながら写経した。 これを使えば、確かにリッチなスクリプトが簡単に記述できる。 基本的には使いたいメソッドとかクラスを定義し…

Pythonistaからツイートする。

Pythonistaからいろいろツイートするアプリができたら楽しいだろうなと考えて調べてみたところ、予想以上に簡単に実装することができた。 まず、前提条件としてiOS側にTwitterアカウントを1つ以上認証させておく必要がある。 Pythonistaのtwitterモジュール…

range関数を使用した配列の生成

久しぶりにコードを読んでいて感動した。 Pythonの配列を初期化する時に、range関数を使用してできることを知った。 ary = [n for n in range(10)] print(ary) # => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 一定の間隔を持っていたり、特定の長さで値は適当でよい配…

random.choice()で配列の中身をランダムに選ぶ

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 notebook上でanimationを実行する

jupyterでpython3のコードを書きながらアニメーションを実装しようとしたところ、なかなかうまく行かなかった。 調べてみたところ、jupyter上でアニメーションさせるときはplotを表示させるのではなく実装したアニメーションを直接呼び出す必要があった。 fr…

sympyのsympifyとsimplifyの違いについて

「Pythonからはじめる数学入門」を読んでいて、少し混乱してしまったところ。 sympyパッケージがもっている「sympify」と「simplify」の違いについて。 本を読んでいれば書いてあるのだが、いつの間にか混同して使っていた。 この2つの違いは以下の通り。 sy…

pythonでFiniteSetを使って組み合わせを一気に作る

「Pythonから始める数学入門」の演習課題で、「トランプのカードをきる」というのがある。 カードは絵柄と数字の組み合わせを持っていて、これを52枚用意してランダムにシャッフルした上で結果を表示するというもの。 52枚を人力で丹精込めて1枚ずつリストに…

Python2.7をgoに変換するGrumpyを試す

Python2.7をgoに変換するライブラリ「Grumpy」をGoogleがリリースした。 https://github.com/google/grumpy Googleのアプリの多くがPython2.7で実装されているということなので、Pythonアプリの高速化と同時に既存アプリをgoに移行するのだろうか、と思った…

pythonのyieldについて

数年Pythonを使ってきたけれど、今日始めてyieldを使ってみた。 これを使うことで、変化のある繰り返し処理を簡単に実装できる。 例1は複数のyieldを一つのメソッドの中で呼び出しておき、これを実体化したものをイテレータとして使用する。 yieldで宣言した…

AnacondaとJuliaで機械学習実装環境を作ってみた on Windows

1. Anacondaをインストール 以下のサイトから、Anacondaのインストーラーを落としてきます。 Anaconda Scientific Python Distributionstore.continuum.io メールアドレスの入力が求められましたが、基本無料なので心配しなくても大丈夫。 あとは、インスト…

Pythonのif文条件のチェイン

PyCharmというPython用のIDEで下のようなコードを書いた。 if x > 0.1 and x < 0.5: ... すると、「simplify chained comparison」という警告が出た。 何事かと思いググってみると、「もっと単純なのに書き直せるぞ、ゴルルぁ」ということだった。 つまり、 …

【Python】ボットにグラフ描画させる機能を追加したぞー!

と言うわけで、いつものように僕のボットを更新してみました。 fujitaka-pj/pythonbot-no1 今回は「matplotlibを利用して棒グラフを出力する」という機能を追加してみました。 myclass.pyに追加したdraw_chartというメソッドを呼ぶことで、word_dictionary.t…

【python】クラスを実装する

機能も自分のプログラムを更新して、クラスを定義してみました。 fujitaka-pj/pythonbot-no1 Pythonでクラスを定義する場合は以下のような書き方になります。 class someone: def __init__(self): print('This is me') def say_something(self): print('some…

【python】会話を記録する機能を追加しました。

pythonのファイル書き込み機能を使って、会話を保存する機能をbotに追加しました。 fujitaka-pj/pythonbot-no1 pythonでは、以下のようにすることでファイルに書き込みができます。 file = open("filename", "w") file.write("hogehoge") file.close() file …

【python】入力に対して適当に返事を返すプログラムを書いてみた

本当にただ返事を返すだけですが、なんとなく書いてみました。 githubのリンクは以下の通りです。 fujitaka-pj/pythonbot-no1 とりあえず、ユーザーの入力を受け付けるというのとランダムに返信を返すというのを実装しました。 方向性としては、生成したラン…

【python】homebrewでmacにpython3を入れる

前提条件として「homebrewがmacにインストール済み」であること。 この環境下で以下のコマンドを実行。 brew update brew install python3 これで入れられます。 brew updateでhomebrewの環境を最新にしておきます。 その上でbrew install python3でPython3…

【プログラミング】Python、始めました!

Pythonでプログラムを書くようになりました。 仕事ではなく完全に趣味です。新しいことを勉強するのはとても楽しいです。 何故Pythonを選んだのか?と言うと、以下のような理由です。 数学系のライブラリが整備されている グラフが書きやすい 人気がある こ…