LoginSignup
10
14

More than 3 years have passed since last update.

【Python3】他言語エンジニアのためのPythonチートシート《基礎編》

Last updated at Posted at 2019-06-23

はじめに

Python以外のプログラミング言語を習得しているエンジニア向けのチートシートです。
最低限必要なことをまとめています。

これを見れば、Pythonの簡単なコードの読み書きができるはず!

※随時更新していきます。

コメント

# コメント
  • 「#」から行末までがコメント

変数と定数

hoge = "変数"        # 変数
FUGA = "定数"        # 定数(※)
  • 変数名は「文字」「数字」「アンダースコア記号」のいずれかで構成する必要がある
  • 1文字目に「数字」は使用できない

※ Pythonでは言語仕様として定数がサポートされていないため、慣習として英大文字のみで構成した変数を定数としている。

データ型

type("ほげ")        # <class 'str'>       文字列
type(123)           # <class 'int'>       整数
type(12.3)          # <class 'float'>     浮動小数点数
type(True)          # <class 'bool'>      真偽値
type(None)          # <class 'NoneType'>  None

演算子

算術演算子

1 + 2        # 3      加算
2 - 1        # 1      減算
2 * 3        # 6      乗算
7 / 2        # 3.5    除算
7 % 2        # 1      剰余
7 // 2       # 3      除算(切り捨て)
2 ** 3       # 8      累乗

比較演算子

10 > 1        # True     より大きい
10 < 1        # False    より小さい
5 >= 5        # True     以上
5 <= 5        # True     以下
3 == 3        # True     等価
3 != 3        # False    不等価

Pythonには、所謂「暗黙の型変換」が存在しないため、1 == "1"Falseになる。

論理演算子

True and True        # True     かつ
True or False        # True     または
not True             # False    否定

# 単純文
print("Hello World!")

# >> Hello World!

# 複合文
for i in range(10):            # ヘッダー
    print("Hello ", end="")    # スイート
    print("World!")            # スイート

# >> Hello World!
  • 単純文は1行のコード
  • 複合文は1つ以上の「節」で構成される
    • 1つの「節」は「1行のヘッダー」と「1行以上のスイート」で構成される
    • 「ヘッダー」はキーワードを含む1行のコード
    • 「ヘッダー」の行末には「:(コロン)」を置く
    • 「スイート」は「ヘッダー」に続く、インデントされた1行以上のコード
    • コードブロックはインデントを揃えることで表す

条件文

hoge = "ほげ"

if hoge == "ほげ":
    print("「ほげ」です")
elif hoge == "ふが":
    print("「ふが」です")
else:
    print("「ほげ」でも「ふが」でもないです")

# >> 「ほげ」です

関数

def hello_say(lang):
    print("Hello " + lang)

print(hello_say("Python"))
# >> Hello Python
# >> None
  • 慣習として、関数名は英小文字のみのスネークケース
  • 関数にreturnが無い場合、その関数はNoneを返す
  • 関数の巻き上げ(ホイスティング)は無いので、関数呼び出しの前に関数定義が必要

キーワード引数

def func_keyword(lang, ver):
    print(lang + ver)

func_keyword(ver = "3", lang = "Python")
# >> Python3
  • 関数呼び出し時に対応する仮引数の名前を指定すれば、関数定義の引数の順序は自由

オプション引数

def func_exec(arg, opt_arg = "ふが"):
    print("「" + arg + "」は必須引数です")
    print("「" + opt_arg + "」はオプション引数です")
    return "実行完了"

result = func_exec("ほげ")     
print(result)                  

# >> 「ほげ」は必須引数です
# >> 「ふが」はオプション引数です
# >> 実行完了
  • 引数にデフォルト値を設定すると、その引数はオプション引数となる
  • オプション引数の後に、必須引数を定義することはきない

可変長引数(タプル)

def func_args(*args):
    for arg in args:
        print(arg)
    return "実行完了"

print(func_args("ほげ", "ふが"))

# >> ほげ
# >> ふが
# >> 実行完了
  • 関数定義の仮引数の先頭に「*」を付けると、実引数をタプルとして受け取ることが出来る

可変長引数(辞書)

def func_kwargs(**kwargs):
    for key in kwargs:
        print(kwargs[key])

func_kwargs({"lang": "Python"})
# >> Python
  • 関数定義の仮引数の先頭に「**」を付けると、実引数を辞書として受け取ることが出来る

スコープ

hoge = "グローバル"          # グローバル変数

def func_exec():
    global hoge
    hoge = "ぐろーばる"

    fuga = "ローカル"        # ローカル変数
    print(fuga)

func_exec()
# >> ローカル

print(hoge)
# >> ぐろーばる
定義位置 アクセス スコープ
グローバル変数 関数やクラスの外部 プログラムのどこからでも読み書き可 グローバルスコープ
ローカル変数 関数やクラスの内部 定義された関数やクラス内でのみ読み書き可 ローカルスコープ
  • ローカルスコープの中からグローバル変数の値を変更する場合は、「global」キーワードを使用する

コンテナ

# リスト
my_list = list()
my_list = []
my_list = ["Apple", "Orange", "Grape"]

print(my_list[1])
# >> Orange

# タプル
my_tuple = tuple()
my_tuple = ()
my_tuple = ("first", "second", "third")

print(my_tuple[0])
# >> first

# 辞書
my_dict = dict()
my_dict = {}
my_dict = {"Apple": "Red", "Banana": "Yellow"}

print(my_dict["Apple"])
# >> Red
イテラブル(繰り返し可能) ミュータブル(変更可能)
リスト
タプル ×(イミュータブル)
辞書 △(順序は保証されない)
  • リスト、タプルのインデックスは「0」から始まる
  • コンテナの中にコンテナを格納可能

ループ

for i in range(3):        # inの後にイテラブルなオブジェクト
    print(i)

# >> 0
# >> 1
# >> 2

i = 0

while i < 5:
    i += 1
    if i == 2:
        continue
    elif i == 4:
        break
    print(i)

# >> 1
# >> 3

例外処理

try:
    print(2 / 0)
except ZeroDivisionError:
    print("0除算が発生したよ")
except:
    print("よく分からないエラーだよ")

# >> 0除算が発生したよ

tryブロック内で例外が発生すると、例外の種類に応じたexceptブロックが実行される。


オブジェクト指向編も書きました!
【Python3】他言語エンジニアのためのPythonチートシート《オブジェクト指向編》

10
14
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
14