LoginSignup
1
1

More than 1 year has passed since last update.

初心者向け Pythonプログラミング基礎 #1

Last updated at Posted at 2021-09-06

目的

プログラム言語の一つであるPythonの使い方の基礎を学ぶ.

また,特に指定がない場合下記のようにプログラムの実行結果を示す.

>>>この部分は実行結果を表示

Python3

インタプリタ型のプログラミング言語のひとつ.
※Python3とPython2は互換性がない.
インデントが構文規則として使用されており,書きやすく読みやすいという特徴がある.
使われる分野が広く機械学習でも使用される.

プログラミング言語 : コンピュータ言語の内コンピュータプログラムを記述するための言語.
インタプリタ型 : プログラムを実行する手段の一つ.ソースコードを1行ずつ読みこみ実行命令として,動作する.

Pythonのオブジェクト

Pythonのオブジェクトとは,Pythonで操作するデータとのことである.
複雑な構造にさせることもでき,行列などを簡単に表現できる.

詳しくは,難しいのでおいおい説明する.

コメントの記述

各行の#以降はコメントとして認識され,プログラムとしては実行されない.
また,"または'を3つずつで前後を囲うことで複数行をコメントアウトできる.
実行内容のコメントを記載する時に使用する.

#コメント行

"""
コメント行
"""

プログラム内で日本語を使う場合

Pythonのプログラムで日本語を使う場合,最初に文字コードを指定する必要がある.
1行目は,Pythonのパスを記載する.こうすることで,明示的に実行コマンドを指定しなくてもPython3で実行してくれる.
2行目は,文字コードを記載する.自分の環境の文字コードを指定する.

#!/usr/bin/python3
#! -*- coding:utf-8 -*-

print("こんにちは")

Pythonのデータ型

Pythonの基本のデータ型を説明する.

変数

変数は値につける名前である.
プログラムが終了するまで,その変数は保持され,変数を指定することで,その値を代入できる.

a = 2
a + 1 #3を返す
a / 2 #1を返す

数値

Pythonにおいて,数をそのまま記載すると数値型として扱われる.
()を使うことで,一般的な数式同様に計算の優先度を変更できる.

a = 2 + 1 # 足し算
a = 3 - 1 # 引き算
a = 2 * 3 # 掛け算
a = 5 / 2 # 割り算
a = 7 % 2 # あまり
a = (2 + 3)*5

文字列

"または'で前後を囲うことで文字列型として扱われる.
文字列は+で結合させることが可能.
数値も"または'で囲うことで,文字列として認識されるため注意が必要.

a = "こんにちは"
b = "おはよう"
c = "5"

a + b
>>>'こんにちはおはよう'

Boolean

BooleanはTrueまたはFalseの2つの値を指す.
while文やif文を使う際に条件として使用することが多い.
また,条件文として,True,Falseを返却するようにすることができる.

a = True
b = False
c = 1

c > 0.5 # Trueを返す
c == 1  # Trueを返す
c > 2   # Falseを返す

List

Listは[]を使って定義することができる.

l = [2, 4, 6, 8, 10]
l[0] #ゼロベースのインデックスを使って特定の数値を呼び出せる
>>>2
l[1:5:2] # [start:stop:step]を指定することでstartからstopまでstep間隔で呼び出せる
>>>[4, 8]
m = [1, 3, 5, 7, 9]
l + m
>>>[2, 4, 6, 8, 10, 1, 3, 5, 7, 9]
n = l + m
n.sort()
n
>>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
n.append(100)
n
>>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100]
n.pop() # 末尾の要素を取り出す
>>>100
n
>>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1,1,1,2,2,3].count(1) # countで指定した値がいくつあるかを返す
>>>3

リストの内包表記

Pythonでは,リスト内表記が使用できる.
for文やifを使用して新たなリストに変換できる.

l = [2,4,6,8,10]
[x for x in l if x > 6] # 条件に合う値のみ抽出
>>>[8, 10]
[x*5 for x in l]
>>>[10, 20, 30, 40, 50] # 全部の値に5を掛けてリストを作成
l = ['hello','world']
[x.upper() for x in l] # 文字列をすべて大文字に変換したリストを作成
>>>['HELLO', 'WORLD']

Tuple

Tupleは複数のオブジェクトを一つにまとめたものである.
()を使用して定義する.

a = ('baba', 35)
b = a # そのまま別の変数に代入できる
>>>('baba', 35)
c, d = a # それぞれの値を分割して変数に代入することもできる
c
>>>'baba'
d
>>>35

Set

Setは,順序付けされていない一意の要素で構成される.
すなわち集合を構成するためのものである.

l = ['a', 'a', 'b', 'c', 'c', 'a']
set(l) # 重複要素を除去
>>>{'a', 'b', 'c'}
set('Hello') # 文字列を集合化
>>>{'H', 'e', 'l', 'o'}
a = set('Hello')
b = set('World')
a - b #aに含まれてbに含まれない要素
>>>{'H', 'e'}
a | b # aまたはbに含まれる要素
>>>{'H', 'W', 'd', 'e', 'l', 'o', 'r'}
a & b # aかつbに含まれる要素
>>>{'l', 'o'}
a ^ b # aまたbに含まれる要素で,かつaとbのどちらかにのみ含まれる要素
>>>{'H', 'W', 'd', 'e', 'r'}
a = { 1, 2, 4 }
b = { 2, 3, 5 }
c = { 2, 3, 4, 5 }
b <= c # bがcの部分集合であるか
>>>True
a <= c # aがcの部分集合であるか
>>>False

Dictionary

Dictionaryは,キーと値のペアを保持するオブジェクトである.
{}を使って,キーと値のペアを定義する.

d = {'name':'baba', 'age':35}
d['name']
>>>'baba'
d['car'] = 'Juke' # 後から要素を追加することも可能
d
>>>{'name': 'baba', 'age': 35, 'car': 'Juke'}
d.items() # キーと値を配列として変換できる
>>>dict_items([('name', 'baba'), ('age', 35), ('car', 'Juke')])
'name' in d # キーが存在するか確認
>>>True
'address' in d 
>>>False

Pythonの制御文

制御文はプログラミングの基本となるものである.
いくつかの制御文を説明する.
制御文を使用する際にはインデントを使って記述する.

if文

if文では条件に合致するかそれ以外かで処理を変更できる.
複数の条件がある場合はelifを使用して,分岐を増やすことができる.

m = 3
if m > 5:
    print('m greater than 5.')
elif m > 2:
    print('m greater than 2.')
else:
    print('m less than 2')

条件の関係演算子は以下のようなものがある.

演算子 意味
< より小さい
<= 同じか小さい
> より大きい
>= 同じか大きい
== 等しい
!= 異なる

条件の論理演算子は以下のようなものがある.

演算子 意味
and かつ
or または
not ではない

for文

for文を使い同じ処理を何度も行うことが可能.

a = ['a', 'b', 'c', 'd', 'e']
for l in a:
    print(l, end=', ')
>>>a, b, c, d, e,

breakとcontinue

breakを宣言するとfor文を終了する.

for l in a:
    if l == 'c':
        break
    print(l, end=(', '))
>>>a, b, 

continueを宣言するとfor文のその回の処理が終了し,次のfor文の処理に移る.

for l in a:
    if l == 'c':
        continue
    print(l, end=(', '))
>>>a, b, d, e,

while文

for文と同じように同じ処理を何度も行うことが可能.
for文と違い,ループする条件をwhile文に対して指定する.
breakとcontinueはfor文と同じように使用する.

a = 0
while a < 10: # aが10未満の間処理を続ける
    a += 1
    print(a, end=(', '))
>>>1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 
1
1
1

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
1
1