Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 本稿は Python に型アノテーションを追加するという提案が行われたときに起こった Python コミュニティの議論の後、2014年8月24日 (日) に Armin Ronacher (@mitsuhiko) 氏によって書かれた記事の翻訳です。 Revenge of the Types Revenge of the Types by Armin Ronacher : Python (REDDIT) Revenge of the Types | Hacker News Python 3.5 で導入を検討している型アノテーションについて
本稿は Python に型アノテーションを追加するという PEP 483 - The Theory of Type Hinting の提案で参照されている Jeremy Siek (@jeremysiek) 氏と Walid Taha 氏が開発した漸進的型付けについての入門記事の翻訳です。 What is Gradual Typing Python 3.5 で導入された型アノテーションについて興味がある方は以下を参考にしてください。 Python と型ヒント (Type Hints) と #pyconjp [翻訳] PEP 0484 -- 型ヒント (Type Hints) Revenge of the Types: 型の復讐 私自身、型システムに明るくないため、一部未訳の部分があったり、勘違いや誤訳もあると思います。そういった誤りを見つけたら編集リクエストを送ってもらえると助かります。
本稿は 2015年5月27日 (水) に Armin Ronacher (@mitsuhiko) 氏によって書かれた記事の翻訳です。 Rust for Python Programmers 訳者は Rust を全く知らないため、勘違いや誤訳もあると思います (特に用語) 。そういった誤りを見つけたら編集リクエストを送ってもらえると助かります。 Python プログラマーのための Rust 入門 いま Rust 1.0 が登場して非常に安定しているので、Python プログラマー向けに Rust の入門記事を書くとおもしろいのではないかと私は思いました。この手引きでは、Rust 言語の基礎を調べながら異なる構成概念とそれらがどう振る舞うのかを比較します。 Rust という言語は Python と比べると全く異なる獣です。単に一方がコンパイル型言語でもう一方がインタープリター型言語であるという
はじめに Python で機械学習する場合、pandas で前処理したデータを scikit-learn で処理する、というケースが多いと思う。pandas, scikit-learn には それぞれ 簡単にできる / できない処理があるので、うまいこと連携できるとうれしい。 scikit-learn の各メソッドは numpy.ndarray に対する処理を前提にしているため、pandas のデータ形式 (DataFrame や Series) を渡すと 内部で ndarray に変換して結果を返してくる。そのため、結果に対して 直接 pandas の処理を続けることはできない。 ndarray で処理すりゃいいじゃん、、というむきもあるが、自分はどうしても pandas で処理がしたいんだ。とりあえず、pandas のデータをできるだけ維持したい、というモチベーションがあるものとして処
python advent calendar*1の6日目担当の こく(@cocuh)です。 qiita.com 今回はpythonの 標準ライブラリのabc と abcを用いた duck typing を記述する話について話そうかとおもいます。 もし間違ったこと書いていたらコメントにてぜひ教えてください。 対象読者 オブジェクト指向におけるクラスという概念がなんとなくわかる abstract classがわかると特に 大規模開発・歴史古いプロジェクト・ドキュメントない事案に遭遇したことがある と最後まで楽しめるかもしれないです abcモジュールとは? pythonの標準ライブラリにはいっている abcモジュールで、abcは Abstract Base Classの略で 抽象基底クラスのことです。c++やjavaなどいうabstract classをpythonでサポートします*2。 abs
Pythonには、PEP8にという標準のコーディング規約があります。 この規約に準じてコーディングすると、コードのスタイルが統一され読み易くなります。 各エディターには、PEP8に準じたコードへ自動整形できる拡張ツールが大抵あります。 Emacsでは、py-autopep8を利用することで以下のように自動整形を実現できます。 py-autopep8に機能ついて 標準のpy-autopep8には以下の機能がありました。 バッファ全体を自動整形 保存時にバッファ全体を自動整形 ただ上記機能だと、さわりたくないコードも自動整形されて 意図しないcommit履歴ができてしまうので リジョン選択で自動整形できる機能をforkして追加しました。 導入方法 autopep8をインストール
ぼくは生産性の低いプログラマです。あまりにも生産性が低くて困ってしまったので、一体何が生産性を下げているのか調査してみました。すると、コードを書いている時間の半分を、なんとコードの整形に費やしていることがわかったのです! 一行が80文字を超えたら、改行を入れなければいない。逆にすべてが一行に収まるようになったら、途中の改行とインデントを削除して一行に戻さなければいけない。Q&Aサイトからコピペしたコードは、プロジェクトのコーディング規約に合わせてスペースを入れたり削除したりしなければならない。import文は辞書順に並べなければならない・・・。こんな整形を繰り返してると、あっという間に時間が過ぎてしまいます。 EclipseのPyDevやPyCharmのような高機能なIDEを使ってる人にはない悩みかもしれませんが、テキストエディタで開発してるとほんとこういう作業が多い。そこで、OSSのツー
YAPF is a Python formatter based on clang-format (developed by Daniel Jasper). In essence, the algorithm takes the code and calculates the best formatting that conforms to the configured style. It takes away a lot of the drudgery of maintaining your code. The ultimate goal is that the code YAPF produces is as good as the code that a programmer would write if they were following the style guide. No
概要 pep8 が pycodestyle というパッケージ名に変わってた Guido氏の提案が事の発端。 https://github.com/PyCQA/pycodestyle/issues/466 pycodelint という案も出てたが、pylint と区別がつかないので却下になってた 同時に pep257 も pydocstyle という名前に変わった https://github.com/PyCQA/pydocstyle/issues/172 自分の周りの影響範囲を軽く調べてみた。 追記(2018/02/27) ツール(ライブラリ)の pep8 の名前が pycodestyle という名前に変わったというだけで、PEP8 そのものには何も変更はないので気をつけてください。 pep8がスタイルガイドのPEP8と一緒だと混同しやすいのでツールは名前を変えようという話です。 pep2
唐突ですが、Python の Coding Style について参考になりそうなものをまとめてみるテスト。 主にベースとなるPEP8の他に、僕が見聞きしたWebフレームワークのCoding Styleを列挙しています。 PEP 8 Style Guide for Python Code http://www.python.org/dev/peps/pep-0008/ (和訳) http://oldriver.org/python/pep-0008j.html PEP 8 は Pythonを書く上で大体みんなが参考にするCoding Styleです。以下にあげる Coding Style達は、PEP8 に従い、その中で独自のCoding Styleを定義しているものがほとんどです。 PEP が初耳という人は、下記エントリーが参考になるでしょう。 http://www.oreilly.co.j
Pythonのメタプログラミング (__metaclass__) は組み込み関数 type の普段利用しない隠れた機能や、 普通は利用しない特殊メソッド __new__ などを理解する必要があり 理解するのが結構難しい。 あまり関連情報がまとまってるドキュメントがなくて理解するのに苦労したので情報をまとめておきました。 目次 事前知識 type とクラス定義のあまり知られていない関係 特殊メソッド __new__ __metaclass__ typeの継承 メタクラスの例 実装の解説 事前知識 Customizing class creation (日本語:クラス生成をカスタマイズする) を読むと、型を取得するのに普通利用するbuiltin関数 type を継承していたり、 普通利用することのない __new__ が定義されていたりして、 type の隠された機能と __new__ につい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く