python

【とりあえずこれだけ!】pythonの基礎スキルチェック!

当サイトでは広告が表示される記事があります

この記事には、Pythonの基本文法をまとめました。

この記事に書かれている内容が、すんなりと分かればOKです。

ここに書かれている内容で、AIでも数値計算でも大方組めます。

もしPythonの基本文法をまだ学習してなかったら、Progateさんで学んでおきましょう。無料の範囲で充分です。

※演習する場合は、コピペではなく、必ず自分で手打ちすることを強く薦めます。手打ちしないことには覚えないです。

せんわんこ
せんわんこ

よろしくー

長年授業でやってきたことをまとめて、 ITパスポートの無料Note(1度落ちちゃった方向け) 基本情報技術者対策のNoteを作ってます。興味あったらどーぞ(▼・ω・▼)

変数と表示

変数に代入する

プログラムにこのデータ覚えておいてねって指示するには、データの入れ物「変数」に入れればOKです。

数値の場合はそのまま。文字の場合は「”」で囲います。

num     = 10
str_abc = "abc"
str_chi = "漢字"
せんわんこ
せんわんこ

「”」「’」かは統一しよー
僕は「”」派だよー

表示する(そのまま)

print()を使います。

数値はそのまま、文字列は「”」で囲んで入力すればOKです。

print(123)
print("123 abc")

「+」で複数をつなげれば表示できます。

ただし、数値同士なら演算され、文字列同士なら結合されます。

print(123+456)
print("abc"+"123")

下記が出力結果です。

579
abc123

下記はエラーになります。

print(123+abc)    # abcが文字列なのに「"」で囲ってないのでNG
print(123+"abc")  # 数値と文字列を一緒にはできない。
せんわんこ
せんわんこ

なれたら「f文字列」を
使っていきたいねー

表示する(変数)

変数を表示するのは以下の通りでした。ここでは「f文字列」を使った表示法を確認します。

num     = 10
str_abc = "abc"
str_chi = "漢字"

print(num)
print(str_abc)
print(str_chi)

数値と文字列を混ぜて表示したい時は、f文字列がオススメです。

print(f"「先生」が{str_chi} で、「sensei」が{str_abc}で、{num}が数値。")

出力結果は下記です。

「先生」が漢字 で、「sensei」がabcで、10が数値。

見えないけど一番最後に改行が入っているので、

print("abc")
print("")
print("efg")

空行でも改行だけはされます。

abc

efg

改行は「\n」で記述もできます。こんな特殊文字がいくつかあります。

print("abc\n\nefg")

出力結果はさっきと同じです。

abc

efg
せんわんこ
せんわんこ

改行をさせない方法も
調べてみてねー

数値演算

print()文の中に式を書いても良いです。

しかし、変数に一度入れるのが良いですね。

変数格納と表示を分けた方が、後で変更されてもメンテナンスが楽ちんです。

a=1
b=10
print(a+b)

a=a+b
print(a)
11
11

四則演算(+, -, ×, ÷)と累乗(**)は知っておきましょう。

a=11
print(a)
print(a-2)
print(a*2)
print(a**2)
11
9
22
121
せんわんこ
せんわんこ

累乗(指数)以外は
楽勝だよねー

自分自身の値を増やしたりできます。ループで使ったりします。

a=11
print(a)

a = a + 1
print(a)

a += 1    # a=a+1と同じ
print(a)
11
12
13
せんわんこ
せんわんこ

合計の計算で
よく使うよー

割り算・余りについても学びましょう。

奇数・偶数の判定、各桁の値を取り出したりする時に使います。

a=13
print("------------")
print(a)
print("------------")
print(a/3)
print(a%3)

print("------------")
print(a/5)
print(a%5)
print(int(a/5))        # 切り捨てになる。10の位を取り出す
print(a-10*int(a/10))  # 1の位を取り出す 
------------
13
------------
4.333333333333333
1
------------
2.6
3
1
3
せんわんこ
せんわんこ

剰余(余り)は
結構使うよー

文字列の取り扱い

文字列は「+」だけの演算が可能です。処理は結合です。

str01 = "abc"
str02 = "def"
print(str01+str02)

str01 = str01+str02
print(str01)
abcdef
abcdef
せんわんこ
せんわんこ

簡単だねー

len()をよく使います。文字列の文字数を数えてくれます。

print(len(str01))

a = len(str01)
print(f"str01の文字列の長さは{a}です。")
6
str01の文字列の長さは6です。
せんわんこ
せんわんこ

このプログラムは
理解できたかなー

関数(既存)

pythonには便利な処理をしてくれる「関数」があります。

すでに使っているprint()やlen()は、「関数」です。

print("abc")
print(len("abc"))

str_abc     = "abc"
print(str_abc)
str_len = len(str_abc)
print(str_len)
abc
3
abc
3

あと、「python超初級 | マインクラフト星人が地球人よりも強い理由」で使った関数は、ライブラリの読み込みが必要でしたね。

  • math.sqrt(n)…変数nに格納された数値の平方根を計算してくれる
  • math.pi…円周率πの正確な値を呼び出してくれる
せんわんこ
せんわんこ

自分で作ることも
できるんだよー

配列(リスト)

他の言語でいうところの「配列」もあります。

とりあえず、リストだけ使えれば良いです。

リスト、タプル、辞書、pandasのデータフレーム、numpyの配列などあります。

num_arr01 = [1,2,3]
print(num_arr01)
print(num_arr01[0])
[1, 2, 3]
1
せんわんこ
せんわんこ

この辺りから
難しくなるよねー

二次元や三次元にもできます。

num_arr02 = [[1,2,3],[4,5,6]]
print(num_arr02)
print(num_arr02[0][0])
print(num_arr02[0][1])
print(num_arr02[1][0])
[[1, 2, 3], [4, 5, 6]]
1
2
4

[0]や[1]の部分を、変数に置き換えて、for文で回したりします。

せんわんこ
せんわんこ

九九表とかの課題で
やるからねー

繰り返し(for文)

pythonのfor文には「i=0; i<=10; i++」みたいなのはありません。

ループ文では、range()を使ったり、連想配列のように使います。

for i in range(0,3):
    print(i)
0
1
2

配列の呼び出しをやってみましょう。

num_arr01 = [1,2,3]
print(num_arr01)

for i in range(0,3):
    print(num_arr01[i])

for i in range(0,len(num_arr01)):
    print(num_arr01[i])

for i in num_arr01:
    print(i)
[1, 2, 3]
1
2
3
1
2
3
1
2
3

while()文もありますが。とりあえず保留!

せんわんこ
せんわんこ

while文は無限ループに
なっちゃうからねー

条件分岐(if文)

プログラムは一本道ではなく、if文の定めた条件によって色々な道を歩ませることができます。

a = -1
if a > 10:
    print("a >= 10")
elif a == 10:
    print("a == 10")
else:
    print("ELSE")
ELSE

もう一回ぐらい書いてみましょう。

a = 11
b = 10
if a > b:
    print(f"a >= {b}")
elif a == b:
    print(f"a == {b}")
else:
    print("ELSE")
a >= 10
せんわんこ
せんわんこ

条件漏れは
バグの原因だねー

複数条件(論理演算子)

条件を複数にすることもできます。「xxでxx」とか「xxかxx」のように。

a = 10
b = 20
if a==10 and b==20:
    print("AND OK")
if a==10 or  b==1:
    print("OR  OK")
if a==1  or  b==20:
    print("OR  OK")
if not a==1:
    print("NOT OK")
AND OK
OR  OK
OR  OK
NOT OK
せんわんこ
せんわんこ

条件漏れは
バグの原因だねー

関数(自作)

def宣言によって、自分オリジナルの「関数」を作ることができます。

引数なし、返値なしの場合。

def func_print():
    print(6)
    
func_print()
6
せんわんこ
せんわんこ

決まった機能が

発動するねー

引数1つ、返値なしの場合。

def func_plus1(a): #引数1つ
    print(a+1)

func_plus1(1)
2
せんわんこ
せんわんこ

引数によって
結果が変わるよー

引数1つ、返値1つの場合。

def func_plus2(a): #引数1つ
    return (a+1)   #返値1つ

ans = func_plus2(1)
print(ans)
2
せんわんこ
せんわんこ

計算結果を
関数の外側に出せるよー

引数2つ、返値2つの場合。

手軽に、返値を複数もてるのはめちゃ便利です。

def func_add(a,b): #引数2つ
    return(a+1,b+1)#返値2つ

ans1,ans2=func_add(1,3)
print(f"{ans1} {ans2}")
2 4
せんわんこ
せんわんこ

C言語だとポインタ使うから
超めんどうなんだけどねー

その他

pass

pythonは空行を許さないです。

動作テストなどで空行になる場合はpassを使いましょう。

a = 10
if a == 10:
    print("a=10")
else:
    pass

※私は「a=a」とか無駄な処理をさせてました。

せんわんこ
せんわんこ

pythonは
行揃えにはキビシイー

enumerate

for文の時に何番目が数えたい時がありますね。

cnt=0
for i in range(3,5):
    cnt = cnt + 1
    print(f"{cnt} {i}")
1 30
2 31

便利な関数があります。

for cnt,i in enumerate(range(3,5)):   # 0から数えるのがデフォ
    print(f"{cnt} {i}")

for cnt,i in enumerate(range(3,5),1): # 1から数えてくれる
    print(f"{cnt} {i}")
0 3
1 4
1 3
2 4
せんわんこ
せんわんこ

慣れると便利ー

zip

複数の配列から1つずつ抜き出して処理した時もありますね。

num_arr1=[10,20,30]
num_arr2=[100,200,300]
for i,j in zip(num_arr1, num_arr2):
    print(f"{i} {j}")
10 100
20 200
30 300

さらにカウントをしたい時は、enumerate()と併用します。

num_arr1=[10,20,30]
num_arr2=[100,200,300]
for cnt,(i,j) in enumerate(zip(num_arr1, num_arr2),1):
    print(f"{cnt} {i} {j}")
1 10 100
2 20 200
3 30 300

まとめ | 次は問題を解いていこう!

ここまで読んで頂きありがとうございます!

せんわんこ
せんわんこ

ありがとー

「聞いてねーよ!」ってこともあったと思います。

だから「完璧じゃない!基礎からやり直しだ!」とならないでOKです。f文字列とかenumerateなどは、私がオリジナルで付け加えましたから。

次の課題では、どのプログラム言語でも必ず最初にやる課題を揃えたので、やってみてくださいね。

せんわんこ
せんわんこ

じゃ またー

タイトルとURLをコピーしました