はこねのはこ

はこねさんの備忘録

Pythonチートシート

はじめに

Pythonチュートリアルを見ながら実際に動きを試しながらチートシートを作成しました。

Python チュートリアル — Python 3.6.5 ドキュメント

どこでも見ることができるように載せておきます。

文字の入出力

print('hello python')
num = str(input('文字を入力してください:'))
print('入力した文字は['+num+']です')

a = 7
b = 3
print('a+b='+str( a + b ))       # a+b=10
print('a-b='+str( a - b ))       # a-b=4
print('a*b='+str( a * b ))       # a*b=21
print('a/b='+str( a / b ))       # a/b=2.3333333333333335
print('a//b='+str( a // b ))         # a//b=2
print('a%b='+str( a % b ))   # a%b=1
print('a**b='+str( a ** b )) # a**b=343
c= 2+3j   # おまけ 複素数を表す場合jまたはJ

文字列型

'または"で囲むと文字列になる。 ¥でエスケープする

print('single')        # single
print("double" )  # double
print('esc¥"')        # esc"

¥に続く文字を特殊文字としてされたくない場合はraw stringsを利用

print('C:¥dir¥name')
# ¥dir
# ame
print(r'C:¥dir¥name') 
# ¥dir¥name

3重で囲むと複数行にまたがって表示可能

# 最初の改行文字を含まない
print("""¥
Usage: thingy [OPTIONS]
     -h                        Display this usage message
     -H hostname               Hostname to connect to
""")

文字の連結

+で結合、*で反復

print( 3 * 'abc' +'de')  # abcabcabcde

連続している複数の文字列リテラルは自動的に連結

print('abc' 'de') # abcde

print(   'くぁwせdrftgyふじこ'
        'lp;「’」」')   # くぁwせdrftgyふじこlp;「’」」

インデックスによる取得

word = 'teizinitaisya'
print(word[0])              # t
print(word[3])              # z
print(word[-1])             # a
print(word[-8])             # n
print(word[0:5])           # teizi
print(word[7:13])          # taisya
print(word[:5]+word[5:])   # teizinitaisya
print(word[-6:])            # taisya

リスト型

editors = ['VSC','Atom','Vi','Emacs']
print(editors)       # ['VSC', 'Atom', 'Vi', 'Emacs']
print(editors[1])   # Atom
print(editors[:])    # ['VSC', 'Atom', 'Vi', 'Emacs']
print(editors[2:])  # ['Vi', 'Emacs']

# 連結が可能
editors+=['Mifes','秀丸']
print(editors)       # ['VSC', 'Atom', 'Vi', 'Emacs', 'Mifes', '秀丸']

# 入れ替えが可能
editors[0] = 'Visual Studio Code'
print(editors)       # ['Visual Studio Code', 'Atom', 'Vi', 'Emacs', 'Mifes', '秀丸']

# 追加
editors.append('sakura')
print(editors)       # ['Visual Studio Code', 'Atom', 'Vi', 'Emacs', 'Mifes', '秀丸', 'sakura']

# All clear
editors[:] = []
print(editors)       # []

# split()でリスト化する
editors = 'VSC,Atom,Vi,Emacs'
print(editors)       # VSC,Atom,Vi,Emacs
list_editors = editors.split(',')
print(list_editors)  # ['VSC', 'Atom', 'Vi', 'Emacs']

条件式

if

num = int(input('1‾5の数字を入力してください:'))
if num > 5 or num < 0:
    print('範囲外')
elif num <= 3 and num >= 0:
    print('まだまだだね')
else:
    print('やるじゃん')

繰り返し処理

for

# list型
# list
foods = ['curry', 'hamburg', 'deep-fried']
for food in foods:
    print(food)

# range
print('range(5)')
for num in range(5):
    print(num)
print('range(-2,3)')
for num in range(-2,3):
    print(num)
print('range(0,10,3)')
for num in range(0,10,3):
    print(num)
print('range(-10,-30,-5)')
for num in range(-10,-30,-5):
    print(num)

組み込み関数

len()

文字列の長さを返す

s = 'madamadadane'
print(len(s))     # 12
print(len(s)+10)     # 22 (計算が可能)

range()

イテレートした時に望んだ数列の連続した要素を返すオブジェクト

# 0‾4(増加量1)
range(5)
# -2‾2(増加量1)
range(-2,3)
# 0‾10(増加量3)
range(0,10,3)
# -10‾-30(増加量-5)
range(-10,-30,-5)

pass

文を書くことが構文上要求されているが、プログラム上何の動作もする必要がない時に使われます.

print( 'Busy-wait for keyboard interrupt (Ctrl+C)')
while True:
    pass

モジュール

random

import random

for i in range(5):
    num = random.randint(0,10)
    print(num)

おわりに

チュートリアル試しながらチートシートまとめてたら覚えてしまったっぽい