サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは本日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。
Pythonにはじめて触って、いつのまにか1年が過ぎたのですが、一番はまったのは、やっぱりunicodeの扱いだったと思います。 特に、 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-12: ordinal not in range(128) のようなエラーにはさんざん悩まされました。ここがたとえばrubyなど他の言語と比べてわかりにくいために、Pythonが取っつきにくい言語になっているのではないか、と個人的には思います。 そこで、このエラーに関係するはまりどころとTipsをいくつか列挙してみました。これからPythonに触れられる方の参考になればと思います。 なお、環境はUNIX上のPython 2.4, 2.5を想定しています。 u1はunicode型で、s1はstr型です。s1にどのよ
Linux で Python をビルドするとき、 --enable-shared という configure オプションがありるので、その解説とTipsを紹介します。 具体例として Python を挙げていますが、話の内容のほとんどは他の言語やライブラリでも共通だと思います。 --enable-shared とはなにか このオプションを指定しない場合、主要なバイナリファイルとして python という実行ファイルと libpython2.7.a (Python 2.7の場合) というライブラリファイルができます。 --enable-shared をつけた場合、 libpython2.7.so というダイナミックリンク用の shared object も生成され、 python はこの shared object をダイナミックリンクするようになります。 Debian などの Linux デ
マルコフ連鎖モンテカルロ法(メトロポリス法)による混合ガウス分布に従う乱数の生成 - My Life as a Mock Quant でやった内容の欠点とそれを補うためにもうちょっと高尚な手法である拡張アンサンブル法の1つ「レプリカ交換モンテカルロ法」を用いてやりましたよというお話。 シミュレーション条件・パラメーター設定に関しては適当なんで要考察。自分が扱いたい問題に応じてこれはやらないといけない。 通常のマルコフ連鎖モンテカルロ法(MCMC)での問題点 マルコフ連鎖モンテカルロ法(メトロポリス法)による混合ガウス分布に従う乱数の生成 - My Life as a Mock Quant でやった通常のいわゆるマルコフ連鎖モンテカルロ法を用いた「混合ガウス分布」からの乱数生成方法だと、2つのガウシアンのピーク(平均値)が離れているとうまくいかない。 実際に平均値を(-3,-3),(3,3)
11月19日、iOS向けのPython用IDE「Python 2.7 for iOS」および「Python 3.2 for iOS」がリリースされた。入力支援機能を持つスクリプトエディタやPythonドキュメントビューア、Pythonの対話的実行環境などを含む統合開発環境(IDE)で、iPhoneおよびiPadで動作する。 Python for iOSはPC向けゲームの開発で知られるBlizzard Entertainmentに所属する、Jonathan Hosmer氏が開発するiOS向けのPython統合開発環境。Pythonの対話的実行環境や入力支援機能を持つスクリプトエディタ、Pythonのドキュメントを閲覧できるドキュメントビューワといった機能を持つ。マルチペイン表示にも対応し、エディタでコードを表示しながら対話的実行環境でコードを実行する、といった操作が可能。Python 2.7
libuvのPython実装であるpyuvのPython3対応しているときに、Python2.6/2.7/3.0/3.1/3.2で個別にテストする必要がありました。 各バージョンのPythonを入れるのも割と大変だし、各バージョンごとに確認するのも非常に手間です。 lazyな私にはこんなのやってられません。がおー。めんどくせー。 というわけでいろいろテストツールをいろいろ探していたら、79.pyで @aodag さんにtoxを教えていただきました。 早速使ってみたので、軽くメモを残しておきます。 ドキュメント ↓を読めば大体わかるはず。 Welcome to the tox automation project — tox 1.4.2-1 documentation ざっくり説明すると Pythonライブラリを複数バージョンでテストするツールです。 CI(Jenkinsなど)で使うことも想
テキストエディタ¶ Pythonのコードを書くためにはプレーンテキストを編集することができるものであれば何でも構いません。 しかし、さらに強力なエディタを使うことでもっと楽になるかもしれません。 VIM¶ Vimは、メニューやアイコンの代わりにキーボードショートカットを使うテキストエディタです。 Pythonの開発用のVimエディタのプラグインや設定がいくつもあります。 Pythonでしか開発しないなら、インデントと行の折り返しのデフォルトの設定を PEP 8 の値にするといいと思います。 ホームディレクトリで .vimrc というファイルを開いて、以下の行を追加して下さい。 set textwidth=79 " lines longer than 79 columns will be broken set shiftwidth=4 " operation >> indents 4 col
I'm the CEO of Pagecloud. I am interested in the craft of building products, leadership, and entrepreneurship. About me, 2019 Edition Mike Grouchy • Mar 17, 2019 Usually on this website, I would include an "about" page, but at the end of 2018 I did two interviews that covers everything from my start in computers to what I am doing now at PageCloud and the work I was doing on Pycoders before its tr
mac にデフォで入ってた vim が 7.2 だったんで、7.3にする。 7.2 > 7.3 はメジャーバージョンアップに近いくらい色々と変更があるらしい。 ソースから入れるのがめんどいので、homebrew で入れたい。 しかし今現在 vim の Formula はデフォで用意されてないので、自分でなんとかしないといけない。 インストール まず下記のエントリを見てやってみた。 vim-ruby入れようとしてbrewのvimで嵌った - rochefort's blog % vi /usr/local/Library/Formula/vim.rb して上記 Formula 書いて brew install したけど、以下のようなエラーが出た。 Error: No available formula for vim Apple distributes vim with OS X, you
今日はさっくり小ネタ。 最近私はPythonを勉強中なのですが、「このての軽量言語はさっと書いてさっと実行できなきゃだめ」という信念のもと、編集にはvimを使っています。 とはいえ、Pythonは実はかなり「エディタを選ぶ」言語です。インデントによってブロックを表現するので、インデントがきちんと表示されないと困りますし、タブとスペースが入り交じってしまわないようなエディタの補助も欲しいところです。 というわけで、今日は、そんなPythonをすっきり快適に編集できるような vim の設定をご紹介します。 いきなり結論 私は以下のような記述を ~/.vimrc に追記しました。 autocmd FileType python setl autoindent autocmd FileType python setl smartindent cinwords=if,elif,else,for,wh
突然ですが私はPythonが好きです。でもPythonは遅いです。 何が遅いかというと、致命的なことに四則演算が遅いです。でも他の動的型付け言語でスクリプト言語と呼ばれるPerl, Ruby, Javascript も C, Javaのようなコンパイルを行う静的型付け言語に比べれば圧倒的に遅いです(近年ではJavascriptのように著しく進歩した言語もあるので必ずしもそうだとは言えませんが)。 スクリプト言語が遅い原因の一つは、変数の型が指定されていないので型のチェックを毎回行う必要があるからです。この特性があるおかげ自動的に型を変換してオーバーフローを防いでくれるというメリットもあるのですが、どうしても静的型付け言語よりは速度を出すことができません。 ならPythonのコードに型指定を加えてコンパイルしちゃえばいいじゃん!というのがCythonです。正確にはPythonライクな文法で書
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー python.orgのwikiにある,Parallel Processing and Multiprocessing in Pythonの翻訳です。たくさんありますね〜。抜粋している部分があるので,詳しく知りたい人は原文を読んだりリンクを辿ることをお勧めします:-)。 Pythonには,複数のCPUやマルチコアCPU,共有メモリ環境,クラスタやグリッド環境を活用するためのライブラリが多く存在します。このページでは,個々のライブラリやソリューションの情報を調べてまとめています。 対称型マルチプロセッシング delegate - forkベース。pipeを使ってpickeしたデータを送りプ
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonのlambdaは無名関数を式で作ることができる文法。なんか関数言語っぽくて,「LISPの正当な継承者はPythonだ」という気にさせるクールな機能。 クールだけど,使い方を間違えると大変なことになる。乱用は避けたい。極端すぎるほどアナーキーなlambdaの使い方を見つけたので,反面教師としていくつかの例を紹介します。なお,このコードはあまりにアナーキーなのでPython 3.xでは(一部)動きません。 def pow(x, power): return x**power というコードがあったとして, pow = lambda x, power: x**power みたいにl
import random def random_weight_choice(L): choice = None total = 0 for item, p in L: total += p if random.random() * total < p: choice = item return choice def test_random_weight_choice(): from collections import defaultdict X = [('A', 3), ('B', 2), ('C', 5)] count = defaultdict(int) for _ in xrange(100000): item = random_weight_choice(X) count[item] += 1 print count if __name__ == '__main__': tes
vi(vim) で Python のソースを読むのに ctags を使ってみました。調べていると、別途、ptags.py と言うものもあり、それを用いてもタグファイルを作成してくれるようです。 basic Tip #1188: Use ptags.py to generate tags file for python によると、Python 2.3 以上で使用できます。ptags.py は python-tools パッケージに含まれています。 yum を使って python-tools と ctags をインストールします。 $ sudo yum install python-tools ctags ~~~ snip ~~~ Running Transaction Installing : python-tools [1/2] Installing : ctags 以下のように ptag
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く