1972年生まれの C言語 より遅れること1991年に Python言語 ができました。人気も需要も高い言語の一つで、C言語よりPython言語の方が学習の難易度は低くシンプルで平易なプログラム言語ですが、しかし、色々な用途で使われていてパーソナルから高度な機械学習までは幅広い分野で活用されています。
Python言語のプログラミングの基本
-
-
- シンプルである。
- 大文字と小文字は区別する
- 複合文は インデント(字下げ)でブロック化
- 豊富なライブラリを活用する。
-
プログラム作成するにあたり、メッセージは分かりやすくするために日本語を使います。日本語で入力すると全角になります。しかし、プログラムは英数半角で入力します。半角と全角が混在はできません。イージーミスですが初心者にはよくあるミスです。
複合文は インデント(字下げ)でブロック化しますが、ズレるとえらーが発生します。
動的変数のためデータに対する型を設定する必要はありません
-
- 対話モードで実行
Pythonは1行毎に実行できます。- Hello World を 表示 するプログラム
- 1+2 計算
- 入力 Hello World
- プログラムコードから実行
一般的なプログラミングはこちら側になります。
- 対話モードで実行
変数と型の取り扱い方を紹介します。
変数を扱う場合、C言語の様に宣言や型(型指定子)を指定しなくても構いません。
エスケープシーケンスや書式指定子を用いる事により、見栄えある表示が出来ます。
変数とは、データを入れる箱と考えると変数名は箱の名前になります。この箱に何が入るかで箱の性能が変わります。例えば、箱に入る中身が液体・固体・気体によって耐水姓や気密度が違います。同じように変数も型、つまりデータの形状で収納方法が異なります。
変数を扱う時、変数に対して型が必要になる場合があります。
型指定子 | 型 |
int | 整数 |
float | 浮動小数点数 |
bool | 真偽値 |
str | 文字列 |
datetime | 日付 |
エスケープシーケンスとは、printで文字やデータを表示する時,改行や“”(ダブルクォーテーション)を表示させる様にする指示する命令コードをエスケープシーケンスと言います。
書式 | 動作 |
\\ | \ を表示する |
\“ | “ を表示する |
\‘ | ‘ を表示する |
\b | バックスペース |
\f | 改ページ |
\n |
改行 |
\t | 水平タブ |
\v | 垂直タブ |
\0 | NULL |
※ \ でうまくいかなければ / でできます。
print を実行させると改行し、エスケープシーケンスで¥nを加えると 2重で改行されます。
print で改行させない方法は end=”” を追加して下さい。
print (” ” , end=””)
変換指定子とは、出力表示したい文字やデータを変数の値で表示できます。
書式 | 動作 |
%d | 符号付き整数を表示 |
%f | 実数表示(小数表示) |
%e | 指数表記の浮動小数点数 |
%o | 8進数表示 |
%x | 16進数表示 |
%s | 文字列表示 |
%a | ascii()表示 |
変数 に入るデータは数値・文字などがありますが、pythonの場合 変数の宣言も型の指示も必要ありません。
-
-
- 整数 int型 a=123
- 浮動小数点 float型 a=3.45
- 文字列 str型 a=’ABC’
- 真偽値 bool型 a=True
- 日付型 datetime型 a= 2021-09-30 12:34:56
※ datetime型 を使用するときは、import datetimeが必要です。 - type(型)
型を取得・判定します。
-
《 test001.py 》
import datetime
a=123
print('① a のデータは ',a)
print(' a のタイプは ',type(a))
a=3.45
print('② a のデータは ',a)
print(' a のタイプは ',type(a))
a='ABC'
print('④ a のデータは ',a)
print(' a のタイプは ',type(a))
a=True
print('④ a のデータは ',a)
print(' a のタイプは ',type(a))
a=datetime.datetime(2021,9,30,12,34,56)
print('⑤ a のデータは ',a)
print(' a のタイプは ',type(a))
結果
printf の基本
print(” この値は 書式指定子 ” % 変数)
print(“ この値は {0} ” .format(変数))
print(“ この値は ” +(変数)) ※ 文字列の値、変数
print(a)
print(“ この値は %d \n” % 10)
print(‘ この値は %d \n’ % (10+20))
print(‘ この値は %d \n’ % (a+b))
print(‘ この値は {0} この値は {1} ‘ .format(a,b))
print(‘ この値は ‘+str(a)+’ この値は ‘+str(b))
《 test002.py 》
a=1
b=2
print(" 1 この値は %d " %(a))
print(" 2 この値は %d " %(a))
print(" 3 この値は %d " % 10)
print(" 4 この値は {0} " .format(10))
print(" 5 この値は "+str(10))
print(' 6 この値は %d ' % (10+20))
print(" 7 この値は {0} " .format(10+20))
print(" 8 この値は "+str(10+20))
print(' 9 この値は %d ' % (a+b))
print("10 この値は {0} " .format(a+b))
print("12 この値は "+str(a+b))
print('13 この値は %d この値は %d ' % (a,b))
print('14 この値は {0} この値は {1} '.format(a,b))
print("15 この値は "+str(a)+" この値は "+str(b))
結果
桁数の指定
-
-
- 空白を含めて4文字で表示
print(“%4d”,25); - 0を使って4文字を表示
print(“%04d”,25); - 全体を6桁、小数点以下を1桁で表示
print(“%6.1f”,252.25); - 全体を10文字として表示
print(“%10s”,”YOKOHAMA”);
- 空白を含めて4文字で表示
-
《 test003.c 》
print("%4d \n"% 25)
print("%04d \n"%25)
print("%6.1f \n"%252.25)
print("%10s \n"%"YOKOHAMA");
結果
ロボットつくり隊はロボットを作る事を一番に考えてています。
C言語 Arduino UNO ・ Raspberry Pi
Python micro:bit ・ レゴ Robot Inventor
micro:bit・レゴ Robot Inventor はスクラッチ型のプログラム(スケッチ)でも書けますが、細かい設定はC言語やPythonのプログラム言語でプログラムで書いた方がいいと思います。Pythonの書き方を他所のサイトで説明しながらmicro:bitやレゴのプログラムをするより自前のプログラム言語の説明した方が説明しやすいのであまり深い入りはしませんが、簡単なPythonの書き方はここで説明します。先にC言語を説明しましたが、Arduino UNOなどで使用します。マイコンボードで使用する言語を説明後、マイコンボード使用方法について後日説明します。