タグ

Pythonに関するbigbroのブックマーク (91)

  • RubyとPythonの違いからガベージコレクタを理解する - ワザノバ | wazanova.jp

    http://patshaughnessy.net/2013/10/24/visualizing-garbage-collection-in-ruby-and-python Pat Shaughnessyが、ブタペストで開催されたRUPY2013でのプレゼンの前半を自らのブログで紹介しています。 ガベージコレクタは、「ゴミを集める」という行為だけでなく、「新しいオブジェクトのためにメモリをあてがう。」「不要なオブジェクトを見つける」「不要なオブジェクトからメモリを取り戻す。」という、人間の心臓が血液を浄化するような働きをしている。 この簡単なコードサンプルを見ると、RubyPythonの記述はよく似ているが、それぞれの言語の内部でのインプリの仕組みは違う。 1) Rubyのメモリ Rubyは、コードが実行される前に、数千のオブジェクトを先につくり、それをリンクされたfree listに置

  • いやなブログ: 配列操作の比較表: Ruby, Python, JavaScript, Perl, C++

    配列操作の比較表: Ruby, Python, JavaScript, Perl, C++ プログラムを書いていると、他のプログラミング言語の記憶とごっちゃになって、「配列の後ろに要素を追加するのは push だっけ、 append だっけ」などと混乱することがあります。特に Ruby, Python, JavaScript はコードの書き方が似ているので、この問題が起きがちです。 そこで、備忘録として、 Ruby, Python, JavaScript, Perl, C++ の配列操作の比較表を作りました。一番慣れている Ruby を基準にしています。間違いなどがあったらご指摘いただけると助かります。他の言語のもあるといいなあ。 Ruby (Array) Python (list) JavaScript (Array) Perl (@) C++ (std::vector)

  • Pythonで関数プログラミング入門 - モジログ

    united-coders.com - Functional programming with Python http://united-coders.com/christian-harms/functional-programming-with-python Pythonを使った、関数プログラミングの入門的な記事。 短い記事なのに、すごく良くまとまっていて、説明の流れもいい。関数プログラミングの入門としても、Pythonの入門としてもいいと思う。 「整数のリストから奇数だけ取り出す」という処理を、まずforループを使った平明なロジックで書き、それを少しずつ関数プログラミングっぽい書き方にしていく。使っているのは主に、filter、map、reduce、lambda、list comprehension(リスト内包表記)など。 関数プログラミングでは、関数をオブジェクトとして渡すことが前提

  • Pythonでデザインパターン - モジログ

    GitHub - faif / python-patterns https://github.com/faif/python-patterns GoFデザインパターンのPythonによるサンプルコードを集めたプロジェクト。以下の各ファイルが入っている。 - abstract_factory.py - adapter.py - borg.py - bridge.py - builder.py - chain.py - command.py - composite.py - decorator.py - facade.py - factory_method.py - flyweight.py - iterator.py - mediator.py - memento.py - null.py - observer.py - pool.py - prototype.py - proxy.py -

  • 2012.05版 Python開発のお気に入り構成(ポロリもあるよ) - YAMAGUCHI::weblog

    はじめに こんにちは、Python界の情弱です。最近は色々とPythonの開発環境も変化してきていて、ようやくPython2.xとPython3.xを行き来しながら開発する体制が整ってきたという印象を受けています。ここしばらくは色々と試していたのですが、ようやく鉄板っぽい方法にたどり着いたのでメモしておきます。 なお、後半はPythonに限らない内容なので、他のLLを使っていても使えそうかなと思っています。この環境を設定すると何ができるのかというと、以下のことすべてが、無料で、自鯖を立てることなく行えます。 開発環境の整理(virtualenv) ローカルでの複数環境のテスト容易化(tox+pytest) CIによるテスト(Travis-CI) ドキュメントの自動ビルドおよびドキュメントの公開(ReadTheDocs) 概要 とりあえず全体像を先に共有しておきます。ちょっとでかいですがご了

    2012.05版 Python開発のお気に入り構成(ポロリもあるよ) - YAMAGUCHI::weblog
  • リスト内包表記 « python練習帳

    リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです。ループ、Map、Filterなどを使っても同じ操作をできますが、リスト内包表記には以下の利点があります。 コードがシンプルになる ⇒行数へります。 可読性が高まる ⇒慣れてしまえば読みやすいです。 実行速度が高速 ⇒forループと比べて2倍程度高速です。 Pythonを使うのであれば早めにマスターしておかないと後悔しますよ!では、さっそく使ってみましょう! リスト内の要素を2倍にする リスト内の値を2倍にします。リスト [1,2,3,4,5] から、リスト [2,4,6,8,10] を作る操作です。 ループ ループを使った“普通”なやりかたです。Pythonユーザにとっては異常なやり方です。

  • SkypeBotのためのRESTなAPIサーバ - urekatのスカンク日記3

    GETでlong-polling→メッセージ受信 POSTでメッセージ送信 でSkypeBotを作れます。 SkypeBotをつくろうと思ってRubyのライブラリを探したのだけど一番よさ気なライブラリがPythonのSkype4Pyだったとさ。Python避けてきたのに。 どうせならRubyとかPerlとかPHPとかAppEngineからも簡単にSkypeBotを作れるべきなのでWebAPI化してしまえばいいじゃないですか。 WebでリアルタイムでPythonといえばTornadoとは噂には聞いていたので、うっかり手を出したらいとも簡単にlong-pollingなサーバができてしまい拍子抜けました。Tornadoやばい。 Pythonの感想 メソッド名のルールが謎、大文字小文字 クラスメソッドとインスタンスメソッドの名前がかぶるとダメ? クラス変数とインスタンス変数の名前がかぶるとダメ?

  • Linux上で動くSkype用のbotを作る方法 - muddy brown thang

    はじめに 以前、知人のやっているBeProudという会社を手伝ったのですが、BeProudでは、エンジニアの主要なコミュニケーション手段としてSkypeが使われていました。当時、趣味でたまたまSkypeのAPIについて調べていたので、悪戯っ気を出して、開発環境に即席でSkype APIを使ったbotを設置してみたところ、思いのほか好評を博し、いまやインフラと言っても過言ではない存在 *1 *2と化したようです。 まあそんな状況を眺めつつ、自宅のサーバにSkype botを設置して、お気に入りのSkypeチャットにもbotを加えてみたところ、これも結構好評だったので、興味ありそうな人向けに作成方法をまとめることにします。 Skype Public API Skype Public APIとは、Skypeを外部からコントロールするためのインターフェイスです。 Skype Public API

    Linux上で動くSkype用のbotを作る方法 - muddy brown thang
  • EPEL リポジトリを活用して CentOS 5.x で Python 2.6 をインストールする - forest book

    CentOS 5.6 も Python は 2.4 なの!— Hajime Nakagami (@hajime_nakagami) 2011, 4月 8 Twitter を眺めていると、こういった声をちらほら聞くのでその対策をまとめてみます。 背景 CentOS 5.x で標準インストールされている Python のバージョンは 2.4.3 です。現在の Python 2 の最新バージョンは 2.7.1 であり、Good night, Posterous でも 2.6 以上を使うことが良さそうだと伺えます。私も個人的なアプリケーションを書くときは、2.4 を見限って 2.6 以上で書いています。私が 2.6 以上で使うようになったものとしては、構文では標準で提供されるようになった with 文 や、クラスデコレータ などがあります。標準ライブラリでは、abc, io, json, mult

  • Python: lxmlのインストール方法

    lxml とはXMLやHTMLを扱うPythonのライブラリの一つです。 lxml is the most feature-rich and easy-to-use library for working with XML and HTML in the Python language. – lxmlの冒頭の文より linux系OS(Fedoraなど)の場合 # yum python-lxml も一つの手ですがバージョンが古いので、通常はeasy_install経由でlxmlをインストールします。 前段階として、easy_installをインストールするためにhttp://peak.telecommunity.com/dist/ez_setup.pyをダウンロードしてスーパーユーザで実行します。 # python ez_setup.py error: invalid Python inst

    Python: lxmlのインストール方法
  • あなたの知らないPythonのひみつ - atsuoishimoto's diary

    Pythonでは、ループ・try・withブロックは最大20までしかネストできない。 >>> def spam(): ... while 1: ... while 2: ... while 3: ... while 4: ... while 5: ... while 6: ... while 7: ... while 8: ... while 9: ... while 10: ... while 11: ... while 12: ... while 13: ... while 14: ... while 15: ... while 16: ... while 17: ... while 18: ... while 19: ... while 20: ... while 21: ... print "Deep!" ... SystemError: too many statically n

    あなたの知らないPythonのひみつ - atsuoishimoto's diary
  • Pythonバージョンの選びかた - atsuoishimoto's diary

    Pythonはおよそ18ヶ月ごとに新しいメジャーバージョンをリリースする慣習になっていて、これまでにたくさんのバージョンがリリースされ、広く利用されてきた。Pythonの開発では後方互換性を保つことが非常に重視されていて、通常のアプリケーションであれば、Pythonのアップデートで動かなくなってしまうことはあまりない。アプリケーションが今後廃止される予定になっている機能を利用していると、DeprecationWarningという警告が出力されてしまう程度だ。 DeprecationWarningが出るようになってから実際に廃止されるまで少なくとも数年間はあるので、普通はその間にのんびり対処する事ができる。また、いったん廃止予定と決定されても、その機能が一部で使い続けられている場合には実際には削除されない、というケースも非常に多い。Pythonのドキュメントを見てみると、もう10年も前から廃

    Pythonバージョンの選びかた - atsuoishimoto's diary
  • pipの使い方 - そこはかとなく書くよ。

    注意 この内容はすでに古くなっています。 pipの使い方 (2014/1バージョン) を参照してください。 pipとは、Pythonにおけるパッケージ管理システムです。easy_installというツールもあるのですが、pipはこのeasy_installを置き換えるものとして開発されています。rubyのgemperlのcpan的な位置づけです。 同じパッケージ管理ツールとしてsetuptools置き換えのdistributeというものもあるのですが、こちらはsetuptools全体を置き換えるものとして開発されており、pipはsetuptoolsの一部であるeasy_installを置き換える形です。 なお、現在のpipのバージョンは0.8.2で、このエントリはこのバージョンを使っています。 なにかおかしい点があれば、ご指摘ください。 > 識者の方々 pipのinstall まずはea

    pipの使い方 - そこはかとなく書くよ。
  • 5分でWebスクレイピングをする - YAMAGUCHI::weblog

    はじめに あけましておめでとうございます。今年もPython界の江古田ちゃんとして頑張っていく所存です。さて id:nishiohirokazu が5分でPythonは便利だと思える記事を元旦から書いていました。 「ほえー、さすが西尾さんや」って思ってたら、西尾さんが「おい山口、5分でPython便利だなーって思える記事書けや」っていう無言の圧力をかけてきたので*1 *2なんとなく書きました。 「5分で」っていうのが読者が読む時間なのか、筆者が書く時間なのかがわからなかったので前者ということにしました。5分で記事とコード両方書くとか無理や。 こんなことないですか 「Webでスクレイピングしたいよー、てへへ。だけど文字コードとかがページごとにバラバラでマジしんどいっす。しかもタグ抜き出すのとかめちゃめんどいっす><」ってことはあったりしませんか? リンクのタイトルとかも綺麗に抜き出したいなー

    5分でWebスクレイピングをする - YAMAGUCHI::weblog
  • PyQueryでスクレイピング練習 - mizchi log

    pyqueryはjQueryみたいにCSS SelecterでDOMとれるよ、ってやつ どれも pip(or easy_install) から pip install lxml pip install pyqueryubuntuだと apt-get install python-lxml しないとlxml入らなかった はてなホッテントリの記事一覧をとってくる #!/opt/local/bin/python # -*- encoding:utf-8 -*- from pyquery import PyQuery as pq import urllib2 url = "http://b.hatena.ne.jp/hotentry" opener = urllib2.build_opener() opener.addheaders = [('User-agent', 'mozilla 3.6')

    PyQueryでスクレイピング練習 - mizchi log
  • oinume journal

    最近ドコモ回線があまりにも詰まったり繋がらなかったりすることが多くてどうにも我慢できなくなったことと、たまたまmineoがキャンペーンをやっていてコストダウンできそうなので勢いでmineoに乗り換えた。後悔は全くしていない。 数ヶ月前まではドコモ回線がつながりにくいこと以外はOCNは特に不満もなく、Musicカウントフリーオプションの存在もあり3年ほど使っていた。ただ、最近は新規契約を停止していてirumoという改悪されたMVNOに軸足を移す流れがあるのと、その影響でOCNモバイルONE自体がもう改善されないリビングデッド状態になっていたので、緩く乗り換え先を探していた。 mineoにしようと思ったのは 1.5Mbpsなら使い放題のオプションがある ドコモ以外の回線も選べる という点で、実際乗り換えてみてよかったと思った。それ以外にも通話系のオプションが充実してたり、ギガを永遠に貯められる

    oinume journal
  • Pythonを使う理由と作った物(ソース付)

    みなさん、Pythonってご存知でしょうか? ニシキヘビ。。ではないです。 プログラミング言語のPythonです。 ↓Pythonのロゴ。蛇が2匹です。 このPython。日国内では、それほど知名度は高くないのですが、2010年で最も成長したプログラミング言語にも選ばれるなど、急速に人気の高まりつつある言語です。2011年にはPHPC++を抜かして3位になれそうな勢いです!では、このPython、どうして急に人気がでてきたのでしょうか?理由は大きくわけて3つあると思います。 Pythonが急に普及し始めた理由 GAEで動作する これが最大の理由だと思います。Googleのサーバを使って簡単にサービスを提供できます。1日あたり1GBまでの転送なら、料金は一切かかりません ※1。無料利用分を超えて使った場合も、課金設定(1日当たりの支払い額の上限)を設定するだけで、簡単にサーバを増強できま

    Pythonを使う理由と作った物(ソース付)
  • 「パラメータをソートし,URIエンコードした key=value の形にして & で繋げます」 の書き方 - 宇宙行きたい

    http://d.hatena.ne.jp/Yoshiori/20100929/1285727199 この記事で 僕が書いたコード params_str = '&'.join(['%s=%s' % (urllib.quote(key, ''),urllib.quote(params[key], '')) for key in sorted(params)]) で、いただいたブクマコメント id:agricola Python, あれげ リスト内包の使い方に美がないなぁ……。辞書のキーと値を、キーで並べ替えて取り出して=で連結するなら ['='.join((k, v)) for k, v in sorted(d.items(), key = lambda x: x[0])] とか書く気がする。 http://b.hatena.ne.jp/agricola/20100929#bookmark-

    「パラメータをソートし,URIエンコードした key=value の形にして & で繋げます」 の書き方 - 宇宙行きたい
  • Pythonのプログラマを志したおいらが買ってよかった5冊の本 - あったらしくるえるはてなくしょん

    10冊ねぇじゃねぇか!! この犬やろう!! と、まあ、プログラマが読むべきとかで、なんかいろいろ吹き上がってて大騒ぎみたいなのですが、私は今更と言えば今更ですが、Python がいくつかの特にLL系のプログラミング言語の中で一番好きで、PyのPyのPyって感じで過ごせたらいいなと思って、それじゃ志村けんだけど、まあそのを買ったり、写経したりしてます。ぱいぱい。 いずれも今更のといえばそうだけど、Pythonって、ちょっと殺風景気味で厚くて長いが多いけど、コード多めだし、良訳や良書が多いので、ありがたいです。もちろん、このもおすすめだ!! この犬野郎とかあったら教えてください。お願いします。 他の言語に触れたことがあるなら、クックブックがまずおすすめ。 Python クックブック 第2版 作者: Alex Martelli,Anna Martelli Ravenscroft,

    Pythonのプログラマを志したおいらが買ってよかった5冊の本 - あったらしくるえるはてなくしょん
  • 入門 自然言語処理を禁書にすべき10の理由 | TRIVIAL TECHNOLOGIES on CLOUD

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 「入門 自然言語処理」はヤバい書籍なので禁書にすべきだ。 タイトルは釣りじゃない。その理由を10個挙げる。 自然言語処理のかなり基的なことからそこそこ高度なことについて解説されてあり,自然言語処理について理解が深まり過ぎる ボリュームがあるのに書き方が平易でついつい読みふけってしまう 演習問題があり,自分の理解度を確かめられたりするのもケシカラン 原著は欧米語のための言語処理について書かれた書籍なのに,日語の形態素解析などについても解説してあって我慢できない 必要ライブラリのインストールなど環境構築に時間が取られそうでヤバい 書籍の応用でBotとか人工無能とか作ったらどうかな−,と