タグ

pythonとPythonに関するAltNightのブックマーク (87)

  • 何段にも深くなるループを絶対に一段で書く方法 - 今川館

    ループの中でループを回す処理は読みにくい 例えば友達が5人いて、サンドイッチが3種類あって、2種類の飲み物を配る処理を作るとします。 こういう場合、for文を何段にもネストするプログラムを書かざるを得ないときがありますよね。 for friend in friends: for sandwich in sandwiches: for drink in drinks: do_something(friend, sandwich, drink) そもそも、こういうプログラムを書く前は、当にそういう処理で正しいのか考えた方がいいですが、とにかくこんなコードは読みにくいです。 ループの中でループを回すプログラムを字下げして書くことが読みにくさに寄与していると思うのですが、pythonだと字下げは必須なので悩ましいものです。 itertools.productを使えば絶対に1段で書ける しかし、こ

    何段にも深くなるループを絶対に一段で書く方法 - 今川館
    AltNight
    AltNight 2012/04/15
    itertoolsすごいな
  • pythonbrewで複数バージョンのPython環境を管理する - YAMAGUCHI::weblog

    はじめに こんにちは、Python界の情弱です。長らくvirtualenv & virtualenvwrapperでやってきたんですが、そろそろPython2系とPython3系を共存させるに当たってvirtualenvでちまちま環境を切り替えたり細かいオプション設定したりするのにつかれたのでpythonbrewを使うことにしました。 参考 utahta/pythonbrew · GitHub 作者さんのブログ pythonbrewで構築するPython開発環境 | ninxit.blog pythonbrewで構築するPython環境 その2 | ninxit.blog Python3に乗り換える?待ってみる?でも試したいよ、戻れる前提ならね。そんな方法。 - When it’s ready. (a2c.get.diary) 設定 上のエントリにあるとおりに設定すれば済む話ではある。 下

    pythonbrewで複数バージョンのPython環境を管理する - YAMAGUCHI::weblog
  • Python3に乗り換える?待ってみる?でも試したいよ、戻れる前提ならね。そんな方法。 - When it’s ready.

    先週末のpyfes参加できませんでした。残念無念。前夜のTLではそこかしこで”Py3K入れた方がいいのか?>いれないでおくか>いや、やっぱり入れよう” そんな感じの流れがあったとかなかったとか・・・ Pythonって今時はOS標準で入ってたりして即使えるし、 場合によってはeasy_installすら初めから用意されてたりして便利な世の中です。しかし、pythonのバージョンアップを行いたいまたは複数のバージョンを使いたい等々という時にはOS標準のPythonは様々なツールが依存していたりバージョンごとにモジュールを入れ替えたり色々面倒がおこります。以前書いたpython_selectを用いるやり方からはや3年たっていまどきの切り替え方をご紹介。 2012年的 Pythonのバージョンを華麗に切り替える pythonbrewの仰せのままに デフォルトだと$HOMEに.pythonbrewフ

    Python3に乗り換える?待ってみる?でも試したいよ、戻れる前提ならね。そんな方法。 - When it’s ready.
    AltNight
    AltNight 2012/03/21
    pythonbrewは知ってたけどvirtualenvと連携してくれるのか。これは楽だね
  • 言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー

    Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初

    言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー
    AltNight
    AltNight 2012/03/18
    「彼氏がいないのと、生まれてからずっと彼氏がいないのは別じゃない?」
  • 禅 of Python: 20の格言 - 西尾泰和のはてなダイアリー

    Pythonには "Zen of Python"という、Pythonの設計原則を簡潔に20個の格言にまとめたものがあります。それを単純に翻訳しても伝わりにくいだろうなぁと思ったので、訳注をたくさんつけて翻訳してみました。 美は醜より良い 明示は暗黙より良い 単純は複雑より良い 複雑なほうが理解しにくいよりは良い *1 平坦は入れ子より良い 疎は密より良い *2 読みやすさが重要 「特殊なケース」はルールを破るほど特殊ではない*3 しかし、実利は純粋さより重要 *4 エラーを黙って通してはいけない ただし、明示的に黙らせた場合は別 *5 曖昧さに面したら、正解を推測したくなる誘惑を退けよ *6 一つの明確なやり方があるべきだ。そしてただ一つであることが望ましい。 *7 しかし、その方法はオランダ人以外にはとっつきにくいかもね *8 今やる方がやらないより良い しかし、やらないほうが、今 *す

    禅 of Python: 20の格言 - 西尾泰和のはてなダイアリー
  • PyConJP2012 メンバ募集 -pyfes 2012.03-

    プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022

    PyConJP2012 メンバ募集 -pyfes 2012.03-
    AltNight
    AltNight 2012/03/17
    わろた
  • カンファレンス -初日- - forest nook

    聞き取りやすい英語とそうでない英語がある。話してみて、この人の言ってることは分からないなと思ったら、次からは "more slowly" と言ってみよう。 イベント規模 参加者2,257人、スポンサー136社、たぶん過去最大規模の PyCon だと言ってたと思う。開会の挨拶をした運営統括の Jesse Noller 氏 が見た目、20代としか見えない若さで驚いた。家族もいて子どもが2人だそうな。プロフィールを見ると、立派な経歴ですごいなと思った。 ビデオが公開されていた。4分過ぎから登場する。 http://pyvideo.org/video/622/introduction-and-welcome キーノート 2000人以上が入る規模の会場で、スクリーンが前に2つしかなかったせいか、基的にスライドは使わずにトーク中心のキーノートだった。従って、トークに付いていけない私はほとんど分からな

    カンファレンス -初日- - forest nook
  • mockはこう使え - atsuoishimoto's diary

    最近、Mockライブラリ http://www.voidspace.org.uk/python/mock/ を使ってみたのでメモ。 このライブラリは、その性質上、動的にメソッドや属性を作成するケースが多く、普通のPythonライブラリのようにイントロスペクションに頼って使い方を調べるのは難しい。気で使うならまじめにドキュメントを読み込む必要がある。 関数の置き換え テスト中に呼び出される関数をMockで置き換える例。ここでは、関数 myapp.utils.func1() を置き換える。 from mock import Mock import myapp.utils # myapp.utils.func1 を、常に100を返す関数に置き換える myapp.utils.func1 = Mock(return_value=100) 戻り値が定数でない場合は、Mock()にside_effec

    mockはこう使え - atsuoishimoto's diary
    AltNight
    AltNight 2012/03/10
    むずかしい
  • Facebook上で有志がPythonのグループを立ち上げ

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Facebook上で有志がPythonのグループを立ち上げ
    AltNight
    AltNight 2012/03/08
    えっ、いつのまに
  • MongoDBで位置情報お手軽検索。あとついでにPython

    MongoDB使ってますかー?便利ですよー? 最近、位置情報を処理するのにこのMongoDBを使っています。何故Mongoかと言うと 「この位置から500m以内の施設情報をヨコセ」 といった検索が超簡単にできるから。 論より証拠。 MongoDBには[緯度、経度]といった配列を含むデータをつっこんでおきます。こんな感じ。 [js] db.test.save({‘id’:’hoge’, ‘place’:’新宿駅’, ‘loc’:[35.690921, 139.700258]}); db.test.save({‘id’:’hoge’, ‘place’:’スタジオアルタ’, ‘loc’:[35.69271580036533, 139.70121502876282]}); db.test.save({‘id’:’test’, ‘place’:’東京都庁’, ‘loc’:[35.6894743099

    MongoDBで位置情報お手軽検索。あとついでにPython
  • VimでPythonをリファクタリング出来るよ - longicornの日記

    最近会社ではPyCharmというIDEが流行ってきているようです。 個人的にはIDEのように裏で何かいらない事をするプログラムはあまり好きではなく、またVimキーバインドに慣れすぎて抜けれない状態です。 不思議な事に会社ではVimに比べたらEmacs派は少なめな気がします。何故ですかね? ともかく、PyCharmは素晴らしい素晴らしい、Vimはリファクタリング出来ないとか言われてカッときてググった所、RopeというPythonのリファクタリングライブラリを発見しました。 しかもこれ、VimEmacsからも使えるようになっているようです。早速使わなくちゃと色々設定にハマって何とか使えるようになったのでメモって置こうかと思った次第です。 インストール まずは、VimPythonに対応している必要があります。 このように、"+python"が表示されればOKです。"-python"となってい

    VimでPythonをリファクタリング出来るよ - longicornの日記
    AltNight
    AltNight 2012/03/07
    Ropeは初耳。PyCharmはいいらしいですね
  • Python 3系で初となる言語仕様変更を含む「Python 3.3」、初のアルファリリース | OSDN Magazine

    Python Software Foundationは3月5日、「Python 3.3.0 alpha 1」をリリースした。Python 3系ではいままで言語仕様の変更が行われていなかったが、Python 3.3ではいくつかの新文法を含む機能追加が行われるという。 Pythonでは2系および3系の2系統がリリースされており、2系と3系の間では文法などの言語仕様に互換性がない。そのため標準のPython実装であるCPython以外の実装が追いつくまでPythonの言語仕様変更は凍結されていた。 Python 3.3.0の変更点としては、まずジェネレータ関数内で別のジェネレータ関数を利用する「yield form」というシンタックスが追加された点がある。これを利用することで、ジェネレータ関数内でほかのジェネレータに処理の一部を委譲するような処理をより簡潔に記述できるという。 Unicode文字

    Python 3系で初となる言語仕様変更を含む「Python 3.3」、初のアルファリリース | OSDN Magazine
  • いかにしておっぱい画像をダウンロードするか〜2012 Python 版 - Memo

    いかにしておっぱい画像をダウンロードするか〜2012 の Python 実装です。 Node.js 版は [twitter:@kumatch] さんの いかにしておっぱい画像をダウンロードするか〜2012 for Node.js :: kumatch's blogspot。 PHP 版は ゆーすけべーさんのおっぱいスクリプトをPHPで書き直してみた - maeharinの日記。 Ruby 版は 橋商会 » いかにしておっぱい画像をダウンロードするか〜2012 をRubyで書いた。 言語に Py なんて名前が付いているからには Python でやらないとダメでしょう!! requests モジュールを使えば簡単! $ pip install requestsとかで requests をインストールして下さい。 さらに requests は async を実装してるので簡単!! 一応 50

    いかにしておっぱい画像をダウンロードするか〜2012 Python 版 - Memo
    AltNight
    AltNight 2012/03/05
    requestsが便利パッケージだな
  • シンプルで覚えやすい仕様,パワフルな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

    AltNight
    AltNight 2012/03/05
    Requests初めて知った
  • 退職しました — takanory.net

    メールアドレスの抽出 まずはメールアドレスを抽出します。 私は過去メールを Maildir 形式で保存しています。 これらのメールを以下のようなスクリプトで走査して、私と直接メールをやりとりした社内の人のメールアドレスをとりあえず抽出します。 コードを書いた時の個人的なポイントはこんな感じです。 mailbox.Maildir で Maildir フォルダから書くメールファイルを読み込む。 rfc822 を使用してメールアドレスのみを抜き出す。 set とか正規表現を使って、自分のメールアドレスが含まれているか、社内のメールアドレスかを調べる。 #!/usr/bin/env python from __future__ import print_function import mailbox import rfc822 import re # 自分のメールアドレスの一覧 my_addres

    AltNight
    AltNight 2012/03/04
    すごい
  • Pythonで設定ファイルから値の読み込み (ConfigParser) - MB blog

    この記事はちょっと古いので書き直しました。 lake-michigan.hatenablog.com 目下Python手習い中。 ある日、複数存在する設定ファイル(運用中にファイル数も値の数も変わる)から、全部の値を読み込むスクリプトが欲しいと思いました。 シェルスクリプト => できなくはなさそうだけどめっちゃめんどくさそう Perl => Config::Simple がぴったりけど、環境的に追加モジュールは使いたくない Python => デフォルトで使えるConfigParserってのがよさげ ということで、シンプルにできそうなPythonを採用。 こんな感じで、セクションごとに設定値を用意(特に意味はない)。 setting.prop [person] name=Hanako Yamada age=20 school=KEIO host=192.168.10.12 [school

    Pythonで設定ファイルから値の読み込み (ConfigParser) - MB blog
  • velruse使ってみる. ini.fileを2つに分けると良いと思った - podhmoの日記

    velruseは,oauth系の認証を一手に引き受けてくれるライブラリ 対応しているprovider Facebook OpenID Google Yahoo Twitter Windows Live 現時点でpypiに上がっているバージョンはsqlite3の対応に難が合った 直接githubから開発版をインストールすると良い。 easy_install -U https://github.com/bbangert/velruse/tarball/master リポジトリの中にサンプルアプリがあるので、これを参考にする。 と、ここまでは前置き。 consumer secretの管理とか面倒。 話したいのはここから先。oauthなどでログイン処理を書くとき、アプリ毎にconsumer keyやconsumer secretを取得する必要がある。 当然velruseにもそれらの値を渡して挙げる

    velruse使ってみる. ini.fileを2つに分けると良いと思った - podhmoの日記
    AltNight
    AltNight 2012/02/24
    「velruseは,oauth系の認証を一手に引き受けてくれるライブラリ」
  • Big Sky :: Vim で XML Reformat

    たとえばこういう XML があったとして、 <status><created_at>Mon Feb 06 21:07:52 +0000 2012</created_at><id>166629198054690816</id><text>Post-Bowl Twitter analysis http://t.co/OYYSRSew http://t.co/M0AtLQVd</text><source>web</source><truncated>false</truncated><favorited>false</favorited><in_reply_to_status_id></in_reply_to_status_id><in_reply_to_user_id></in_reply_to_user_id><in_reply_to_screen_name></in_reply_to_sc

    Big Sky :: Vim で XML Reformat
  • Vim で JSON Reformat - 東京ナントカカントカ

    たとえばこういう JSON があったとして、 {"profile_use_background_image":true,"protected":false,"profile_banner_url":"https:\/\/si0.twimg.com\/brand_banners\/twitter\/1323368512\/live","default_profile":false,"lang":"en","profile_text_color":"333333","followers_count":7610082,"profile_image_url":"http:\/\/a0.twimg.com\/profile_images\/1124040897\/at-twitter_normal.png","name":"Twitter","show_all_inline_media":true,

    AltNight
    AltNight 2012/02/09
    へー。XMLで同じことができないかな?
  • 「結構便利だからみんな使った方がいいぞ!」という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