サイトの構築。作品の販売。ブログの投稿。この他にもさまざまな機能があります。 ログイン サイトをはじめよう 非公開サイト このサイトは現在プライベート設定になっています。

流行りのJITコンパイラは嫌いですか?¶ PyPy Advent Calendar 12/23担当の RYO @ 修論提出1ヶ月前です。 いよいよ明日はクリスマスイブですね。 リア充の方もそうでない方も、当記事に目を留めて頂き誠にありがとうございます。 本記事では、他の皆さんが扱われているような実用的なネタとは異なる PyPyの内側の話、特にPyPyのJITコンパイラに関する話題を扱いたいと思います。 したがって、本記事の情報は業務等の役にはまったく立ちませんのでご容赦願います。 さて、この記事をお読みになっている方々の殆どは、 PyPy = JITのおかげで早くなった事で有名なPythonの処理系 という認識をお持ちだと思います。 確かにこの認識は間違ってはいないのですが、 実はPythonにJITを乗せる事で高速化を図る処理系はPyPyだけではなく、 その殆どがPyPyが今程の有名なも
日本時間だと2013年2月7日未明のことですが、「Topaz」(トパーズ)と名付けられたPythonで実装されたRubyのバージョン0.1がリリースされました(リリースに関するブログ、プロジェクトのページ、GitHubのリポジトリ)。Ruby処理系はC、Java(JVM)、Ruby、CLI、JavaScript、Smalltalkなどによる実装がありましたが、Pythonというのは、ちょっと驚きです。ただ、Pythonといっても、Python言語で書くのが主眼なのではなく、Pythonエコシステムで高速処理を目指して作られた「PyPy(パイパイ)」の成果物の上に実装したというのがTopazのようです。現在のところコード作者リストに9人の名前が上がっていて、JRuby実装で知られるチャールズ・ナッター氏の名前も入っています。 Topazは正確にはPythonではなく、RPythonと呼ばれる
?コンストラクタの引数 Pythonのコードのコンストラクタでは第一引数に「self」が指定してあります。 これはJavaで言う「this」です。(selfはしかるべきエディタではハイライトされます) Pythonでは、Javaで言う「this」を明示的に「self」と指定してあげます。 「self.foo = bar」はインスタンス変数fooを宣言と同時に初期化したことになります。 「def printFoo(self):」も同様にインスタンスメソッド。 Python15分講座 #3 (クラス) - t_nagataの日記 この辺は順番に考えていくと凄くわかりやすいです. もう,これだけで Python 勉強すべきって思うくらい インスタンスに値を追加してみる class Hoge(object): pass hoge = Hoge() hoge.a = 10 // hoge に a を
文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ Ruby, Python, JavaScript, Perl, C++ の文字列操作の比較表を作りました。配列操作の比較表の続編です。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) Python (str) JavaScript (String) Perl C++ (std::string)
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 関連 : JavaScriptでパイプ風処理をするライブラリを作った Pythonの面白いモジュールpipeを見つけたのでご紹介:-)。PythonでInfix Syntax(挿入記法),「パイプ」のような処理を実現するためのモジュール。 pipやeasy_installでpipeをインストールしたあと,以下のように使う。 >>> from pipe import * >>> [1, 2, 3, 4, 5] | add # 合計を計算, sum([1, 2, 3, 4, 5])と等価 15 >>> [5, 4, 3, 2, 1] | sort # 小さい順にソート,sorted([5,
お詫びと追記 この記事は 「優れたPerlプログラマを見分ける27の質問」の日本語訳 - Islands in the byte stream を見て書いたものですが、僕が Perl について無知なのとタイトルに釣られたために、で元の問題の意図を汲み取れていませんでした。 その言語に取って重要な基本事項を理解しているかのチェックリストとしては、以下の質問は不適切です。 お詫びに、真面目に Python の基本事項に対するチェックリストをつくろうと思います。 質問 一般 バージョン管理をしているか テストを書いているか 1つ以上のオープンソースプロジェクトのコミッタであるか Python言語について list, tuple, dict, deque, heapq, bisect がどういう場面に適しているか説明しなさい ジェネレータの利点を説明しなさい Python 2 プロジェクトの Py
みなさん、Pythonってご存知でしょうか? ニシキヘビ。。ではないです。 プログラミング言語のPythonです。 ↓Pythonのロゴ。蛇が2匹です。 このPython。日本国内では、それほど知名度は高くないのですが、2010年で最も成長したプログラミング言語にも選ばれるなど、急速に人気の高まりつつある言語です。2011年にはPHPとC++を抜かして3位になれそうな勢いです!では、このPython、どうして急に人気がでてきたのでしょうか?理由は大きくわけて3つあると思います。 Pythonが急に普及し始めた理由 GAEで動作する これが最大の理由だと思います。Googleのサーバを使って簡単にサービスを提供できます。1日あたり1GBまでの転送なら、料金は一切かかりません ※1。無料利用分を超えて使った場合も、課金設定(1日当たりの支払い額の上限)を設定するだけで、簡単にサーバを増強できま
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonの生みの親Guidoパパのブログエントリを翻訳してみました。「Why explicit self has to stay - なぜPythonのメソッド引数に明示的にselfと書くのか」。Pythonのメソッド引数に書く「self」はしばしば,他言語からのPython移民を中心に「ウザイ」「キモイ」「消えてなくなれ」と攻撃の対象となることが多いのです。GuidoパパはPythonが生まれて10年,もう何度も似たようなことを聞かされ,そのたびに明快な反論を行ってきました。言語の設計者には,技術的な素養はもちろんのこと,情熱と根気,そして我慢強さが必要なんだなあとつくづく思い知
python のデコレーター構文 @decorate 解り難い @decorate 構文 Python のデコレーターは理解するのが厄介です。Python のデコレーターは syntax sugar の機能と closure の機能の二つを使って関数オブジェクトを修飾する構文です。でも closure の概念がない C/C++ や Java などの 言語から python も使うようになった者に、三重にネストした関数と @decorator 構文を組み合わせたコード例を使って解説されたのでは脳みそが沸騰するだけです。 私は @decorator を使ったコード例の python virturla machine コードを追跡することで、やっとこさデコレーターを理解しました。私の味わされた苦労を軽減してもらうため、この web page をまとめてみます。 デコレーターを理解した後で考え直し
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー uncertaintiesは面白いPythonのモジュールで,これを使うと「だいたいこれくらい」という数値のまま計算を行える。 Pythonのみで書かれたモジュールなので,インストールは簡単。「easy_install uncertainties」などでインストールするだけで,モジュールが使えるようになる。 たとえば,世田谷から成田空港まで車で行くとする。都心はどうしても渋滞するので,巡航速度40キロ/時±5キロで成田まで向かうとするとどのくらいの時間がかかるだろうか。こういう計算をするのにuncertaintiesか便利だ。 世田谷から成田空港まではだいたい84キロある。 >>> f
アクセス制限について Javaに関して Pythonに関して アクセス制限についての感想と考察 考察 感想 抽象クラスとインターフェイスについて 抽象クラスについて インターフェイスについて アクセス制限について Javaに関して Javaのアクセス修飾子については、public、private、protected、無名の種類があります。アクセス修飾子についてはnextindex.net - がまとまっているようなので、そこを見てみるといいでしょう。各所にて書かれているので僕がいうまでもないと思いますが、オブジェクト指向プログラミングにおいて、アクセス制限はカプセル化を実現するために必要なものです。以下に簡単にまとめたものを掲載してみます。先ほどのところを参考に書かせてもらっています。 private 同一クラス内からのアクセスのみ。 無名 同じパッケージ内からしか呼び出せない。 prot
前から常々思っていることだが、何かについて勉強する一番効率的な方法はそれを誰かに教えること。人に教えようとすると、それなりに準備をしなければならないし、自分の頭の中を整理しなければならない。また教える過程でするどい質問をされたり間違いを指摘されて、さらに勉強を強いられることもある。 私がこの手の「入門編エントリー」を書くのは、ほとんどの場合「自分自身の理解をより深めたい」ことが一番の目的であるが、ブログの場合、教室などと違って「その道の達人」みたいな人たちがツッコミを入れてくれるケースもしばしばあるので、そのメリットは何倍にもなる。 先日のクロージャに関するエントリーなどは良い例で、「そんな用途にはmemoizeというデコレータが便利」などの指摘がいただけだけであれを書いた価値があるというもの。 そこで、今日はPythonのデコレータに関して。デコレータがPythonという言語に導入された
以下の Python コードの if 文の本体は、直接スクリプトとして呼び出された場合のみ実行され、ライブラリとして読み込まれた場合は実行されない。 if __name__ == '__main__': # do something 同様のコードを Perl, Ruby, PHP で書く方法を調べてみた。 Perl の場合 if ($0 eq __FILE__) { # do something } Ruby の場合 if $0 == __FILE__ # do something end PHP の場合 if (basename(__FILE__) == basename($_SERVER['PHP_SELF'])) { // do something }
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonのメタプログラミング手法の一つ「メタクラス」は,初心者にとっては「なんか強そう/経験値たくさんもらえそう」なアイテムの最右翼だと思う。反面「どうすればいいか/なにができるか」ということがなかなか理解しづらい。 英語のブログを見ていたら,メタクラスの理解に役立ちそうなちょうどよいサンプルを見つけたので,紹介がてら独自の解説を付け加えたいと思います。 メタクラスを簡単に説明すると,「本来コードを書かなければ実現できないような処理を黒魔術的な処理でなんとかしちゃう」ためのテクニックです。コード量を(時には劇的に)減らすことができたり,すっきりした見通しの良いクラス設計を実現できま
Python勉強し始めて一ヶ月くらいたったんで一度復習を兼ねてまとめてみようと思います。僕が今までPHPとかPerlとかJavaScriptを使っていて、Pythonはこうやるのかーとか、これは便利だなーと思ったところ、開発していてはまったところなどピックアップしてみました。 初めてのPythonを読んで初心者向け勉強会に参加した程度の知識です。とりあえず初めてのPythonがかなりいいのでこれ読むだけで大体基礎は習得できた気がします。基本的な文法の説明だけでなく、大事なことは何回も繰り返し書いてあったり、Pythonの思想などにも触れているのでなぜこういう実装になっているかということも理解できます。これオススメ。 尚、このエントリーではPythonのバージョンは2.5をベースにしてます(主にGoogleAppEngineで使ってるので)。間違えなどあったらツッコミお待ちしてます。 文法、
GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
動機 自分が書いたコードがマルチバイトに全然対応してなかった。ショック。というわけでunicodeで受け渡しするようにしました。 mixi APIで遊んでみた - YAMAGUCHI::weblog 方法 今回はPython2.5での話をしています。encode()、decode()メソッドを使えばOK。 そもそもPythonの文字列型ってなによって話なんですが、str型とunicode型の二種類があります。基本マルチバイトを扱ってるときはunicode中心に考えれば上記使い方に納得です。 まずそもそもunicode型扱ってて最初に意味不明になったのは、「結局unicode型って文字コードはなんなの?」ってことなんですが、結論から言うと「どの文字コードでもない」、つまりPython独自のもの。というわけで外部とのやりとりが発生するときは必ず変換が必要。 unicodeから各種文字コードに変
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く