Lang/Python/基本文法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#topicpath
/////////////////////////////////////////////////////////...
* 目次 [#j87cd01d]
#contents();
#ls2(Lang/Python/);
/////////////////////////////////////////////////////////...
* スクリプトの先頭 [#m94fa6c5]
- 1行目にインタプリタ行と、2行目にエンコード行(マルチバ...
-- デフォルトのバージョンの python を使う場合:
#!/usr/bin/python
# -*- coding: utf-8 -*-
-- バージョン3固定の python を使う場合:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
/////////////////////////////////////////////////////////...
* 関数 [#z19c1d78]
- 接頭辞として def を記述する
def func_hoge():
print( "aaaa\n" );
- デフォルト引数の指定
def func_hoge( name, msg = "こんにちは" ):
print( name, "さん、", msg );
- 返り値
def func_hoge( name, msg = "こんにちは" ):
result = 12;
return result;
//=======================================================...
** λ式 [#waec3d9e]
- ラムダ式を定義することが出来る。書式は以下
def lambda 引数リスト: 処理
-- ラムダ式では、 ":" の後ろに改行を入れずに処理を記述す...
/////////////////////////////////////////////////////////...
* 値の扱い [#t13f1c2b]
- 16進数
-- 数値の先頭には 0x を付ける
- 8進数
-- 数値の先頭には 0o を付ける
- 2進数
-- 数値の先頭には 0b を付ける
/////////////////////////////////////////////////////////...
* 配列 [#uab8ec47]
//=======================================================...
** 負の配列 index [#v25f6b3d]
- 配列の index が負の値の場合、その index 値は先頭からで...
- 例
-- val[10] があるとき、
val[-1] は val[9] を表す。
val[-2] は val[8] を表す。
//=======================================================...
** スライス [#a9ba2546]
- 変数配列 val[100] があるとき
|~ 表記 |~意味 |
|val[1:10] |配列 val の1番目以上10番目未満までの index ...
|val[:10] |配列 val の先頭(0番目)以上10番目未満までの...
|val[10:] |配列 val の10番目以降の全ての要素 |
-- よって、val[:20] + val[20:] は val 全体に等しい。
/////////////////////////////////////////////////////////...
* 組み込み型 [#o0d2fbef]
//=======================================================...
** bool 型 [#nce0b646]
True / False
/////////////////////////////////////////////////////////...
* 文字列 [#n1a95785]
//=======================================================...
** 文字列への代入 [#c18d7c57]
- python では文字列は不変体である為、index 指定での変更は...
-- 以下はエラーとなる:
word = 'python'
word[3] = 'H' # エラーになる
- 文字列変数 str_val に対して、以下の関数が使用出来る:
//=======================================================...
** find() / rfind() [#z02bb454]
str_val.find(<検索したい文字列>, [開始インデックス], [終...
- 指定した文字列の先頭を、0-origin なインデックス値として...
- 指定した文字列が見つからなかった場合は -1 が返る
- find() が先頭から検索するのに対し、 rfind() は終端から...
//=======================================================...
** index() / rindex() [#p5ee4afc]
str_val.index(<検索したい文字列>, [開始インデックス], [...
- find() / rfind() と同じように動作する
- 指定した文字列が見つからなかった場合、find() / rfind と...
//=======================================================...
** endwith() [#x0d3d539]
str_val.endwith(<検索したい文字列>, [開始インデックス], ...
- str_val の終端が <検索したい文字列> であれば True (真...
//=======================================================...
** startwidth() [#eed091cb]
str_val.startwidth(<検索したい文字列>, [開始インデックス...
- str_val の始端が <検索したい文字列> であれば True (真...
//=======================================================...
** split() / rsplit() [#y5197c75]
str_val.split( [区切り文字], [分割数] );
- 区切り文字で区切って分割した文字列にする。その際、区切...
- [分割数] を指定しなかった場合、始端から終端まで分割を行...
- 分割数に関しては、 split() は先頭から、 rsplit() は終端...
//=======================================================...
** join() [#z75da8de]
//=======================================================...
** strip() [#b7486d15]
//=======================================================...
** upper() [#s6b0e533]
//=======================================================...
** lower() [#kec9cdc5]
//=======================================================...
** ljust() [#f19bba8b]
//=======================================================...
** 文字のフォーマット [#aaba3dfb]
//=======================================================...
** 置換 [#x093d1a5]
/////////////////////////////////////////////////////////...
* ソート [#s3c7ec0a]
//=======================================================...
** sort() [#s0a18be2]
//=======================================================...
** revers() [#c5eb15cc]
//=======================================================...
** remove() [#y294051b]
//=======================================================...
** append() [#teff97a4]
//=======================================================...
** extend() [#nd216956]
//=======================================================...
** pop() [#pb273c4f]
//=======================================================...
** index() [#rc92fccc]
/////////////////////////////////////////////////////////...
* リスト / list [#i21d889d]
//=======================================================...
** リストの定義 [#l529ee3c]
- リスト a を定義する
a = [ 1, 3, 5, 7, 9, 11 ] # リストの定義
print a # リストの中身をプリント
- リストの値を取り出す
i = a[3] # 変数 i にリスト a の3番目...
//=======================================================...
** スライス [#f30bf252]
- スライスを使って、リストの複数の要素を、別のリストとし...
- 書式:
src_list[<start-idx>, <end-idx>] # list src_list から...
src_list[<start-idx>:] # list_src から <star...
src_list[:<end-idx>] # list_src から 始端...
- 例
a = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
b = a[2:5] # list a から index 2-5 番目の要素を list b ...
print b
実行結果 -----------------------
[2, 3, 4]
//=======================================================...
** リストの演算 [#k43a5b50]
a = [ 0, 1, 2 ]
b = [ 5, 6, 7 ]
c = a + b
print c
実行結果 -----------------------
[0, 1, 2, 5, 6, 7]
- リストの終端にリストを追加する関数
a.extend( [4, 5, 6] )
//-------------------------------------------------------...
*** 要素の追加 [#o5573db7]
- 要素を追加するときは、1個の要素でもリストとして演算する
a = [0,1,2]
b = a + [3] # ただの数値(3)ではエラーになるので、 ...
- 終端に要素を追加する関数
a.append( <追加する要素> )
//-------------------------------------------------------...
*** リストの掛け算 [#i088cc96]
- リストに掛け算を行うと、掛けた数だけ元のリストの要素が...
a = [0,1,2]
a *= 3
print a
実行結果 -----------------------
[0, 1, 2, 0, 1, 2, 0, 1, 2]
//-------------------------------------------------------...
*** リスト要素の書き換え [#w99b76de]
- 書式
list_src[index] = new_val
- 例
a = [0,1,2,3,4]
a[3] = 100
print a
実行結果 -----------------------
[0, 1, 2, 100, 4]
//-------------------------------------------------------...
*** 要素の削除 [#pffcbcd9]
- 書式
del list_src[index]
//=======================================================...
** リスト要素の検索 [#e38123c4]
//-------------------------------------------------------...
*** リストに存在するかどうかを調べる [#hfe81988]
- 書式
<search-key> in src_list
- 例
names = ["Jan", "Zdeněk", "Víězslav", "Tomáš", "Františe...
if "Tomáš" in names:
print "True"
else:
print "False"
実行結果 -----------------------
True
//-------------------------------------------------------...
*** リストの何番目の index にあるかを調べる [#rba74598]
- 書式
src_list.index(<search-key>)
- 例
names = ["Jan", "Zdeněk", "Víězslav", "Tomáš", "Františe...
i = names.index( "Antonín" )
print "Index of \"Antonín\" is:", i
j = names.index( "Bohuslav" )
print "Index of \"Bohuslav\" is:", j
実行結果 -----------------------
Index of "Antonín" is: 5
Traceback (most recent call last):
File "./list.py", line 65, in <module>
i = names.index( "Bohuslav" )
ValueError: 'Bohuslav' is not in list
-- "Antonín" はリスト中に存在するので index 値が返ってく...
//-------------------------------------------------------...
*** min / max [#i721878d]
- リスト要素内における最小・最大をそれぞれ検索する
a = [1, 2, 3, 4, 5]
amin = min( a )
amax = max( a )
print "min:", amin
print "max:", amax
実行結果 -----------------------
min: 1
max: 5
- リストの要素が数値だけなら問題ないが、文字列が含まれる...
a = ['1', '2', '3', '4', '5', '10']
amax = max( a )
print "min:", amax
実行結果 -----------------------
max: 4
//=======================================================...
** sort [#abf2cda7]
- 昇順:
list_val.sort()
- 降順:
list_val.reverse()
/////////////////////////////////////////////////////////...
* set 型 [#z7479698]
/////////////////////////////////////////////////////////...
* dictionary [#eee8b4db]
/////////////////////////////////////////////////////////...
* フロー制御 [#u6667b19]
//=======================================================...
** if [#y6b6888c]
s = "snowsdutyrytrctyrhandwerwre";
if "hand" in s: # 文字列の要素を検索
print( "hand is found!" );
- シーケンスを要求する場所にディクショナリを記述すると、...
if "title" in rssdic : # ディクショナリのキーとして "ti...
# 処理を記述...
- ディクショナリの値に大して完全一致するものがあるかどう...
if "hogehoge" in rssdic.values()
# 検出時の処理を記述...
//=======================================================...
** for [#x9d8bc5b]
//-------------------------------------------------------...
*** 書式 [#r9c25e7b]
for i in range(10, 21);
# 処理...
//-------------------------------------------------------...
*** range() [#e01ba2d5]
- 書式
range( [開始する数値,] 終了する数値 [,ステップ] );
- 例
range( 10, 21, 2 ); # 10から20まで、2づつ増える
- 条件の記述に使用出来る。
# 10 から 20 まで、2づつ増える
for i in range( 10, 20, 2 ):
//-------------------------------------------------------...
*** break [#break]
- c などの break 文と同様、ループをそこで抜ける
//-------------------------------------------------------...
*** continue [#continue]
- c などの continue 文と同様、ループ処理をそこで中断し、...
//=======================================================...
** while [#while]
- 書式
while <条件文>:
ループ処理
- 例
i = 0
while i < 10:
print( "[i:", i, "]" );
i += 1
- 無限ループを書くには、条件文に True と書く
while True:
/////////////////////////////////////////////////////////...
* class [#class]
- → [[Lang/Python/Class]]
/////////////////////////////////////////////////////////...
* Link [#j0dd967c]
//=======================================================...
** all [#o20d94a8]
- [[Python Japan User's Group>http://www.python.jp/]]
- [[Python-izm>http://www.python-izm.com/]]
//=======================================================...
** on MacOSX [#lc12d23d]
- [[Pythonスクリプトからバイナリを作成(追記)>http://yam...
//=======================================================...
** on Windows [#o564cd7a]
- [[[Python] pyInstallerの遅さにがっかりしてpy2exeにした...
終了行:
#topicpath
/////////////////////////////////////////////////////////...
* 目次 [#j87cd01d]
#contents();
#ls2(Lang/Python/);
/////////////////////////////////////////////////////////...
* スクリプトの先頭 [#m94fa6c5]
- 1行目にインタプリタ行と、2行目にエンコード行(マルチバ...
-- デフォルトのバージョンの python を使う場合:
#!/usr/bin/python
# -*- coding: utf-8 -*-
-- バージョン3固定の python を使う場合:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
/////////////////////////////////////////////////////////...
* 関数 [#z19c1d78]
- 接頭辞として def を記述する
def func_hoge():
print( "aaaa\n" );
- デフォルト引数の指定
def func_hoge( name, msg = "こんにちは" ):
print( name, "さん、", msg );
- 返り値
def func_hoge( name, msg = "こんにちは" ):
result = 12;
return result;
//=======================================================...
** λ式 [#waec3d9e]
- ラムダ式を定義することが出来る。書式は以下
def lambda 引数リスト: 処理
-- ラムダ式では、 ":" の後ろに改行を入れずに処理を記述す...
/////////////////////////////////////////////////////////...
* 値の扱い [#t13f1c2b]
- 16進数
-- 数値の先頭には 0x を付ける
- 8進数
-- 数値の先頭には 0o を付ける
- 2進数
-- 数値の先頭には 0b を付ける
/////////////////////////////////////////////////////////...
* 配列 [#uab8ec47]
//=======================================================...
** 負の配列 index [#v25f6b3d]
- 配列の index が負の値の場合、その index 値は先頭からで...
- 例
-- val[10] があるとき、
val[-1] は val[9] を表す。
val[-2] は val[8] を表す。
//=======================================================...
** スライス [#a9ba2546]
- 変数配列 val[100] があるとき
|~ 表記 |~意味 |
|val[1:10] |配列 val の1番目以上10番目未満までの index ...
|val[:10] |配列 val の先頭(0番目)以上10番目未満までの...
|val[10:] |配列 val の10番目以降の全ての要素 |
-- よって、val[:20] + val[20:] は val 全体に等しい。
/////////////////////////////////////////////////////////...
* 組み込み型 [#o0d2fbef]
//=======================================================...
** bool 型 [#nce0b646]
True / False
/////////////////////////////////////////////////////////...
* 文字列 [#n1a95785]
//=======================================================...
** 文字列への代入 [#c18d7c57]
- python では文字列は不変体である為、index 指定での変更は...
-- 以下はエラーとなる:
word = 'python'
word[3] = 'H' # エラーになる
- 文字列変数 str_val に対して、以下の関数が使用出来る:
//=======================================================...
** find() / rfind() [#z02bb454]
str_val.find(<検索したい文字列>, [開始インデックス], [終...
- 指定した文字列の先頭を、0-origin なインデックス値として...
- 指定した文字列が見つからなかった場合は -1 が返る
- find() が先頭から検索するのに対し、 rfind() は終端から...
//=======================================================...
** index() / rindex() [#p5ee4afc]
str_val.index(<検索したい文字列>, [開始インデックス], [...
- find() / rfind() と同じように動作する
- 指定した文字列が見つからなかった場合、find() / rfind と...
//=======================================================...
** endwith() [#x0d3d539]
str_val.endwith(<検索したい文字列>, [開始インデックス], ...
- str_val の終端が <検索したい文字列> であれば True (真...
//=======================================================...
** startwidth() [#eed091cb]
str_val.startwidth(<検索したい文字列>, [開始インデックス...
- str_val の始端が <検索したい文字列> であれば True (真...
//=======================================================...
** split() / rsplit() [#y5197c75]
str_val.split( [区切り文字], [分割数] );
- 区切り文字で区切って分割した文字列にする。その際、区切...
- [分割数] を指定しなかった場合、始端から終端まで分割を行...
- 分割数に関しては、 split() は先頭から、 rsplit() は終端...
//=======================================================...
** join() [#z75da8de]
//=======================================================...
** strip() [#b7486d15]
//=======================================================...
** upper() [#s6b0e533]
//=======================================================...
** lower() [#kec9cdc5]
//=======================================================...
** ljust() [#f19bba8b]
//=======================================================...
** 文字のフォーマット [#aaba3dfb]
//=======================================================...
** 置換 [#x093d1a5]
/////////////////////////////////////////////////////////...
* ソート [#s3c7ec0a]
//=======================================================...
** sort() [#s0a18be2]
//=======================================================...
** revers() [#c5eb15cc]
//=======================================================...
** remove() [#y294051b]
//=======================================================...
** append() [#teff97a4]
//=======================================================...
** extend() [#nd216956]
//=======================================================...
** pop() [#pb273c4f]
//=======================================================...
** index() [#rc92fccc]
/////////////////////////////////////////////////////////...
* リスト / list [#i21d889d]
//=======================================================...
** リストの定義 [#l529ee3c]
- リスト a を定義する
a = [ 1, 3, 5, 7, 9, 11 ] # リストの定義
print a # リストの中身をプリント
- リストの値を取り出す
i = a[3] # 変数 i にリスト a の3番目...
//=======================================================...
** スライス [#f30bf252]
- スライスを使って、リストの複数の要素を、別のリストとし...
- 書式:
src_list[<start-idx>, <end-idx>] # list src_list から...
src_list[<start-idx>:] # list_src から <star...
src_list[:<end-idx>] # list_src から 始端...
- 例
a = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
b = a[2:5] # list a から index 2-5 番目の要素を list b ...
print b
実行結果 -----------------------
[2, 3, 4]
//=======================================================...
** リストの演算 [#k43a5b50]
a = [ 0, 1, 2 ]
b = [ 5, 6, 7 ]
c = a + b
print c
実行結果 -----------------------
[0, 1, 2, 5, 6, 7]
- リストの終端にリストを追加する関数
a.extend( [4, 5, 6] )
//-------------------------------------------------------...
*** 要素の追加 [#o5573db7]
- 要素を追加するときは、1個の要素でもリストとして演算する
a = [0,1,2]
b = a + [3] # ただの数値(3)ではエラーになるので、 ...
- 終端に要素を追加する関数
a.append( <追加する要素> )
//-------------------------------------------------------...
*** リストの掛け算 [#i088cc96]
- リストに掛け算を行うと、掛けた数だけ元のリストの要素が...
a = [0,1,2]
a *= 3
print a
実行結果 -----------------------
[0, 1, 2, 0, 1, 2, 0, 1, 2]
//-------------------------------------------------------...
*** リスト要素の書き換え [#w99b76de]
- 書式
list_src[index] = new_val
- 例
a = [0,1,2,3,4]
a[3] = 100
print a
実行結果 -----------------------
[0, 1, 2, 100, 4]
//-------------------------------------------------------...
*** 要素の削除 [#pffcbcd9]
- 書式
del list_src[index]
//=======================================================...
** リスト要素の検索 [#e38123c4]
//-------------------------------------------------------...
*** リストに存在するかどうかを調べる [#hfe81988]
- 書式
<search-key> in src_list
- 例
names = ["Jan", "Zdeněk", "Víězslav", "Tomáš", "Františe...
if "Tomáš" in names:
print "True"
else:
print "False"
実行結果 -----------------------
True
//-------------------------------------------------------...
*** リストの何番目の index にあるかを調べる [#rba74598]
- 書式
src_list.index(<search-key>)
- 例
names = ["Jan", "Zdeněk", "Víězslav", "Tomáš", "Františe...
i = names.index( "Antonín" )
print "Index of \"Antonín\" is:", i
j = names.index( "Bohuslav" )
print "Index of \"Bohuslav\" is:", j
実行結果 -----------------------
Index of "Antonín" is: 5
Traceback (most recent call last):
File "./list.py", line 65, in <module>
i = names.index( "Bohuslav" )
ValueError: 'Bohuslav' is not in list
-- "Antonín" はリスト中に存在するので index 値が返ってく...
//-------------------------------------------------------...
*** min / max [#i721878d]
- リスト要素内における最小・最大をそれぞれ検索する
a = [1, 2, 3, 4, 5]
amin = min( a )
amax = max( a )
print "min:", amin
print "max:", amax
実行結果 -----------------------
min: 1
max: 5
- リストの要素が数値だけなら問題ないが、文字列が含まれる...
a = ['1', '2', '3', '4', '5', '10']
amax = max( a )
print "min:", amax
実行結果 -----------------------
max: 4
//=======================================================...
** sort [#abf2cda7]
- 昇順:
list_val.sort()
- 降順:
list_val.reverse()
/////////////////////////////////////////////////////////...
* set 型 [#z7479698]
/////////////////////////////////////////////////////////...
* dictionary [#eee8b4db]
/////////////////////////////////////////////////////////...
* フロー制御 [#u6667b19]
//=======================================================...
** if [#y6b6888c]
s = "snowsdutyrytrctyrhandwerwre";
if "hand" in s: # 文字列の要素を検索
print( "hand is found!" );
- シーケンスを要求する場所にディクショナリを記述すると、...
if "title" in rssdic : # ディクショナリのキーとして "ti...
# 処理を記述...
- ディクショナリの値に大して完全一致するものがあるかどう...
if "hogehoge" in rssdic.values()
# 検出時の処理を記述...
//=======================================================...
** for [#x9d8bc5b]
//-------------------------------------------------------...
*** 書式 [#r9c25e7b]
for i in range(10, 21);
# 処理...
//-------------------------------------------------------...
*** range() [#e01ba2d5]
- 書式
range( [開始する数値,] 終了する数値 [,ステップ] );
- 例
range( 10, 21, 2 ); # 10から20まで、2づつ増える
- 条件の記述に使用出来る。
# 10 から 20 まで、2づつ増える
for i in range( 10, 20, 2 ):
//-------------------------------------------------------...
*** break [#break]
- c などの break 文と同様、ループをそこで抜ける
//-------------------------------------------------------...
*** continue [#continue]
- c などの continue 文と同様、ループ処理をそこで中断し、...
//=======================================================...
** while [#while]
- 書式
while <条件文>:
ループ処理
- 例
i = 0
while i < 10:
print( "[i:", i, "]" );
i += 1
- 無限ループを書くには、条件文に True と書く
while True:
/////////////////////////////////////////////////////////...
* class [#class]
- → [[Lang/Python/Class]]
/////////////////////////////////////////////////////////...
* Link [#j0dd967c]
//=======================================================...
** all [#o20d94a8]
- [[Python Japan User's Group>http://www.python.jp/]]
- [[Python-izm>http://www.python-izm.com/]]
//=======================================================...
** on MacOSX [#lc12d23d]
- [[Pythonスクリプトからバイナリを作成(追記)>http://yam...
//=======================================================...
** on Windows [#o564cd7a]
- [[[Python] pyInstallerの遅さにがっかりしてpy2exeにした...
ページ名: