タグ

pythonに関するprogdのブックマーク (165)

  • len が関数になっている理由 - methaneのブログ

    http://d.hatena.ne.jp/pashango_p/20090702/1246550203 len()がリストのメソッドでないのも同じ理由です。 オブジェクト指向的に考えれば、リストのメソッドであるべきなのに、わざわざビルトイン関数にしたんです。 「オブジェクト指向的に考えれば、リストのメソッドであるべき」って感じで、オブジェクト信者はそれが正義みたいに考えちゃうんだろうね・・・ Pythonは合理主義。「オブジェクト指向的に○○」よりも、一貫した少なくて明確なルールを重視する。 len() が .length() メソッドだったらどうなるか。あるコンテナは .length() の代わりに、 .len() や .size() という名前を使ってしまうかもしれない。「サイズを取るメソッドは.length()」という 暗黙のルールができてしまい、そのルールが頭に入っていない人が一

    len が関数になっている理由 - methaneのブログ
    progd
    progd 2012/03/24
  • "sep".join()は気持ち悪くないよ! - Pashango’s Blog

    "sep".join(list) が気持ち悪い理由 そんなに Array.join がいいのか Pythonの','.join()がキモいと思ってた時代が僕にもありました Pythonの文字列連結(join)にまつわる議論 まとめと考察(2) "".join()が色んなところで話し合われているんですね。 眺めていると「気持ち悪い派」が多数派のようです、主な肯定派はid:methaneさんくらい? みんな気持ち悪いと思うのかぁ・・・ 逆に私は「よく考えてあるなぁ」と感心したんですが・・・ 私も"".join([])を見たときは「???」と思いましたよ、だって今まで見てきた言語とは逆なんですから。 ずっと「なんでだろう・・・?」と思っていたんですが、ある時ひらめきました。 そうか!左辺と右辺の対応をわかりやすくするためだったのか!! それに気づいた時はしびれましたね、同時期に勉強してたRuby

    "sep".join()は気持ち悪くないよ! - Pashango’s Blog
    progd
    progd 2012/03/24
  • Big Sky :: Vimで編集中のMarkdownをプレビュー出来るプラグイン書いた

    Vimが良くも悪くも「エディタだ」と言われる要因として「画像や異なるグリフのフォントを同時に出せない」ことを上げられます。つまりVimHTMLやマークダウン等のプレビューを確認する為にいちいちブラウザを起動して確認し、ファイルを更新した際には読み込み直すという面倒な手間が掛かる事を意味しています。 まぁ専用ブラウザを作ればいいんだけど面倒で腰が重かったんだけど、ちょいと作ってみました。 mattn/mkdpreview-vim - GitHub MkdPreview Markdown previewer for vimmer https://github.com/mattn/mkdpreview-vim ファイルタイプがmarkdownなバッファで :MkdPreview! と実行するとプレビューワが起動します。 プレビューワが一度起動している状態なら、以後は他のVimからでも :Mkd

    Big Sky :: Vimで編集中のMarkdownをプレビュー出来るプラグイン書いた
  • http://blog.yuku-t.com/entry/20120208/1328700022

    http://blog.yuku-t.com/entry/20120208/1328700022
    progd
    progd 2012/02/10
  • HTTPのRangeアクセスを実装して、分割ダウンロードに対応する - もなじろう日記

    auケータイの動画ファイルダウンロード(3gpp2とamc)するときにハマったのでメモ書きしておきます。 ガラパゴス携帯の動画再生 日の3大キャリアの携帯では、動画をHTML上に埋め込む時にそれぞれ違った実装方法を取らないと行けない。ここではサーバとのやり取りに集中したいので、HTMLタグの詳細は省略します。 docomo HTMLの中に <object≶タグを使ってファイル名とMIMEタイプ、動画の再生情報などを記述します。 データダウンロードは一括で行う。 softbank HTMLの中に <a>タグを使ってファイルのURLを書くだけ。通常のリンクと同じです。 データダウンロードは一括で行う。 au HTMLの中に <object>タグを使ってファイル名、MIMEタイプ、携帯に保存する際の名前、ファイルサイズ(!?)などを記述します。 データダウンロードは HTTP 1.1のRang

    HTTPのRangeアクセスを実装して、分割ダウンロードに対応する - もなじろう日記
  • Python純正の全文検索ライブラリ、Whooshを使ってみた - そこはかとなく書くよ。

    当はPython Mini Hack-a-thonでやろうと思ってたネタだったのですが、その前にちょっと準備しておくかーと思ってたらいつのまにか結構やっちゃってたんでまとめておきます。 Whooshとは whooshはPython純正の全文検索エンジンのライブラリです。Javaで書かれた全文検索エンジンであるLuceneの影響をかなり受けています。というか、はっきり言ってLuceneとほぼ同じです。 今回はこのwhooshを使って手元のMLを検索してみる、全文検索ツールを試しに作ってみました。 schemeの作成 Whooshでは検索するためにIndexを作成しますが、それにはまずSchemeを定義します。 Indexにはtitleとかurlとか、ドキュメントそのもの以外の情報も格納できます。Schemeとは、Index中のドキュメントに格納されてるフィールドの定義です。どんなフィールド

    Python純正の全文検索ライブラリ、Whooshを使ってみた - そこはかとなく書くよ。
  • 「結構便利だからみんな使った方がいいぞ!」という7つのPythonライブラリ - None is None is None

    一部で最強と呼ばれているPythonには, virtualenvやipythonのような絶対入れる超定番以外にも, あると便利なライブラリというものがあります. ここではラッキーセブン, 7つご紹介しましょう. なお, furl以外は3.xに対応しています. requests 覚えやすいWebリクエスト(urllib.request.urlopenの代替) furl URLの扱いをもっとシンプルに(urllib.parse.urlparseの代替) PyQuery jQueryのスクレイピング力をPythonに(html.parser.HTTPParser, lxml, BeautifulSoupの代替) Send2Trash/Send2Trash3k クロスプラットフォームな「ごみ箱へ送る」 Windows向けPythonランチャー 2.xと3.xを切り替える PySide/PyQt4

    「結構便利だからみんな使った方がいいぞ!」という7つのPythonライブラリ - None is None is None
    progd
    progd 2012/01/19
  • PythonとRubyの変数のスコープのまとめ - saito’s blog

    僕が普段使用するPythonRubyの変数のスコープについてまとめてみました。 Python 1. if文やfor文などの制御構造はスコープを作らない。 次のプログラムでは、if文の内側と外側のスコープは共通なので、if文内でaが上書きされてa=1が出力されます。 a = 0 if True: a = 1 print "a = %d" % a # a = 1 2. 関数定義とクラス定義では新しいスコープが作られる。 関数定義やクラス定義では新しいスコープが作られるので、関数定義の内側と外側で同名の変数が存在しても、両者は区別されます。 次のプログラムでは、関数foo内で変数aに代入を行っていますが、この場合fooの内側の変数と外側の変数は別物なので、外側の変数が上書きされることはありません。 a = 0 def foo(): a = 1 print "a = %d" % a # a =

    PythonとRubyの変数のスコープのまとめ - saito’s blog
  • シンプルで覚えやすい仕様,パワフルなPythonのWebアクセスモジュール request | TRIVIAL TECHNOLOGIES on CLOUD

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonには「後方互換性を大切にする」というモットーがあって,時にはそれが裏目に出ることがある。PythonでWebにリクエストを送る時の手法は,目的に応じて複数存在するが,これも後方互換性を守るがために起こっている現象といえる。当初はシンプルな機能を持つモジュールが利用されていて,その後より高度な機能を持つモジュールが追加されたのだが,後方互換性を守るために古いモジュールが残されているのだ。 たとえば,普通にhtppでGETリクエストを送って結果を取得するなら簡単で from urllib import urlopen src = urlopen('http://www.exam

    progd
    progd 2012/01/09
  • 新しいPythonのIDE PyCharm | TRIVIAL TECHNOLOGIES on CLOUD

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 みんなのブロックチェーンは,ブロックチェーンの入門書。暗号やハッシュなどを含め,基礎からブロックチェーンの仕組みを学べる書籍です。 いろんな方に「新しい技術を学ぶことの楽しさ」を感じ取ってくれたら著者として嬉しいです:-)。お金技術的にどのように定義されるのか。 みんなのIoTは,モノのインターネットと呼ばれるIoTの入門書です。IoTの基について,読者に寄り添って優しく解説しました。裏テーマは一番とっつきやすいPython入門書。サポートページはこちら みんなのPython 第四版は,より分かりやすい入門書を目指し,機械学習やデータサイエンスの章も追加して第三版を大幅に書き換えました。Python 3.6にも華

  • 関数とメソッドの違い - metalglue

    オブジェクト指向言語におけるメソッドを関数で実装できるだろうか? 最近のオブジェクト指向言語では,関数型言語の特徴であるファーストクラスオブジェクトとしての関数が提供されていることが多い.このような言語の場合,単純に考えれば,メソッドをインスタンス変数に代入された関数として提供すればいいんじゃないのと思うかもしれない.しかしものごとはそう単純ではない.レシーバ (C++, Java, JavaScript における this) の扱いをどうするかという問題があるからである. JavaScript JavaScript ではまさにメソッドが関数として実装されている. o = { data: "hello", method: function () { alert(this.data); } }; o.method(); とすれば "hello" が表示される.それでは以下のように一旦関数を単

    関数とメソッドの違い - metalglue
  • 試行錯誤しつつwxPythonをインストール « blog.hekt.org

    PythonGUIツールキット、wxPythonをインストールしてみました。が、かなり紆余曲折を経てのインストールになったので、同じ事をやろうとする場合は一度最後まで読んでからにしたほうがいいと思います。 Pythonのモジュールをインストールするときはeasy_installが楽、ってことで実行。 $ easy_install wxPython ... error: Couldn't find a setup script in /var/.../wxPython-src-2.9.1.1.tar.bz2 おや? ググってみたら、wxPythonのsetup.pyはwxPython-src-x.x.x.x/wxPython/にあるらしいので、直接実行してみる。 $ cd ~/src $ wget http://downloads.sourceforge.net/wxpython/wxPy

  • Algorithms with Python

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • CentOS5 に Python3.1いれた

    CentOS5 っつーか Serversman@VPS っつーか(ry あれ、これCentOS5だよね。 いい加減 Python3系触っておきたいなーと思っていれてみた。 yum からいれるには別のリポジトリ登録して云々やらないといけないみたい。なのでソースからビルドしてみた。 # yum install gcc # wget http://www.python.org/ftp/python/3.1.2/Python-3.1.2.tgz # tar zxvf Python-3.1.2.tgz # cd Python-3.1.2 # ./configure --prefix=/usr/lib/python3 # make # make install # /usr/lib/python3/bin/python3 -V Python 3.1.2 よし次は easy_install を入れよう。

    CentOS5 に Python3.1いれた
    progd
    progd 2011/12/17
    zlib
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    progd
    progd 2011/12/12
  • なぜPythonには"標準"で定数を定義できないのか? - Pashango’s Blog

    結論から言うと、Pythonになぜ"標準"で定数がないのかは「わかりません」。 答えを求めていた人には申し訳ない。 Pythonには知っての通り、定数を定義できません。 (独自でconstクラスを実装すれば定数らしき事はできます) 定数の実装が難しいとは考えにくいので、「Gutioは意図的に定数を排除した」と考える方が自然だと思います。 ちなみに、他のスクリプト言語での定数の扱いは以下のとおりです。 perl ... use constantで定義可能 PHP ... define()で定義可能 JavaScript ... constで定義可能 Ruby ... 全大文字の変数は初期化以外の代入には警告を出す ほとんどの言語では、何らかの形で定数をサポートしています。 Rubyは、定数の代入に対して警告を出すのみなので、定数と呼ぶかは若干微妙ですが・・・ しかし、ここまで定数を無視する言

    なぜPythonには"標準"で定数を定義できないのか? - Pashango’s Blog
    progd
    progd 2011/12/11
  • PyMongo 3.9.0 Documentation — PyMongo 3.9.0 documentation

    Overview¶ PyMongo is a Python distribution containing tools for working with MongoDB, and is the recommended way to work with MongoDB from Python. This documentation attempts to explain everything you need to know to use PyMongo. Installing / Upgrading Instructions on how to get the distribution. Tutorial Start here for a quick overview. Examples Examples of how to perform specific tasks. Using Py

  • Welcome | Flask (A Python Microframework)

    Welcome to Flask¶ Welcome to Flask’s documentation. Get started with Installation and then get an overview with the Quickstart. There is also a more detailed Tutorial that shows how to create a small but complete application with Flask. Common patterns are described in the Patterns for Flask section. The rest of the docs describe each component of Flask in detail, with a full reference in the API

  • PyOne - Python によるワンライナー

    Last Modified: Wed Feb 26 01:42:10 EST 2003 (02/26, 15:42 JST) これなに? PyOne は Python で quick & dirty なワンライナーを書くための支援スクリプトです。 アイデアは Pyawk とだいたい似ているのですが、 PyOne はより簡単に、ちょろっと書けるようなインターフェイスを目指しています。 基的にやってることはマクロ展開をして eval してるだけです。 PyOne は、初心者にはお勧めできない。 ワンライナーは読みにくいし意図しないミスも入りやすくなるし、 間違ってもこんなものを再利用しようなどと考えてはいけません。 これは Perl に毒された人専用です。 ダウンロード pyone-0.1.py (5KBytes) 説明 与えられたスクリプトをインデントされた Python コードに 変換し

  • requests と mock を使ってみる - Twisted Mind

    テストを書くときに、外部の HTTP API を叩く処理が組み込まれている場合は、何かしらモックが必要です。 どう書くのがスマートなのか良くわからないので色々試してみる 準備するモノ python 2.7.x mock simplejson requests nose covarage テストのデファクト あまりまとまってるのがないので、まとめておきます。 テストランナーは nose または py.test nose はプラグインがステキ py.test はなにやら色々嬉しい事があるらしい モック/スタブは mock テストは unittest (unittest2) カヴァレッジは covarage ? これは良くわからず、基 Jenkins にべさせらるタイプで出力できればおk この辺が今のところデファクトでしょうか、ご意見お待ちしております。 mock patch を使うと綺麗に

    requests と mock を使ってみる - Twisted Mind