vim 素人の @tk0miya です。 いままで .vimrc が 1バイト(改行文字)しかないってバカにされていたんですが、ようやくその呪縛を解く時が来ました。 python のリントツールとしてよく使われている flake8 を編集時に実行しようと思っていろいろ調べました。 適当にぐぐってみると 3 つほど vim プラグインを見つけました。 vim-flake8 https://github.com/nvie/vim-flake8 flake8-vim https://github.com/vim-scripts/Flake8-vim khuno https://github.com/alfredodeza/khuno.vim それぞれ、2,3 分触った感触をまとめます。 vim-flake8 最初に見つけたやつです。 vim で python 開発するとき pyflakes +
anyenvという**env系の簡易マネージャを作った - As a Futurist... anyenvで開発環境を整える - Qiita あたりを見て良さそうだったので導入してみた。 インストール $ git clone https://github.com/riywo/anyenv ~/.anyenvあとは適当に.zshrcに以下を追記した。 # anyenv export PATH="$HOME/.anyenv/bin:$PATH" eval "$(anyenv init -)" そのあと使っているplenvとrbenvを入れておく。 $ anyenv install plenv $ anyenv install rbenv anyenv update そのあとanyenv-updateが便利と聞いたので、導入してみた。https://github.com/znz/anyenv-u
Pythonで,知っておくとちょっと便利になる組み込み関数や標準ライブラリを紹介してみようと思います! そこそこメジャーなものからニッチなものまでいろいろありますが,知らないものはぜひチェックしてみて下さい. 組み込み関数 allとany all( )は引数の要素が全てTrueならばTrue,any( )は引数の要素のいずれか1つでもTrueならTrueを返す. In [1]: all(_ % 2 == 0 for _ in [1, 2, 3]) # 全て偶数 or not Out[1]: False In [2]: any(_ % 2 == 0 for _ in [1, 2, 3]) # いずれか1つでも偶数 or not Out[2]: True
はじめに なぜPythonを選ぶか かなり独断と偏見が入っていますが、 シンプルな言語セット 某言語のように、呪文のように短く書けることが命ではない。 それでいて、書くコード量は少なく、すっきりしている。 某言語のように、記号を多用しない。 コードを書いている間Shiftキーを押しっぱなしにならない。 学習コストが低い。 言語セットとしての文法は、わりと平易で、直感で理解できる。 難しい書き方は、後から覚えればよい。 文法書を読むのは、後からでいいでしょう。まずこの講座をやってみましょう。 Djangoフレームワークや、各種Pythonパッケージのソースを読んでも、 言語仕様を駆使した難しい書き回しは少ない。 メンテナーでなくても意外と読める。 なぜDjangoを選ぶか Pythonで作られたフルスタック・フレームワークであるということ。 必要なものはすべて揃っている。 テンプレートはあれ
米JetBrainsは、PythonおよびDjango向けIDEの最新バージョン「PyCharm 4」を、11月19日(現地時間)にリリースした。PythonとWeb開発に対応した「Professional Edition」と、Pythonでの開発に特化したオープンソース版の「Community Edition」の、2つのエディションを用意している。 今回のリリースでは、これまで以上に学術分野への対応を強化しており、「IPython Notebook」と、matplotlibをサポートするNumPyに対応した「NumPy array viewer」をPythonコンソールに統合した。 また、新たにBDD(ビヘイビア駆動開発)を導入しており、要求仕様テキストとテスト結果のグラフィカルな表示を実現することで、開発のさまざまな局面をサポートする。なお、Python向けBDDツールとして知られる、
動的型付言語であえて型を宣言する方式(Type Hinting or Optional Typing)、最近流行ってますね。 言語仕様としては Dart や TypeScript が採用していますし、Pythonでは 開発者のGuido氏が次期バージョン (3.5) での型アノテーションの導入を提案 しています。 Pythonで型アノテーションの導入って結構インパクトありそうですが、国内の情報がほとんどなかったので、実際どんなもんなのか、既存ツールで試せる範囲で試してみました。 そもそも、Python で型を使うと何が嬉しいのか、 Guido氏の提案メール から引用します。 Editors (IDEs) can benefit from type annotations Linters are an important tool for teams developing software
http://pyladies-tokyo.connpass.com/event/8744/ 「Pythonと私の付き合い方」をテーマという事で。こんな話をしてみました。
This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release. 3.1. Objects, values and types¶ Objects are Python’s abstraction for data. All data in a Python program is represented by objects or by relations between objects. (In a sense, and in conformance to Von Neumann’s model of a “stored program c
すごい合同勉強会2014 in 広島でセッションしたので内容を公開しておく。 今回は「私がモナドの内包表記という名前を知った時の感覚を伝えよう」というのが目的でした。 さりげなく「私がモナドに感じている効能を伝える」というのもしているのですが、そこは本当にさりげなく。 内包表記。その意味を知らずに5年前ぐらいにpythonで利用していて、forやif文字通りにうけとっており、その動作を正しく理解できてないときがありました。 現在とその間にHaskellを学び、その5年前の自分に内包表記を伝えるにはという観点で話を進めました。 まず、リストの内包表記ですが、リストを生成を簡単にしてくれる機能です。 内包表記は、どうやら数学の集合の記法である内包的記法に由来するそうで、「関数プログラミング入門 ―Haskellで学ぶ原理と技法―」か何かで読んだ記憶があります。 その対になる記法として外延的記法
MySQL-Python (MySQLdb) のメンテナンスが停滞したことで fork して後方互換性を保ったままメンテナンスをしている mysqlclient ですが、 Django の recommend になりました。 Databases | Django documentation | Django もともと推奨になっていた MySQLdb が Python 3 をサポートしないままメンテナンスが停滞していることが問題になり、対立候補が MySQL Connector/Python と mysqlclient でした。 Oracle 公式の安心感(僕個人が片手間にやってるよりは圧倒的に開発リソースを避けるはず)も捨てがたいのですが、クエリ結果のカラム数×行数(=MySQLパケット数)が多い時に Pure Python の MySQL Connector/Python と libmy
vi ~/.vimrc " bundleのディレクトリ指定 set runtimepath+=~/.vim/bundle/neobundle.vim/ " neobundleを読み込む call neobundle#begin(expand('~/.vim/bundle/')) " neobundle を管理 NeoBundleFetch 'Shougo/neobundle.vim' " **** 導入するプラグイン **** NeoBundle 'Flake8-vim' NeoBundle 'davidhalter/jedi-vim' NeoBundle 'hynek/vim-python-pep8-indent' NeoBundle 'Townk/vim-autoclose' NeoBundle 'scrooloose/syntastic' " neobundle を閉じる call
I find that if I initialize an empty dictionary at the beginning, and then adding elements to the dictionary in a for loop (about 110,000 keys, the value for each key is a list, also increasing in the loop), the speed goes down as for loop goes. I suspect that the problem is, the dictionary does not know the number of keys at init time and it is not doing something very smart, so perhaps the stora
PythonにはPEP8 (日本語訳)という 公式のコーディングスタイルあります。 どうせならちゃんとコーディングスタイルに沿った綺麗なコードが書きたいですよね。 ということでvimでPythonコードがPEP8に従っているか自動的にチェック、修正するようにします。 PEP8のチェック PEP8に従っているかチェックするにはpep8という、そのままの名前のツールを使います。 pep8 - Python style guide checker おまけとしてpyflakesという、文法チェックや未使用なimportや変数を教えてくれる便利なツールも入れときます。 pyflakes - passive checker of Python programs インストールはpipで。 ちなみに、pep8とpyflakesを合体したような、flake8というツールもあります。 flake8 - the
訳あってVimでのシンタックスチェックをSyntastic + pyflakes-vimからosyo-manga/vim-watchdogsに置き換えたらかなり快適になったので紹介したいと思います。 これまで Vimでのシンタックスチェックは主に Syntastic を使い、Pythonを書く時は pyflakes-vimをフォークして少し修正したもの を使っていました。 Syntasticは対応しているファイルタイプは多いのですが、保存しないとチェックできなかったり少し動作が重かったりする(特にWindows環境)ところが不満でした。 なので、書くことの多いPythonではSyntasticを使わず、ほぼリアルタイムでチェックできるpyflakes-vimを使っていました。 特にFlaskなどでサーバーをデバッグモード *1 で走らせていると、シンタックスエラーのあるファイルをうっかり保
ウェブスクレイピングについては、pythonのディスカッションボードなどでもよく話題になっていますよね。いろいろなやり方があるのですが、これが最善という方法がないように思います。本格的な scrapy のようなフレームワークもあるし、 mechanize のように軽いライブラリもあります。自作もポピュラーですね。 requests や beautifulsoup 、また pyquery などを使えばうまくできるでしょう。 どうしてこんなに様々な方法があるかというと、そもそも「スクレイピング」が複数の問題解決をカバーしている総合技術だからなのです。数百ものページからデータを抽出するという行為と、ウェブのワークフローの自動化(フォームに入力してデータを引き出すといったもの)に、同じツールを使う必要はないわけですから。私は自作派で、それは融通が利くからですが、大量のデータを抽出する時に自作はふさ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く