【Webアプリ】Pythonの基本文法

実行環境

Pythonのインタラクティブシェルを使用します。

ファイルを用意しなくてもコマンドでプログラムを実行できます。

コマンドプロンプトを開いて「python」と入力、「Enter」キーを押します。

コメントアウト

コメントアウトとは、処理と関係ない部分を指定することです。1行の場合は「#」で、複数行の場合は「”’」か「”””」で囲みます。

「’」はシングルクォーテーション、「”」はダブルクォーテーションといいます。

基本形

#1行のコメントアウト

'''
複数行の
コメントアウト
'''

型の概念

プログラム言語には型の概念があります。もちろんPythonにもあります。

色々ありますが、特によく使うものだけ取り上げます。

int型(整数型)

0、1、2・・・のような数字はint型といいます。

正確には、キーボードで半角で打つ数字がint型です。全角で打つ1、2、3・・・は次で紹介する文字列型になります。

str型(文字列型)

「みかん」や「Hello」や「!!」などはすべてstr型といいます。

プログラム中ではstr型は以下のように「’」「”」で囲んで表記します。

'みかん'
"Hello"

list型(配列型)

複数の何かが入っている型をlist型といいます。

プログラム中ではlist型は以下のように書きます。

[0, 1, 2, 3]
["リンゴ", "みかん", "バナナ"]

配列の中身は「要素」といい、リストの先頭から0、1、2・・・のように要素番号が内部で振られています。この数字を「要素番号」や「インデックス」といいます。

dict型(辞書型)

複数の何かが入っている型をdict型といいます。list型(配列)と違い、「キー」と「バリュー(値尾)」のペアが複数入ります。

プログラムの中ではdict型は以下のように書きます。

{"Key1":"Value1", "Key2":"Value2"}
{'身長':80,'体重':55}

文字表示

基本形

print()

print("Hello World!!")
>>Hello World!!

print("こんにちは")
>>こんにちは

print(12345)
>>12345

print("こんにちは" + "山田さん")

print(str(1) + 月)
>>1月

print(1, "月")
>>1 月

解説

文字列同士を「+」で連結することができます。

また、int型とstr型を連結する場合、int型を文字列に変換してから連結する必要があります。str()というPythonに標準で組み込まれている関数で変換できます。

変数(基本)

変数もまたプログラム言語には必ず存在する概念です。

何かしらの「値」を格納するための入れ物で、プログラム中では非常によく使います。

変数は「変数宣言」をしてから使います。Pythonにおいては値の「代入」が変数宣言の意味を持ち、「=」が代入の意味となります。

変数名は基本的に自由につけられます。(数字から始まったり、予約語を変数名にすることはできません)

順に実行してみましょう。

name="田中"
print(name)
>>太郎

suuji=12345
print(suuji)
>>12345

print(name + str(suuji))
>>田中12345

name="花子"
print(name + str(name))
>>花子12345

suuji2=1
print(suuji + suuji2)
>>12346

print(str(name) + str(suuji))

解説

変数を使うと変数の中の値が取り出されます。

変数がstr型同士の場合は文字列連結したり、変数がint型の場合は四則演算をすることができます。

四則演算

足し算、引き算、掛け算、割り算できます。

順に実行してみましょう。

sum = 1 + 1
print(sum)
>>2

sum += 1
print(sum)
>>3

sub = 1 - 1
print(sub)
>>0

sub -= 1
print(sub)
>>-1

mul = 2 * 2
print(mul)
>>4

mul *= 2
print(mul)
>>8

div = 9 / 3
print(div)
>>3

div /= 3
print(div)
>>1

rem = 17 % 9
print(rem)
>>8

rem %= 3
print(rem)
>>2

配列使い方

list型の変数は色々な操作ができます。

fruits=["バナナ", "リンゴ", "グレープ"]
print(fruits)
>>['バナナ', 'リンゴ', 'グレープ']

print(fruits[0])
>>バナナ
print(fruits[1])
>>リンゴ

fruits.append('みかん')
print(fruits)
>>['バナナ', 'リンゴ', 'グレープ', 'みかん']

解説

要素番号を指定して取り出すことができます。

.appendで要素を追加することもできます。(この書き方は他のプログラムにはあんまりないです。)

辞書型の使い方

辞書型の変数も色々な操作ができます。

test = {"国語":70, "数学":80, "理科":85}
print(test)
>>{'国語': 70, '数学': 80, '理科': 85}

#要素の取り出し
print(test["数学"])
>>80

#値の更新
test['社会'] = 75
print(test)
>>{'国語': 70, '数学': 80, '理科': 85, '社会': 75}

#値の追加
test['社会'] = 100
print(test)
>>{'国語': 70, '数学': 80, '理科': 85, '社会': 100}

for文

繰り返しの処理です。

基本形

for 変数 in 条件:
  処理

処理の記述はタブキーを1回打つことで段落を付けます。これを「インデント」と呼びます。インデントされた行はfor文の処理の部分として認識されます。

インデントしないとエラーになります。

for i in range(5):
    print(i)
>>0
>>1
>>2
>>3
>>4

fruits=["バナナ", "リンゴ", "グレープ"]
for i in fruits:
    print(i)
>>バナナ
>>リンゴ
>>グレープ

繰り返し(if文)

条件分岐の処理です。

基本形

if 条件:
    処理
elif 条件:
    処理
else:
    処理

forと同じく、処理の部分はインデントします。

条件分岐が2つの場合はif・elseのみ、3つ以上の場合はif・elif・elif…・elif・elseのようにelifを増やします。

n = 5
if n == 5:
    print("5です")
else:
    print("5以外です")
>>5です

import random
m = random.randrange(10) #0~9の間のランダムな数字
print(str(m))
if m > 5:
    print("5以上です")
elif m == 5:
    print("5です")
else:
    print("5未満です")

繰り返し(while文)

for文と同じく繰り返しの処理ですが、少し書き方違います。

基本形

while 条件:
    処理

for文は予め繰り返す回数を決められるときに使うことが多いのに対し、while文は何回繰り返すか分からないけど、条件を満たすまで処理をする、という使い方が多いです。(もちろんこの限りではないです。)

n = 0
while n < 5:
    print(n)
    n += 1;
>>0
>>1
>>2
>>3
>>4

n = 0
while n < 10:
    print(n)
    n += 1
    if n == 2:
        print("2になりました")
        break #処理を抜ける
>>0
>>1
>>2になりました

注意

while文を使うときは無限ループに注意してください。

どこかしらでwhile分を抜ける処理を書いてあげないと、無限に処理が実行されます。

#ダメな例
while True:
    print("無限ループ")

条件として指定しているのはbool型という真偽値です。bool型は真=Trueか偽=Falseのどちらかしかありません。(trueやfalseのように先頭を小文字にするとエラーになります。)

このコードを実行するとプログラムが止まらなくなるので、「Ctrl」キー+「C」でプログラムを強制終了させてください。

関数

プログラム中で非常によく使います。処理のまとまりをまとめることができます。

関数には値を渡すことができ、これを引数といいます。

基本形

#引数なし
def 関数名():
    処理

#引数あり
def 関数名(引数)
    処理

def kansu():
    print("関数の中の処理です")

kansu()
>>関数の中の処理です

def myfunc(n):
    print(n)

myfunc(7)

インタラクティブシェルで実行する場合、関数が終わった後に1行空けてから関数呼び出しをしてください。

インタラクティブシェルの終了方法

インタラクティブシェルが有効の状態で以下のコードを入力、エンターします。

quit()

すると、元のコマンドが戻ってきます。