Python基本文法

pythonの基本文法をまとめる。

 

■コメント

 行頭に#

 

■変数の型

・数字

 a=5

・文字

 a="n" ・・・ 'n' でもOK

・リスト

 a=[1, 3, 5]

・タプル

 a=(1, 3, 5)

・辞書

 a={'key1', 'value1', 'key2': 'value2'}

・ブール

 a=True  ・・・ 先頭は大文字で。

 a=False ・・・ 先頭は大文字で。

・未定義

    a = None

 

■行末のセミコロン

 a=123   でも

 a=123;  でも、どちらでもOK。

 

■標準入出力

・a = int(input('何個必要ですか :'))  ※入力された文字をint()で数字変換。

・print(a * 2)

 

■文字列操作

a="abcdefg"

a[3]               ・・・ 'd'

a[3:5]    ・・・ 'de'     a[3]からa[5-1]まで。

a[3:]    ・・・ 'defg'

a[:3]    ・・・ 'abc'

a[-1]    ・・・ 'g'

len(a)    ・・・ 7文字 len関数

a.split('d')   ・・・ ['abc', 'efg']

':'.join(a)  ・・・ 'a:b:c:d:e:f:g'

':'.join(['aaa', 'bbb'])  ・・・ 'aaa:bbb'

''.join(['aaa', 'bbb'])  ・・・ 'aaabbb'

a.replace('bc','xx')  ・・・ 'axxdefg'

'xxx{}{}yyy'.format(123,"abc")  ・・・ 'xxx123abcyyy'

'こん' + 'にちは'  ・・・ 'こんにちは'

a.startswith('a')  ・・・ aで始まっていれば True

a.endswith('a')   ・・・ aで終わっていれば True

a.find('s')  ・・・ 's' の出現位置

a.count('.')  ・・・ '.' の出現回数

a.isalnum()  ・・・ すべて英数字ならTrue

a.upper()  ・・・ 英小文字を英大文字へ

a.lower() ・・・ 英大文字を英小文字へ

 

■数字

a=10 ・・・ 整数

a=10.56 ・・・ 小数

a=10+20 ・・・ 加

a=20-10 ・・・ 減

a=20*30 ・・・ 乗

a=30/15 ・・・ 除

a=2**6 ・・・ べき乗(2の6乗=64)

a =6%4 ・・・ 剰余(あまり2)

import random

x = random.randint(1, 10)

 

■制御構造

if 条件式 :

 処理1

elif 条件2 :

 処理2

else :

 処理3

 

条件 and 条件

条件 or 条件

 

if a == 0:

if a==True: ・・・ if a: でも良い

if (a>3):

if (a != 3):

if a%3 == 1: ・・・ 剰余

 

for x in range(繰り返し回数)

 処理

 

while 条件式 :

 繰り返す処理

 

■リスト操作 ・・・ [ ]で括る。

a = [1, 3, 5, 7, 9]

max(a) ・・・ 最大の要素

min(a) ・・・ 最小の要素

a.pop() ・・・ 9が取り出される。a = [1, 3, 5, 7] になる

a.append(10) ・・ リスト末尾に追加。a = [1, 3, 5, 7, 10] になる

a.len() ・・・ リストの要素数 5

b = ['a', 'b', 'c']

a.extend(b) ・・・ aは、[1, 3, 5, 7, 10, 'a', 'b', 'c'] になる a += b でも可

a = [1, 3, 5]

a.insert(2, 4) ・・・ 2番目の要素に4を挿入。aは [1, 3, 4, 5] になる

del a[2] ・・・ 2番目の要素を削除。aは [1, 3, 5] になる

a = [3, 1, 3, 5]

a.remove(3) ・・・ 最初に見つかった3という値を削除する。aは [1, 3, 5] になる

a.count(3) ・・・ 3という要素が何個含まれるか。2

a.sort() ・・・ 昇順にソートする。[1, 3, 3, 5]になる

a.sort(reverse=True) ・・・ 降順にソートする。[5, 3, 3, 1]になる

a = [1, 3, 5]

a.index(5) ・・・ 最初に見つかった位置。5

a in 3 ・・・ aのリスト中に3含む場合はTrue

 

a=[1,3,5] ; b=[10,30,50] ; c=[100,300,500]

x,y,z = zip(a,b,c) ・・・ zip()で行・列変換。結果はタプルになる。

             xは(1,10,100) yは(3,30,300) zは(5,50,500)

TUPLE=(1,3,5)

v=list(TUPLE) ・・・ list(引数)で引数(この例ではタプル)をリストに変換。[1, 3, 5]

 

keys=['a', 'b', 'c']

values=[1, 3, 5]

dict(zip(keys, values)) ・・・ {'a': 1, 'b': 3, 'c': 5}

 

■タプル ・・・ ( ) で括る。

 Read Onlyの配列。定数として使うことが多い。慣例的に大文字で書く。

A = (1, 3,5)

A.extend(7) ・・・ エラーになる。

 

 ■辞書 ・・・ { } で括る。連想配列みたいなもの。

a = {'a':1, 'b':2, 'c':3]

a['b'] = 5 ・・・ 辞書のキー値を書き換え。a = {'a':1, 'b':5, 'c':3]

a['d'] = 4 ・・・ 辞書に追加。a = {'a':1, 'b':5, 'c':3, 'd':4}

for key in a:

 print(key, end="/") ・・・ a/b/c/d

for val in a.values():

 print(val, end="/") ・・・ 1/5/3/4

for key, val in a.items():

 print(key, val, sep="=", end="/") ・・・ a=1/b=5/c=3/d=4/

a = ['ab', 'cd']

dict(a) ・・・ {'a': 'b', 'c': 'd'} リストから辞書を作成

a = [['a', 'b'], ['c', 'd']]

dict(a) ・・・ {'a': 'b', 'c': 'd'} リストから辞書を作成

x={'a':'b', 'c':'d'}

y={'e': 'f', 'g': 'h'}

x.update(y) ・・ 辞書xに辞書yを連結。xは{'a': 'b', 'c': 'd', 'e': 'f', 'g': 'h'}になる

z = y ・・・ yオブジェクトの参照を代入。同一オブジェクトを2つの変数が指す

z = y.copy() ・・・ yの値のコピーを生成し代入。zとyは別オブジェクトを指す

del y['e'] ・・・ 辞書から該当する要素を削除

y.clear() ・・・ 辞書を初期化

 

 

 

---------------------------------------
ITとことんのトップページ
┗■Pythonのトップページ
 ┗■本ページ