本教材は、個人的な用途で自由に使用できるだけでなく、「Python ゼロからはじめるプログラミング」を大学や専門学校での授業、または企業などでの研修の教科書として採用された教員・指導員が、授業などで活用することもできます(授業の進め方などに応じて改変いただいて結構です)。 ただし、民間企業が商用、ビジネス目的で利用する際には別途許諾が必要ですので、著者までご連絡ください。
Pythonユーザーが集まり、情報交換し、交流するためのカンファレンス「PyCon APAC 2013」が9月13日、14日に都内で開催されました。PyCon APACはこれまでシンガポールで開催されており、今回初めて日本で開催されました。 (本記事は「Dropboxは全部Pythonで信頼性の高いソフトウェアを作った(前編)~PyCon APAC 2013」の続きです) Pythonは遅いのか? でもたぶん、あなたのアプリはCPUによって制約されているわけではないでしょう。ごく限られた分野、例えばゲームとか科学計算ではないのならば、多くの制約はハードディスクやネットワーク、もしくはメモリから来ているのではないでしょうか。 それにもしも本当にCPUによって制約されているのであれば、そういうアプリはだいたいCやC++で書かれているとは思うけれど、Pythonにも選択肢はあって、それはCyth
5分でわかる Python を知らない人が Python の便利さを学べる記事をかいたよ | HIROKI.JPが、Pythonの説明なのにところどころ「Rubyでは」になっていたり、そもそも無理やりPHP的なことをしようとしていていまいちなのでTwitterでひどいなぁと言っていたら @bellonieta: ここは是非とも@nishioさんに正しい5分記事を書いてもらいたいところ… と言われてしまった。まー、ぼやくのは生産的じゃないからねぇ。Pythonを使ってて色々便利なことはあるけど、一番手軽そうなものを軽く説明してみよう。たとえばなんか書類をつくっているとするじゃない、こんな感じの。 社長: 山田太郎 支社長: 田中一郎 部長: 山川三郎面倒なので3人分しか書いてないけど本当はもっとたくさん30行くらいあるとしよう。さー書けた、と思ったらそこに上司が来て「あーあー、そうじゃないよ
昨日はJavaScript版が出たので、あまり書いたことのない Python を勉強がてら書いてみました。 Python を知らない人に Python の話をして欲しいと言われてないけど、ブログを書きました。(*1) 難しい話は抜きにしたいんだけど、抜きにしちゃうとまったく訳わかんないから簡単に説明する。 今回は Python の psp ってのを使って元ネタ同様のことを実現する。 mod_python や CGI が動くサーバなんて自分でつくらないとないだろうけど、その辺はどうにかしてもらう。 そんなこんなで、どうにかしてもらったら、 <%= と %> で囲めば動きます。 import ではじまるコードの部分とか事前に処理するところは <% と %> で囲んでください。 どうにかしてもらったサーバで example.html というファイルの拡張子を example.psp すれば良いだ
移転のお知らせ: web.py の公式ページ、webpy.org の Wiki にこのページの翻訳を投稿しました。以降、修正等は webpy.org の Wiki のほうに行います。修正点や改善点を見つけられた方は、ぜひ Wiki にログインして編集してやってください。こちら (emptypage.jp) のページのほうはもう更新しませんので、ご注意ください。(2007-09-16) 新しいページ: web.py 0.2 チュートリアル (web.py) はじめに URL のハンドリング 開発 テンプレート処理 データベース処理 はじめに Python を使ってウェブサイトを作りたい。web.py は、これを簡単に実現するコードを提供するものだ。 チュートリアルにあることをすべて実行するには、Python、web.py、flup、psycopg2、PostgreSQL(または同等のデータベ
Python勉強し始めて一ヶ月くらいたったんで一度復習を兼ねてまとめてみようと思います。僕が今までPHPとかPerlとかJavaScriptを使っていて、Pythonはこうやるのかーとか、これは便利だなーと思ったところ、開発していてはまったところなどピックアップしてみました。 初めてのPythonを読んで初心者向け勉強会に参加した程度の知識です。とりあえず初めてのPythonがかなりいいのでこれ読むだけで大体基礎は習得できた気がします。基本的な文法の説明だけでなく、大事なことは何回も繰り返し書いてあったり、Pythonの思想などにも触れているのでなぜこういう実装になっているかということも理解できます。これオススメ。 尚、このエントリーではPythonのバージョンは2.5をベースにしてます(主にGoogleAppEngineで使ってるので)。間違えなどあったらツッコミお待ちしてます。 文法、
Pythonを使ったプログラミングについて、今回から解説します。PerlやRubyと比べると、Pythonは日本ではまだマイナーな印象がありますが、「Google三大言語」(C++、Java、Pythonのこと)のひとつでもあり、Facebookをはじめとしたメジャーなサイトでの事例が急速に増えていることから、日本でも今後普及する可能性が高いです。私が社長をしているゼロスタートコミュニケーションズという会社では、設立当時(4年ほど前)から自社製品にはPythonを使っており、ここ半年間、周囲でPythonを使用しているケースが増えているのは嬉しい限りです。 Pythonに限らず、プログラミング言語が日本で普及するかどうかの鍵を握っているのは、(幸か不幸か)日本語情報の多寡であると思います。Rubyの事情は正直よくわかりませんが、たとえばPerlがこれだけ日本でメジャーになったのは、Perl
思いは言葉に。 はてなブログは、あなたの思いや考えを残したり、 さまざまな人が綴った多様な価値観に触れたりできる場所です。
前から常々思っていることだが、何かについて勉強する一番効率的な方法はそれを誰かに教えること。人に教えようとすると、それなりに準備をしなければならないし、自分の頭の中を整理しなければならない。また教える過程でするどい質問をされたり間違いを指摘されて、さらに勉強を強いられることもある。 私がこの手の「入門編エントリー」を書くのは、ほとんどの場合「自分自身の理解をより深めたい」ことが一番の目的であるが、ブログの場合、教室などと違って「その道の達人」みたいな人たちがツッコミを入れてくれるケースもしばしばあるので、そのメリットは何倍にもなる。 先日のクロージャに関するエントリーなどは良い例で、「そんな用途にはmemoizeというデコレータが便利」などの指摘がいただけだけであれを書いた価値があるというもの。 そこで、今日はPythonのデコレータに関して。デコレータがPythonという言語に導入された
最近 JavaScript を書く機会が増えているが、それに従って自分のコーディングスタイルが少しづつだが変化してきているのが分かる。もともと「コードの読みやすさ」や「実行効率」にとことんこだわるタイプだが、(JavaやC++になくて)JavaScriptやRubyにあるクロージャや無名関数が私のコーディングスタイルにとてもマッチしているからだと思う。 簡単な例を紹介しよう。Pythonで書かれた config.py というモジュール。config.yamlという設定ファイルを読み込んで Dictionary として返す config.get() という関数。普通に実装すると、以下のような感じになる。 import yaml _config = None def get(): global _config if not _config: data = open('config.yaml')
文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ Ruby, Python, JavaScript, Perl, C++ の文字列操作の比較表を作りました。配列操作の比較表の続編です。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) Python (str) JavaScript (String) Perl C++ (std::string)
Androidの開発機を入手して2週間ほど経つのですが、その2週間の感想です # 2週間といっても、他にいろいろとやってたのですが(個人の方で新サービス読んだ4!のテスト公開とか) この手のことをするのは、2002-3年ぐらいにPocket PCの開発をやって以来なので、少しずれてるかもしれませんが。いろんな事が簡単にできるようになっているなあと、時代の違いを感じました。 開封から設定 設定にパソコンは不要 [開封]-[起動]-[タイムゾーンと日時の設定]-[WiFiの設定]-[Googleアカウントの設定] で。Gmailが使えるようになり、GmailのコンタクトもAndroid上で閲覧できるようになりました。携帯電話として使うためのSIMは持ってないし、持っていたとしても使うとたいへんなパケット料金になるらしいので、無線LANだけで使ってます。 Gmailのコンタクトに電話番号の情報は
はじめに 近年、Webアプリケーション開発で用いるプログラミング言語として、Lightweight Language(以降LL)と呼ばれるスクリプト言語が人気を博しています。本稿では、そのスクリプト言語の中からPythonとWebアプリケーションフレームワークのDjango(ジャンゴと読む)を紹介します。 Pythonの大きな特徴として、「言語仕様が小さくシンプルであり、簡潔で読みやすいアプリケーションを作れる」という点が挙げられます。DjangoはPythonの簡潔さをうまく活かし、シンプルかつ本格的な開発ができるWebアプリケーションフレームワークです。本稿ではこのDjangoによるアプリケーション開発の基本をチュートリアル形式で説明します。 対象読者 PythonによるWebアプリケーション開発に興味がある方 日頃、Perl、Ruby、PHP、Java、C#などPython以外のプロ
こんにちは!! id:HolyGrail に「おすすめ iPhone アプリ纏めろ!!」とか書いておいて ドラクエばかりやっているよしをりです!! まだクリアしてないのでネタバレは無しでおねがいします!! さて,新人の研修期間も終り業務開始されてきましたがそんなとも君から 「Python 覚えたいっす!! やるっす!! 俺,やるっす!!」 と,相談を受けました!!! 大変素晴らしいですね!! 僕が洗脳したわけじゃないですよ!!! 実はプログラミング覚えるには Python から初めるのが良いんじゃないかなぁと 最近感じていたのです! Python で覚えると良いと思う理由 オブジェクト指向プログラミング 言語自体がシンプル ライブラリが充実 良い習慣を言語仕様にしてる インタプリタですぐに試せる とかかなぁ…… ひとつづつもう少し説明すると オブジェクト指向プログラミング これはまぁ,そう
これまでに書いたPyGTKのコードの中で、何か重い処理をさせているときに(メインループに処理が回らないことにより)GUIが固まってしまうのを避けるために幾つかの方法を使用してきた。ここではそれらをまとめておく。 スレッドを使用する マルチスレッド化して重い処理を別のスレッドで実行するようにする。子プロセスの実行など、同時に複数の処理を行いたいことがあるときに使えるが、以下のデメリットがある。どうしてもスレッドを使用しなくてはならない、という場合以外はおすすめできない。 スレッドを使用するための初期化処理としてgtk.gdk.threads_init()をgtk.main()よりも先に呼ぶ必要がある他、別スレッド側がGUI部品をいじるときにはメインスレッド側と同時にいじろうとして落ちる*1ということを避けるためにgtk.gdk.threads_enter()とgtk.gdk.threads_
GoogleはJavaScriptで隠匿したメールアドレスを読み取り、検索結果に表示している? | スラド ITを見て、こんなのはWebKitを使えば余裕だろ、ということでやってみました。 Cで記述してもよいのですが、ビルド設定が面倒なのでpythonでやってみます(追記: C言語でも実装しました)。 ubuntuにはpython-webkitがあるのですが、しかしこれにはまだWebKitのJavaScriptCoreへアクセスするコードが入っていません。 探したところ、pywebkitgtk(python-webit)のサイトのissue trackerにアップされてたjswebkitというJavaScriptCoreアクセスライブラリを利用することで、JavaScriptを呼ぶことができました。 http://code.google.com/p/pywebkitgtk/issues/d
GUI grepツールの調査過程は一応一段落し、当初のもくろみ通り製作に入ろうとしています。 今は特に苦もなく使えそうなPython, C++, C#のどれを用いるか検討中。 大量のファイルへのアクセスと正規表現のマッチは割と重い処理になりそうなので、実際にコードを書いて比較しています。 まず生grep。find | xargs grep '...'。直接Cで書かれていることを考えると、最速の基準として考えて良さそうです。日英対訳文対応付けデータ [1]をデータセットとして実験していますが、1.1秒くらいで2000ファイル近くのスキャンが終わる。 次に、書きやすそうなところでPython (re)でやってみました。所詮LLだし、結果には全然期待していません。 ところがところが、何故かこれが滅茶苦茶速い。 特に最適化したコードの書き方でもないんですが、1.6秒くらいで終わる。殆どC同等の速さ
Ruby厨とPython厨が平行線の議論をしていたので、まとめてみる。 オブジェクト指向的にキモイ? str.join() 処理での登場人物は2人いる。連結文字(区切り文字=separator)、連結される文字列の列だ。 この二つを比べると、「連結される文字列の列」が情報的に重要な場合がほとんどだろう。それを元に文字列の列が主役で連結文字はオマケと考えると、「joinが主役でない連結文字側のメソッドになる何てキモチワルイ」となる。 でも、別の視点で「連結する側とされる側」というように分類すると、「区切り文字 join 連結される文字」が素直な能動態で、「連結される文字列 (is) join(ed by) 連結される文字」だと無理やりな受動態になるので、''.join() の方が素直だ。 Rubyの場合は「配列が要素をjoinする」と配列が主体となっているので、後者の考え方はしにくい。なので
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く