Python2.5の文字列リテラル
#シングルもダブルも意味は同じとなる
print ‘シングルクウォーテーション’
print “ダブルクウォーテーション”
print ”’トリプルもあるぜ”’
print “”"トリプルもあるぜ”"”
print ”’トリプル
もあるぜ”’ #トリプルは改行できます
print ‘ダブルクウォーテーション”"を使える’
print ‘ダブルクウォーテーション\”\”を使える’
print “シングルクウォーテーション”を使える”
print “シングルクウォーテーション\’\'を使える”
print r’Row文字列は\が無視される\n\\’
実行結果
シングルクウォーテーション
ダブルクウォーテーション
トリプルもあるぜ
トリプルもあるぜ
トリプル
もあるぜ
ダブルクウォーテーション”"を使える
ダブルクウォーテーション”"を使える
シングルクウォーテーション”を使える
シングルクウォーテーション”を使える
Row文字列は\が無視される\n\\ 文字操作 print “私は” ‘宇宙人’ “だ” #これだと自動で連結される
print “私は” + “宇宙人” + “だ”
print “わん” * 3 #3回くりかえし
string = “1234567890″
print string[6] #インデクシング(0からはじまる)
print string[2:4] #スライシング
print string[1:] #1から末尾
print string[:3] #0から3
print string[:] #すべて
#注意:インデクシング、スライシングは2バイト文字だと化ける
#文字列フォーマット
print “このまえ%sに乗った” % “フリーフォール”
print “このまえ%sと%sと%sに乗った” % (“フリーフォール”, “フリーフォール”, “フリーフォール”)
実行結果
私は宇宙人だ
私は宇宙人だ
わんわんわん
7
34
234567890
123
1234567890
このまえフリーフォールに乗った
このまえフリーフォールとフリーフォールとフリーフォールに乗った
Python2.5のリスト
print []
print [0, 1, 2, 3]
print [0, [1, 2]]
list = [0, 1, 2, 3, [4, 5]]
print list[2]
print list[4][0]
print list[1:3]
print len(list)
print list + list
print list * 2
list = [0, 1, 2, 3]
list.append(4)
print list
実行結果
[]
[0, 1, 2, 3]
[0, [1, 2]]
2
4
[1, 2]
5
[0, 1, 2, 3, [4, 5], 0, 1, 2, 3, [4, 5]]
[0, 1, 2, 3, [4, 5], 0, 1, 2, 3, [4, 5]]
[0, 1, 2, 3, 4]
Python2.5のモジュール
モジュールを作る
FunctionTestというモジュールを作る。このモジュールにはprintmessageという関数があある。
FunctionTest.py
def printmessage():
print “message”
FunctionTestMain.py
import test.FunctionTest #インポート
test.FunctionTest.printmessage()
実行結果
message import
importステートメントはモジュールを探し、コンパイルを行い、コードを実行する。すでにモジュールがロード済みの場合はこの処理は行わない。
importでは、モジュール全体に対応するモジュールオブジェクトが1つの変数に代入される。
from
fromステートメントはimportと同じような動きをするが内容がちょっと異なる。
モジュールファイル中の特定の変数を他のスコープにコピーする処理が行われる。
from test.FunctionTest import printmessage
printmessage() #完全名がいらなくなった
fromでは、モジュール中の特定の変数に対応するオブジェクトが、インポート先のモジュールのスコープに属する同じ名前の変数に代入される。
Python2.5のファイル操作
#ファイルの書き込み
w = open(“./sample.txt”, “w”)
w.write(“なんで”)
w.write(“ダイワハウスなんだ\n”)
list = ["なんで", "ダイワハウスなんだ\n"]
w.writelines(list)
w.close()
実行結果(出力されたsample.txt)
なんでダイワハウスなんだ
なんでダイワハウスなんだ
Python2.5でパッケージインポート
ディレクトリにあわせてインポートする方法。
Javaのパッケージみたいなもの。フォルダで区切ればドット区切りでアクセスができる。
import test.ForTest __init__.py
「__init__.py」ファイルをパッケージのフォルダに置かなければインポートできない。これは全てのフォルダにおかないとだめ。このファイルがあるかどうかが重要なので、ファイルは空のファイルでよい。
Python2.5のディクショナリ
print {}
print {1:1, 2:2}
print {“1″:”value1″, “2″:”value2″}
print {1:1, 2:{1:1, 2:2}}
dic = {1:1, 2:2, 3:3}
print dic[1]
print dic.has_key(3)
print dic.keys()
print dic.values()
print len(dic)
dic2 = {3:4, 4:4}
dic.update(dic2)
print dic
実行結果
{}
{1: 1, 2: 2}
{’1′: ‘value1′, ’2′: ‘value2′}
{1: 1, 2: {1: 1, 2: 2}}
1
True
[1, 2, 3]
[1, 2, 3]
3
{1: 1, 2: 2, 3: 4, 4: 4}
Pytho2.5のタプル
タプルは不変なので変更できない。
print ()
print (0, 1, 2)
print (0, 1, (2.0, 2,1))
t = (0, 1, 2)
print t[1]
print len(t)
print t + t
print t * 3
実行結果
()
(0, 1, 2)
(0, 1, (2.0, 2, 1))
1
3
(0, 1, 2, 0, 1, 2)
(0, 1, 2, 0, 1, 2, 0, 1, 2)
Python2.5でクラスを作成
class Color:
name = None
def __init__(self, name):
”’コンストラクタ”’
self.name = name
def getname(self):
”’名前を返します。”’
return self.name
class Red(Color):
def getnamename(self):
return self.name + self.name
#インスタンス作成
red = Red(“赤”)
print red.getname()
print red.getnamename()
実行結果
赤
赤赤
Python2.5のwhile文
whileをつかってみよー cnt = 0
while cnt < 5:
cnt = cnt + 1
print cnt
if cnt == 1:
continue
elif cnt == 2:
pass
elif cnt == 3:
break
else:
print “ループ終了” #breakされた場合は実行されない
実行結果
1
2
3
Python2.5のif文
if文の使い方 value = 100
if value < 100:
print “value < 100″
elif value == 100:
print “value == 100″
else:
print “value > 100″
実行結果
value == 100
Python2.5のFor文
forをつかってみるぜ for num in [1, 2, 3]:
print num
for (num1, num2) in ((1,1), (2,2)):
print num1 + num2
for num in range(3):
print num
str = “for”
for num in range(len(str)):
print str[num]
keys = ["1", "2", "3"]
values = ["value1", "value2", "value3"]
for (key, value) in zip(keys, values):
print key + “:” + value
実行結果
1
2
3
2
4
0
1
2
f
o
r
1:value1
2:value2
3:value3
Pydevのインストールと設定など
clipseで使えるプラグイン。Pythonの実行環境&開発環境を簡単に。
Pydevダウンロード インストール
ダウンロードしたものを解凍してEclipseのフォルダにかぶせる。
設定
ウィンドウ>設定でインタプリタにPython.exeを設定する。
気になったこと
タブを使うと日本語が化ける場合があるので、半角空白がおすすめ。
Python2.5の実行
とりあえず、実行させて見ましょ。
サンプルファイル
Hello.pyファイルを作成する
print “Hello Kona” 実行
python.exeに作成したサンプルファイルを引数に与えるべし。
C:\Python25>python D:\Hello.py
Hello Kona
ほーらできた。
インタプリタで実行させてみる
スタートメニューからPython2.5>Python(command line)を選択する。
そこに書くとインタプリタで実行できるのだ。
僕について
Dai Fujihara
A hero can be anyone.
藤原大はマネージャでありアジャイル実践者だ。そして、プロジェクトリーダー、チェンジ・エージェント、アジャイルコーチ、トレーナーでもある。彼はまたRedmine、Jenkinsといった開発を支援するツール環境の整備や、アジャイル開発を活用した創造的なソフトウェア開発の支援を行っている。さらに、趣味は沖縄離島巡りらしい。
ここ最近の人気
永久保存の本
Venkat Subramaniam (著), Andy Hunt (著), 木下 史彦 (監訳), 角谷 信太郎 (監訳)
アジャイルな習慣とは一体何なのか?本書ではプラクティスを交えながら、その姿勢を読者に問いかけている。世代や役割をこえて色褪せない「アジャイル」に対する良書。Amazonレビュー
Mike Cohn (著), マイク コーン (著), 安井 力 (翻訳), 角谷 信太郎 (翻訳)
採用した現在のタイトルは、見積りや計画づくりといったプロセスを、アジャイルに進めなければならないと謳っているのだ。見積りと計画づくりがアジャイルでないのに、プロジェクトがアジャイルであるということはありえない。(イントロダクションより)
Jonathan Rasmusson (著), 西村 直人 (翻訳), 角谷 信太郎 (翻訳)
アジャイルサムライ―それはソフトウェアを顧客に届ける猛々しきプロフェッショナルだ。本書では、圧倒的なアジャイルプロジェクトの姿を見せる。2011年爆発的にヒットしたアジャイル開発に情熱を持つエンジニアに届けたい本。タグ
Agile ant Apache bash Eclipse GlassFish install Java Javascript kobo Linux log4j Management Maven Open Source PHP Pukiwiki Python Redmine Ruby Ruby on Rails Scrum Spring Struts Struts2 Subversion Test Tomcat Trac VBA Web WebDriver WebLogic Windows WordPress 働く 勉強会 嫁(ベータ) 思い出し笑う 我思う 旅する 映画/ドラマ 英語を話す 読むと聞く 過去を語るアーカイブ










