Python基本

Python基礎 文法まとめ コレクション タートル Git

インストール

Python

Windowsのスタートメニュー右クリックから「ターミナル」を起動し、pythonと入れインストール。

または以下よりダウンロード

https://www.python.org/downloads/

Dowload Python ・・のボタンを押してダウンロードし実行してインストール

インストール最初の画面で Add python.exe to PATH のチェックを入れる(Use admin privileges・・のチェックは外す)。Install Nowを押してインストール。

Visual Studio Code

以下よりダウンロードしインストール。途中の「追加タスクの選択」ではチェックを全部入れる。

https://code.visualstudio.com/

起動後、以下の拡張機能を入れる

画面左のアイコンを押し検索する。

フォルダの設定

Cドライブに「python」フォルダを作成する(既にある場合削除)。
フォルダ作成後にVisual Studio Codeの「フォルダを開く」で今作成したフォルダを選択。「このフォルダ内のファイル作成者を信頼しますか?」で「はい、作成者を信頼します」を押す。

その他の設定

画面左下の歯車ボタンで設定

[配色テーマ]で「Light」を選ぶと背景が白くなる。

歯車ボタンから[設定]を選ぶと設定画面が表示。「テキストエディター」の「ファイル」にある「Auto Save」を「afterDelay」に変更し、自動で保存になる。

また、「フォント」の「FontSize」でフォントのサイズを変更できる。

主な命令

画面表示

print(文字列)

print("abc")
# 改行しない
 print("abc",end="")

# 複数引数で表示
n = 10
print("答えは",n,"です") # 空白区切り
print("答えは",n,"です",sep=",") # カンマ区切り

変数埋め込み

format

num = 10
print( "答えは{}です".format(num) )
print( "答えは{ans}です".format(ans=num) )

f文字列

3.6以降。 {変数名}で埋め込み

print( f"答えは{num}です" )

# 右寄せ 8桁 空白で埋める場合
print( f"答えは{num:8}です")

# 0で埋めて桁数指定
print( f"答えは{num:04}です") # 0010

# 右寄せ 8桁 _で埋める場合. ______10で表示
print( f"答えは{num:_>8}です")

print( f"答えは{num:_^8}です") # 中央寄せ ___10___
print( f"答えは{num:_<8}です") # 左寄せ 10______

# カンマで桁区切り
money = 1200
print( f"{money:,}円です") # 1,200

# 小数点以下(四捨五入)
num = 123.456
print( f"{num:.2f}です") # 小数点以下2桁  123.46
print( f"{num:.4g}です") # 全体で4桁 123.6

# %表示
num = 0.523
print( f"{num:.2%}です") # 52.30%
print( f"{num:.2%}です") # 52.30%


# 波括弧表示
num = 10
print( f"{{数値は{num}です}}") # {数値は10です} と表示

入力

変数 = input(メッセージ)

str = input("文字列を入力:")

※戻り値は文字列なので数値の場合、数値入力時には型変換する

num = int(input("数を入力:"))

型変換

文字列を数値
変数 = int(文字列)

num = int(str)

数値を文字列に
変数 = str(文字列)

s = str(num)

乱数

例:0~9までの乱数

import random
num = random.randint(0,9)
print(num)

データ型

a = 10	# 整数 int
a = 1.5	# 浮動小数点数 float

a = "abc" # 文字列 str
a = 'abc' # 文字列 str

a = True # ブール型 bool
a = False # ブール型 bool

a = None # 何も入っていない

型変換

型名(変数)

s = "10"
n = int(10) 
print( n*2 ) # 20と表示
n = 10 
print( "数値は" + str(n) + "です")

型の表示

type(変数)

n = 10
print( type(n) )

演算子

算術演算

print( n + m ) # 足し算
print( n - m ) # 引き算
print( n * m ) # 掛け算
print( n / m ) # 割り算
print( n // m ) # 割り算(整数)

print( n % m ) # 割り算の余り
print( n ** m ) # nのm乗

代入演算

n = 5 #代入
n += 1 #1を加える
n -= 1 #1を引く
n *= 2 #2を掛ける
n /= 2 #2で割る
n //= 2 #2で割る(整数)

文字列演算

s = "abc" # 代入
s = s + "def" # 連結
s = s * 2 # 繰り返し

# スライス
s = s[2] # 2文字目
s = s[-2] # 最後から2文字目
s = s[2:5] # 2~4文字目
s = s[2:] # 2文字目以降
s = s[:5] # 4文字目まで
s = s[:-1] # 最後の手前まで
s = s[0:5:2] # 0文字目から4文字目まで 2文字ずつ

関係演算

print( n == 10 ) # 等しい
print( n != 10 ) # 等しくない
print( n > 10 ) # 大きい
print( n < 10 ) # 小さい
print( n >= 10 ) # 以上
print( n <= 10 ) # 以下

print( n > 3 and n < 6 ) # AND条件
print( n > 3 or n < 6 ) # OR条件
print( not(n > 3) ) # 否定条件

print("bc" in s) # sにbcが含まれればTrue
print("bc" not in s) # sにbcが含まれなければTrue

制御構造

ブロック

Pythonではifやforや関数などでその範囲(ブロック)を表現するのはインデント。

同一のブロック内ではインデントの文字数を統一する。

通常は空白4文字を使う。

if文

if(条件式):
    # 条件式がtrueの時
else:
    # 条件式がfalseの時
print("数を入力:")
num = int(input())
if( num >= 10):
    print("10以上です")
else:
    print("10未満です")
print("数を入力:")
num = int(input())
if( num >= 10):
    print("10以上です")
elif(num>=5):
    print("5以上です")
else:
    print("5未満です")

空文字列、要素0のリスト、辞書、タプルはfalse、それ以外はTrueとなる

moji = "a"
if moji:
	print("文字有り")

moji2 = ""
if not moji2:
	print("文字無し")
	

for文

指定回数だけ繰り返す。

for num in range(5):
    print(num)

range(5) の場合、0から4までが順にnumに入る。

# 10~14を表示
for num in range(10,15):
    print(num)

while文

繰り返す条件がtrueであれば繰り返す

while 繰り返す条件:
    # 繰り返す内容
# 0~4を表示
num=0
while num<5:
    print(num)
    num=num+1

関数

処理を分けたもの。定義しただけでは実行されない。呼び出して実行される。

戻り値・引数なし

def 関数名() で定義する。関数名の後のかっこの中は何も書かない。 呼び出すときは 関数名()

def sample():
    print("test")

#呼び出すとき
sample()

引数あり

関数名の後のかっこの中に変数を書く(複数ある場合、カンマで区切る)。

def sample(num1,num2):
    print(num1+num2)

#呼び出すとき
sample(5,4)

戻り値あり

戻り値をreturnで返す。

def sample(num1,num2):
    return num1+num2

#呼び出すとき
sum = sample(5,4)
print(sum)

引数のデフォールト

引数を指定しない場合の省略時の値を指定する。

def sample(num1,num2=5):
    return num1+num2

#呼び出すとき
sum = sample(10)
print(sum) # 15を表示

キーワード引数

引数を位置では無く名前で指定する。

def sample(num1,num2):
    return num1+num2

#呼び出すとき
sum = sample(num2=5,num1=4)
print(sum)

可変長引数

引数名の前に*を付けると可変長引数。タプルになる。

def sample(*nums):
    print(nums)	# (5,4,8)

#呼び出すとき
sample(5,4,8)

キーワード引数の展開

引数名の前に**を付けるとキーワード引数を辞書で受け取る

def sample(**kw):
    print(kw["name"])	# りんご
    print(kw["price"])	# 100
    
#呼び出すとき
sample(name="りんご",price=100)

辞書をキーワード引数に展開して渡すときには**を付ける

def sample(**kw):
    print(kw["name"])	# りんご
    print(kw["price"])	# 100
    
#呼び出すとき
d = {"name":"りんご","price":100}
sample(**d)