Python基礎文法チートシート[基礎文法最速マスター]

はじめに

ここではよく使う基本部分のみ紹介。

基本

式の終端には何も書かない(コロン「;」などは不要)


print("a")

コメント


# 一行コメント

"""
複数行コメント
"""

'''
複数行コメント
'''

スクリプトのインポート

Pythonでは、他のスクリプトファイルのことをモジュールと呼ぶ。


# システム関連の公式モジュール
import sys
print(sys.version)

# 複数のモジュールを一度に読み込む
import calender, copy

# モジュール内の特定オブジェクトのみ読み込む
from import date

スコープ

インデントで表現。基本は半角スペース4つ分だが、2つ分やタブの場合も。

セミコロン「:」が出てきたら字下げすると覚えておく。


def getSomething():
return 1

基本的にはひとつの処理を一行で書くが、改行することもできる。


# 行末にバックスラッシュを使う
## 日本語環境では円記号
getSomething() + 2\
+ 1\
+ 3

# 丸括弧で囲う
(getSomething() + 2
+ 1
+ 3)

変数

宣言の必要なし(即、代入可)


# グローバル変数:関数の外
abc = 1

def getSomething():
# ローカル変数
abc = 2
return abc

定数

定数は存在しない
慣用的にすべて大文字で書いておく


ABC = 2

関数


def getSomething(abc = 1):
return 1

getSomething(2)

ラムダ式(無名関数)

・引数の丸括弧がいらない
・すべて一行で書ける
・returnを省略可


lambda param1, param2: param1 + param2

リスト型(配列)


li = [1, 2, 3]

print(li[0])

ディクショナリ型(辞書型/連想配列)


dic = {"a" : 1, "b" : 2}

print(dic["a"])

dic["c"] = 3

# キーの削除
del dic["c"]

if文


if abc == 1:
bcd = 2;
elif abc == 2:
bcd = 3;
else:
bcd = 4;

switch文


switch abc:
case 1:
bcd = 2;
break;
case 2:
bcd = 3;
break;
default:
bcd = 4;

for文(ループ)


# 5回繰り返す
for count in range(5)
print(count)

# リスト
li = [5, 6, 7]
for value in li
print(value)

# ディクショナリ
dic = {"a" : 1, "b" : 2}
for key, value in dic.items
print(key, value)

型ヒント(型宣言/タイプヒンティング)


# 整数
abc:int = 1

# 浮動小数点
bcd:float = 2.1

# 文字列
cde:str = "aaa"

# リスト型
efg:list[int] = [2, 3]

# ディクショナリ型(辞書型)
fgh:dict[str, int] = {"abc" : 1}

def getSomething(a:int, b:str)->str:
return b

# 返り値がない場合はNone(void相当)
def doSomething()->None
return

型変換(キャスト)


int(value)

クラス


class Abc:
# クラス変数(静的メンバ変数)
index = 0

# コンストラクタ
## 最初の引数selfはそのクラスのインスタンス自身を示す。他の言語でいうthis
## 名前はなんでもいいが慣用的にselfを使う
def __init__(self, num:int):
# メンバ変数
self.mem:int = num
# アクセス制限はないのでprivateメンバには「__」をつける
self.__name = "aaa"

# インスタンスメソッド
# ここでも第1引数をselfとしておく
def doMyMethod(self)->int
return self.mem

# クラスメソッド(静的メソッド)
## デコレータで宣言
@classmethod
def doStaticMethod(cls, param:str)->int:
return cls.index + 1

# プロパティ
## デコレータで宣言
### getter
@property
def name(self)->str:
return self.__name

### setter
@property.setter
def name(self, value:str):
self.__name = value

# インスタンス化
## クラスのコンストラクタ/メソッドを呼び出す場合はselfを書かない
## newはいらない
ins = Abc(2)
ins.doMyMethod()

# 継承
class Bcd(Abc):
def __init__(self):
# 親クラスのコンストラクタ/メソッドを呼ぶ
super().__init__(1)
self.user = "aaa"