Python Syntax
Python の基本文法
CONTENTS
変数・数値・文字列
変数
Pythonの変数には、オブジェクトの代入が可能です。数値も文字列もオブジェクトの一つとして扱われます。
>>> x = 256 >>> a = "hello"
対話型の操作では、変数名+ [Enter] で変数の内容が表示されます。
>>> a "hello"
数値
整数と浮動小数点数の2種類があります。
- 整数の範囲に事実上上限がありません。
- 浮動小数点は 64bit幅です。
文字列
- 文字コードは Unicode です。
- 文字列を囲む記号には、シングルクォート、ダブルクォート、トリプルシングルクォート、トリプルダブルクォートが使えます。トリプルを使うと、改行コードを含む複数行の文字列を扱うことができます。
>>> text = """ I have a pen. . . . You have a notebook.""" >>> print(text) I have a pen. You have a notebook.
- +演算子で文字列の連結ができます。
>>> text ="abcdefg" >>> text += "hijklmn" >>> text 'abcdefghijklmn'
- *演算子で繰り返しが可能です。
>>> text ="abc"*3 >>> text 'abcabcabc'
- [ ]を使うと文字列のスライス(抽出)が可能です。
形式 [ 開始位置 : 終了位置 : ステップ ] ) >>> text = "ABCDEFG" >>> text[1] 'B' >>> text[2:] 'CDEFG' >>> text[3:5] 'DE' >>> text[1:7:2] 'BDF'
- その他、.split、.join、.find など様々なメソッドがあります。
Google:Python 文字列処理
コレクション型
コレクション型とは、複数の値をまとめるデータ型で、一般の配列に相当する「リスト」と「タプル」、また一般の連想配列に相当する「辞書」と「集合」、計4つの型が存在します。
- リスト
リスト型は [ ] 内に複数要素をカンマ区切りで定義します。リストは数値や文字列のように変数に代入して利用することができます。x = [ ] (空のリスト) data = [ 60, 70, 85, 40, 65 ] colorlist = [ "Blue", "Red", "Green" ] person = [ 25, "Yamada", True ] (異なるデータ型の指定も可)
- タプル
タプル型は ( ) 内に複数要素をカンマ区切りで定義します。タプルは「要素の値を変更きない」仕様なので、あまり使われることありません。x = () (空のタプル) data = ( 5, 8, 2, 9, 3 ) colorlist = ( "Blue", "Red", "Green" ) person = ( 100, "Tokyo", True ) (異なるデータ型の指定も可)
- 辞書
辞書は「キー: 値」という形式で要素を管理します。>>> data = { "left":100 , "right":80 } >>> data["left"] 100
演算子
算術演算子
Python で用意されている演算子には以下のようなものがあります。
演算子 | 意味 | 例 | 出力 |
+ | 加算 | 2+1 | 3 |
- | 減算 | 3−4 | -1 |
* | 乗算 | 4*5 | 20 |
/ | 除算 | 7/8 | 0.875 |
% | 剰余 | 8%3 | 2 |
// | 切り捨て除算 | 9/2 | 4 |
** | 指数 | 7**2 | 49 |
divmod | 商と余り | divmod(8,3) | (2,3) |
比較演算子
Python で用意されている比較演算子は以下。結果は True または False です。
演算子 | 意味 |
x == y | x と y が等しい |
X != y | x と y が等しくない |
x > y | x は y よりも大きい |
x < y | x は y よりも小さい |
x >= y | x は y と等しいか大きい |
x <= y | x は y と等しいか小さい |
x in y | x という要素 が y に存在する |
x not in y | x という要素 が y に存在しない |
論理演算子
Python で用意されている論理演算子は以下。結果は True または False です。
演算子 | 意味 | 解説 |
x or y | 論理和 | どちらか 1 つが True なら True それ以外は False |
x and y | 論理積 | x と y がどちらも True なら True それ以外は False |
not x | 否定 | x が True なら False、 x が False なら True |
制御文
ブロックとインデント
if 文や for 文などの制御では複合文の記載が必要になるます。JavaScript や PHP では { から } までが複合文が書かれる「ブロック」となりますが、Pythonでは、囲み記号を使わず、同じインデント(字下げ)がなされている文をブロックとして扱います。
if 条件式: ブロック内の処理1 ブロック内の処理2
インデントの位置をさらにずらすことでブロックの「入れ子」が実現します。
if 条件式: ブロック内の処理1 ブロック内の処理2 if 条件式: ブロック内の処理1 ブロック内の処理2
条件分岐|if
if 条件式1: 条件式1が真の時に実行する文 ... elif 条件式2: 条件式1が偽で条件式2が真の時に実行する文 ... else: すべての条件式が偽のときに実行する文 ...
繰り返し| for
- for 文は一定回数処理を繰り返します。基本的な書式は次の通りです。
for 変数 in イテラブルオブジェクト: 実行する文 1 実行する文 2 実行する文 3
- イテラブルオブジェクトとは「要素を順番に取り出すことができるオブジェクト」のことで、文字列、リスト、タプル、辞書などがそれに該当します。イテラブルオブジェクトの要素の数だけその後の「ブロック」を順に実行します。
- 記載例
x = [ "Orange", "Apple", "Lemon" ] for val in x: print( val ) Orange Apple Lemon
繰り返し|while
- while 文は条件が真の間処理を繰り返します。基本的な書式は次の通りです。
while 条件式: 条件式が真の時に実行する文1 条件式が真の時に実行する文2 条件式が真の時に実行する文3
- 条件式が真の間、その後に記述された「ブロック」の実行を繰り返します。
- 記載例
n = 0 while n < 6: print( "n = " + str( n ) ) n += 1 n = 1 n = 2 n = 3 n = 4 n = 5
関数
- 関数は以下のように定義します。
def 関数名( 引数1, 引数2, ... ) : 関数内で実行する処理1 関数内で実行する処理2 関数内で実行する処理3 return 戻り値
- 関数名に続く ( ) の中に仮引数を記述します。仮引数が不要な場合は何も記載せず、複数指定する場合はカンマで区切って列挙します。
- 関数が呼び出されると、ブロック内の処理が順に実行されます。
- 関数には return 文を使って関数の呼び出し元に値を返すことができます。return 文は必要なければ記述する必要はありません(None が返ります)。
- 記載例
>> def myfunc( ) : . . . print( "Hello!" ) . . . >> myfunc( ) Hello!