セメントドリンク、ブラウン管、吊るされた収納、OMORIカフェ、くり抜き、どや顔の初音ミク パチミラ福岡に出演する縁で博多に行きました。 楽しかったのでその時の写真をアップロードします。 博多駅のハートポスト 手描きのグリッチ カニの丸揚げ(おいしかった) フレッシュセメント という名前の飲み物(おいしかった)ごま+バナナスムージーっぽかった? 泡系…
変数への代入は、等号"="を使って行います。 >>> foo = "bar" >>> foo 'bar' 複数の代入を、ひとつの代入文で書くことができます(こういう代入を、マルチターゲット代入と呼びます)。 >>> foo = bar = "baz" >>> foo 'baz' >>> bar 'baz' 代入文の左辺には、複数の変数をコンマでつなげて指定することができます。このとき、代入される右辺値は、変数の数と同じ数の式をコンマでつなげて指定します。 >>> foo, bar, baz = "hoge", "fuga", "piyo" >>> foo, bar, baz ('hoge', 'fuga', 'piyo') このとき、右辺値は、リストやタプル、文字列といったシーケンスでも構いません。左の変数から順に、シーケンスの最初の値から代入されます。 >>> foo, bar, baz
色々の練習も兼ねて、 Python で、 Twitter の public timeline から 名前を拾ってきて表示するプログラムを作成しました。 from xml.etree import ElementTree from urllib import urlopen e = ElementTree.ElementTree(file=urlopen("http://twitter.com/statuses/public_timeline.xml")) for n in e.findall(".//name"): print n.text 主に「みんなの Python」を参照しながら書きましたが、つまづいた点が二点ほど。 まず ElementTree は Python25/Lib/xml/etree/ElementTree.py で定義されているのですが この場合、 e = Elemen
インスタンス生成時に new は不要。 メソッドの第一引数には self を指定する(this の役割)。 文字列をクラス内にベタに定義すると、オブジェクトの説明を示す __doc__ 属性(docstring)になる。 #!/usr/bin/python # class Hoge: "Hoge is Test class." age = 19 def name(self): return "Hoge!" print "hello world" hoge = Hoge() print hoge.name() print hoge.age print hoge.__doc__ hello world Hoge! 19 Hoge is Test class. 参考 http://www.python.jp/doc/2.4/tut/node11.html http://www.shido.inf
環境 Windows XP SP3 Python 2.5.2 Aptana Studio 問題 コード # -*- coding: utf-8 -*- a = "あいうえお" print a b = u"かきくけこ" print b 結果 あいうえお こんな感じで、実行しても「あいうえお」しか表示されない(unicode文字列が表示されない)。 解決方法 C:\Python25\Lib\site-packagesに「sitecustomize.py」を置き、中に import sys sys.setdefaultencoding('utf-8') と書く。 ~/lib/python2.4/site-packagesに sitecustomize.pyというファイルを作成しておくと、Pyhonインタプリタ起動時に自動的に読み込まれ、Python全体の設定を行うことができます。 ウノウラボ U
メソッド p.40 >>> name = "ama-ch" >>> name.find("ama") 0 >>> name.find("chan") -1 >>> "ama-ch".find("ama") 0 >>> "ama-ch".find("chan") -1 文字列の検索をするメソッドfind。 処理対象.メソッド名で実行。 find()の括弧内の文字列が見つかれば0を、なければ-1を返すようだ。みんPyだと見つかった場合1が返ってるんだけど・・・バージョンの違いかな? p.41 >>> name = "ama-ch" >>> name.replace("-ch", "chang") 'amachang' >>> name 'ama-ch' 文字列を置き換えるメソッドreplace()。 実行後に対象変数(str)の中身は変わらないことに注意。内容の変更を伴う操作は全て同じらしい。
codepad(http://codepad.org/)という素晴らしいサイトを昨日初めて知り、FizzBuzz問題でもやろうと思って書いてみました。 for n in range(1, 101): if n % 15 == 0: print "FizzBuzz" elif n % 3 == 0: print "Fizz" elif n % 5 == 0: print "Buzz" else: print n なんかもっと、短く書けそうなんだけど、頭が回らない>< Python確か条件演算子とかないしなぁ・・・ とりあえずぐぐってみた。 FizzBuzz - Pythonのお勉強のFizzBuzzがすげぇ!! for i in range(100):print i%3/2*"Fizz"+i%5/4*"Buzz"or-~i なんじゃこりゃ〜! 必死こいて理解した(つもり)ので、解説してみます
pythonでは「"」と「'」の区別がありません。エスケープシーケンスをそのまま表示したい場合は、クォートの直前に「r」を置きます。 print "Python is an easy to learn,\tpowerful programming language." print 'Python is an easy to learn,\tpowerful programming language.' print r"Python is an easy to learn,\t powerful programming language." print r'Python is an easy to learn,\tpowerful programming language.' Python is an easy to learn, powerful programming language.
「初めてのPython」のクラスの部分を少し読んだ。 クラスは、ほぼ、単なる「名前空間」らしいのだが、モジュールとの違いは、クラスは属性を継承できることらしい。 また、クラスもクラスオブジェクトと呼ばれていて、以下のように、クラスオブジェクトに値を再代入できる。 class AA: def foo(self): print 'in foo()' a = AA() # AAのインスタンスオブジェクトを作成 AA = 'test' # ここで、AAに文字列を再代入 b = AA() # 違法(文字列オブジェクトは関数として扱えない) a.foo() # OK!("in foo()"と表示される) ここで、a.foo()の動きが少々トリッキーに思えるのだが、まだ私自身がきちんと理解していないためだと思う。一応、意識しておこう。 ここら辺の仕様は、Rubyでどうだったか全く覚えていないのでRuby
Googleでは、nofollow属性はブログのコメント覧などブログ管理者以外のユーザーが自動的にリンクを生成できる機能を用いた場合に自動的に付加される事が望ましいとし、ブログツールなどへの実装を呼びかけている。なお、nofollow属性を付加する機能は既に「Six Apart」「Blogger」「LiveJournal」「Scripting News」「WordPress」「Flickr」「Buzznet」「blojsom」「Blosxom」が採用しているという。 rel="nofollow" とアンカータグにつけることでコメントスパム対策、という話。ここ二日ほどあちこちで散見される話題です。Google だけでなく Yahoo! や MSN もその対応を表明したことから、早速実装を進める海外 blog サービスもちらほら。 はてなダイアリーもさっさと実装してしまおうと今朝話したのですが
いつもお世話になってるあの人とかあの人とかが山口家の逆襲->perl-解説->クロージャというクロージャの解説ページをブックマークしてるのをきっかけに、 Perl のクロージャについて自分もちゃんと理解できてるのかというのを考えてみましたが、どうも微妙です。 クロージャについて、何でいまいち理解しきれてない感じがあるのかというと、クロージャがどういうものであるかは知ってるけど、クロージャをどういう時に使うと良いのかが具体的にあれとこれという感じで思い付かないからなのではないかと思った。 なので、Perl でクロージャを使ってる実装とかを見て、どんなときに使われるものなのかをリストアップして理解を深めてみよう..のコーナーです。 クラスにデータを保持するためのクロージャ 僕がぱっと思いついたのは Class::DBI の中で使われている Ima::DBI におけるデータベースハンドラのキャッ
最近 Perl でテストを書くときに Test::Class を使ってます。(もしかして常識?) これまでは *.t で Test::More をそのまま使ってたけど、テストが大きくなってくるとコードが分かりにくくなったり、自分であれこれしなきゃいけないことが多くてめんどくさい。 Test::Class は xUnit スタイルで Perl のテストを書けるフレームワークです。xUnit な Perl 実装といえば Test::Unit もあるんですが、テスト用の関数も Test::Unit の流儀に従う必要があってちょっと嫌。Test::Class は Test::More と Test::Harness とか、普段使い慣れてる Perl らしいテストスタイルを使いつつ xUnit できるという点が良いです。 使い方ですが、 Test::Class を継承したテストクラスを作り テスト用
「続・初めてのPerl 3章」の練習問題で、CPAN からモジュールをインストールする必要があったので、自分用に作業メモを残しておく。 基本的には以下のサイトを参考にさせて頂いた。 CPAN 初級 まず、自分の環境(colinux 上の Fedora7)には cpan shell(CPAN.pmモジュールがこれに該当するのかな?)が入ってなかったのでインストールする。 % sudo yum install perl-CPAN 次に、対話的なモジュールインストールシェル(cpan shell)を起動して初期設定をする。 % sudo perl -MCPAN -e shell 自分は、以下の初期設定をするかどうか聞かれたときに、no と答えた。(本当は、デフォルトの yes で設定を一つ一つ確認したほうがよかったっぽい) Are you ready for manual configurati
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く