タグ

ブックマーク / sandmark.hateblo.jp (4)

  • Spacemacs + Python で快適コーディング環境を整える - すなぶろ

    最近spacemacsにハマってます。「Spacemacs とはなんぞや」についてはいろんな方々が 解説してくださっているので、その魅力についてはぜひそちらをご参照ください。 かくいう私もそういった記事を読んで手を出し、そのまま戻れなくなった身です。 今回は Python のコーディング環境を整えてみます。条件は以下。 Python 3.6.6 Spacemacs (develop branch) virtualenvwrapper を使用している pyenv を使用している (optional) Spacemacs + Python + LiveCoding + IPython Spacemacs では .py という拡張子のファイルを開くだけで Python コーディング用の様々なパッケージが自動インストールされる1のですが、 pip で特定のパッケージをインストールするとさらにパワフ

    Spacemacs + Python で快適コーディング環境を整える - すなぶろ
    peketamin
    peketamin 2019/10/09
  • Pythonのデコレータをイチから展開・解説してみた 【あれ? ただのクロージャじゃん】編 - すなぶろ

    前回のコードは思い返すだけでも寒気がするほどひどいものでした。そこで今回はPython固有の機能であるデコレータを使って、ちょっとPythonっぽいコードに変更します。 sandmark.hateblo.jp このデコレータ、LispやHaskellのように関数や処理を頻繁に渡す言語に慣れ親しんだ人なら比較的すぐに理解できると思うのですが、そうでない場合は難しく感じるかもしれません。しかし理解してしまえば「なんだそんなことか」といったものなので、もちろん乱用は禁物ですが、適宜使っていくことで明らかに読みやすく宣言的なコードを書くことができます。参考: PEP 318 再掲:リファクタリング対象 「デコレータとはなんぞや」というのは検索すればいくらでも出てきますので、今回ハマった点について書いていきます。また、デコレータが行うこと、行った結果関数がどう変更されるか、も書いてみようかと。 では

    Pythonのデコレータをイチから展開・解説してみた 【あれ? ただのクロージャじゃん】編 - すなぶろ
  • Python初心者に送る「人工知能の作り方」 Part3 - すなぶろ

    前回はAIに思考エンジンを追加しました。まだまだ会話にはなりませんが、継承を使ってコードを簡潔に保つことで、機能を追加しやすい状況にしています。今回のソースはこちら。 sandmark.hateblo.jp チャットボットっぽくなってきた? 今回のテーマは『Responderの動的切り替え』『データとプログラムの分離』『新たなResponderの追加』です。Python的には、ファイルの読み込み、リスト内包表記、正規表現を扱います。 Responderの切り替え 現状UnmoクラスはRandomResponderしか保持していません。これに加えてWhatResponderも保持するように変更し、入力のたびにランダムでResponderを切り替えるようにしてみましょう。以下はunmo.pyの__init__メソッドです。 def __init__(self, name): """文字列を受け

    Python初心者に送る「人工知能の作り方」 Part3 - すなぶろ
    peketamin
    peketamin 2019/04/06
  • Radonで始めるコードリファクタリング 【ランクAよりもPython力をつけろ】編 - すなぶろ

    スマートPythonプログラミング、引き続き読んでます。 sandmark.hateblo.jp 読み進めていると、Radonという循環的複雑度を調査するパッケージが紹介されていたので、今回はそれを用いてsandmark/unmoのdictionary.pyのリファクタリングに挑戦します。 先に言っておきますが、結果は失敗です。今の私の力ではリファクタリングできなかったという事実がわかったことが何よりの成果です。それに伴って課題が見つかったので、個人的には有意義な時間でした。 教科書 スマートPythonプログラミング: Pythonのより良い書き方を学ぶ 作者: もみじあめ発売日: 2016/03/12メディア: Kindle版この商品を含むブログ (1件) を見る Cyclomatic Complexity - 循環的複雑度 「ソースコードは読みやすく簡潔に保つ」というのは、プログラマ

    Radonで始めるコードリファクタリング 【ランクAよりもPython力をつけろ】編 - すなぶろ
    peketamin
    peketamin 2019/04/06
    Cyclomatic Complexity - 循環的複雑度
  • 1