madokaのブログ

勉強したことのoutput先として使ってます。内容はpythonがらみが多いかもです。

python

pyenv+matplotlibで発生するエラーを回避する

タイトルの通り、pyenvで取得したpythonでmatplotlibを使おうとしたときの話です。 macOS Mojave 10.14.6 Homebrew 2.2.11 pyenv 1.2.15 python 3.7.5 import matplotlib.pyplot as plt ... plt.show() このようなグラフ表示を伴うコードを書くと以下のよう…

pythonでデコレーターを作るときに気をつけたいこと

sphinxでドキュメントを作成しようと思ったのですが、デコレーターをつけた関数の説明が軒並みおかしいので調べたところ、functools.wrapsというものの存在を知ったので記事にします。 デコレーターの書き方 pythonではデコレーターは以下のように作ります。…

デデンネの総合順位をスクレイピングして求めた話

2月の初旬に好きなポケモンがgoogleで投票できましたが、皆さんはデデンネに投票してくださいましたでしょうか? さて、2020/02/27はポケモンの日。前述した投票の結果も、この日の23時に公開されました。公開された情報は、総合TOP30および各地方のTOP30…

多重継承において取得できるメソッドやプロパティはどれ?

pythonでは多重継承ができます。もし同じメソッド、プロパティを持つクラス2つを継承した場合、どちらが取得できるのでしょうか。 下記にこれを検証するプログラムを書きました。 クラス名 継承順番 初期化順番 C A, B A, B D B, A A, B E A, B B, A このよ…

Pythonをつかってドラゴンズの試合結果を取得する

ドラゴンズの試合状況をサクッと取得できるようにしたいということで、野球の試合状況について、試合の状況(1回表、試合前)や対戦相手、得点状況を取得するプログラムを組みました。 今回は下記のyahooスポーツから情報を取得することにしました。 baseball.…

numpyをjson.dumpするときに気をつけたいこと

numpyの数値をほかのintやfloat型と同様にjson dumpしようとして、できたりできなかったりすることがあった。 どうやらfloat64はできるのにint64はできないらしい。 どの型ならそのままdumpできるのか どの型ならそのままdumpできるのか、testしてみました。…

AWS Lambdaで時刻を扱う

Lambdaにてdatetime.now()を用いて、現在時刻との時間比較を行うApplicationを作っていたところ、どうも時間比較が想定と違う動きをしているぞと悩んでました。ふとLambdaのTimeZoneが違うのでは!と頭をよぎったので調べてみました。 LambdaのTimeZoneは、…

雨の予報をslackに通知する

外に出かけると屋内にいることが多くて、雨が降ったことも気付かないことがしばしばある。雨が降っているのであれば雨が止むまで待てば良いし、降り止んでいるのならそのまま帰ればいいしで、とくに問題があることはない。しかし、そんな日に洗濯物を外に干…

pyqueryとBeautifulSoupの比較

lambdaにてpyqueryを使ったものをアップロードして利用しようとしたところ、エラーが発生してしまいました。pyquery中のetreeというパッケージが存在しないとのこと。おそらくetreeのデータをsite-packagesの中に組み込めば動くようになると考えられるのです…

YOLPを使って1時間以内の雨予報を取得する

休日なので外に洗濯物干してひきこもってたのですが、知らないうちにあめがふってたぽい?なことがありました。 そこで1日の天気予報とかではなく、もっと1時間とかの近い時間帯について雨の情報をおしらせしてくれるものがほしいなと思いました。 まずは…

pythonの参照型をデフォルト引数にすることとは

javaをメインにお仕事してたので、なかなかお目にかかることのなかったデフォルト引数 (javaにはない) 。最近pythonを書いていて、たまたまデフォルト引数にlistをいれてみようかなと思って書いてみたら、intelliJさんに黄色くされたので気になって調べてみ…

pythonのプロジェクトごとにパッケージを管理する

動機 Pythonをお仕事でも使うことになり、自分の環境だけでなく、他の環境でもすぐ動くようにする必要が出てきたので、pyenv-vertualenvを利用して環境構築をしました。その際の覚え書きです。 まずはインストール(Mac) Homebrewを使って、pyenvとpyenv-virt…