Warning: count(): Parameter must be an array or an object that implements Countable in /home/xs638785/agile-software.site/public_html/wp-content/plugins/rich-table-of-content/functions.php on line 490
Pythonとは
Webアプリケーション開発や機械学習、統計処理などのようにさまざまなことをおこなうことができます。
Pythonでプログラミングするのに必要なもの
- テキストエディタ
- コンパイラまたはインタプリタ
テキストエディタはプログラムを編集するために必要で、コンパイラなどはプログラム言語をマシン語に変換するために使われるます。
コンパイラとインタプリタの違いは一度にまとめてプログラミング言語をマシン語にするか1行ずつ変換するかの違いです。
ちなみにPythonはインタプリタです。
コンパイラ
インタプリタ
これらをまとめたものにIDLE(統合開発環境)というものがあり、これを使うとそれぞれインストールする必要がないためとても便利です。
インタラクティブモード
命令を実行すると1行ずつ命令を実行する。
演算子
比較演算子
print(4<5)
#出力結果
True
print(3<1)
#出力結果
False
print(1 == 1)
#出力結果
True
論理演算子(ブール演算子)
ブール値(TrueかFalse)を受け取って結果を返す
二項算術演算子 | 比較演算子 | 論理演算子 | |||
+ | 足し算 | < | より小さい | and | 両方成り立つ |
– | 引き算 | <= | 以下 | or | いずれかが成り立つ |
* | 掛け算 | == | 等しい | not | 等しくない |
= | > | より大きい | |||
/ | 割り算 | >= | 以上 | ||
// | 小数点以下を切り捨て た割り算 | != | 等しくない | ||
% | 余り | ||||
** | 2乗 |
データ型
リスト
d = [10,20,30]
type(d)
#データ型
list
d[0:2]
[10,20]
#0を省略して記述することもできます。
d[:2]
[10,20]
値の追加・削除
#追加
d.append(50)
[10, 20, 30, 50]
#削除
d.pop()
[10, 20, 30]
辞書
辞書とはキーと値をもった複数データのこと
f = {}
type(f)
#データ型
dict
scores = {'国語':40,'数学':90,'英語':80,'理科':80,'社会':70}
scores["国語"]
40
値の追加・削除
#追加
scores['家庭科'] = 100
{'国語': 40, '数学': 90, '英語': 80, '理科': 80, '社会': 70, '家庭科': 100}
#削除
Pythonのエラー表示
Syntax Error:スペルを間違えたとき、かっこの使い方が違うときに現れます。
モジュール
Pythonには基本的な機能しかないため別に追加できる機能のことをモジュールと呼びます。
カレンダーを表示する
ウィンドウ操作
import thinter
thinter.Label(None, text="Hello").pack()
改行したいとき
改行を表現するにはいくつか方法があるのですがエスケープシーケンスについて学んでいきたいと思います。
エスケープシーケンス | 意味 |
\n | 改行 |
print(1+2)
Pythonのプログラムは上から順に一つずつ実行される
文字コード
Pythonは[UTF-8]と呼ばれる文字コードで記述されます。
IDLE以外のテキストエディタで記述した時にUTF-8以外の文字コードで記述される場合があります。その場合エラーの原因になるため1行目に「coding=utf-8」と記述します。
こうすることで文字コードを指定できるためエラーが表示されなくなります。
先頭の空白に注意
#coding:utf-8
print("こんにちは") ×
print("こんにちは") 〇
関数
値を渡すと何らかの処理を行い、その結果を返してくれるのが関数です。
関数名(引数)と書くことで
str関数
数値を文字列に変更
int関数
文字列を数値に変更
range関数
range(開始する値,終了する値)
#1,2,3,4,5のように5回繰り返したいときは
range(1,5+1)
関数を作る
aからbまでの合計を求める関数を作ることを考えます。
関数を作る際はdefという構文を使って定義します。
今回は「tashizan」という関数名でa,bを渡すことを考えます。
このa,bのことを引数と呼ぶので覚えておいてください。
関数
def say_hello2(name):
print(f'{name}さん、こんにちは')
#say_hello2関数の実行
say_hello2(name='佐藤')
#結果
佐藤さん、こんにちは
戻り値を変えす関数
return
税込み価格を計算する関数を作成します。
また、初期値を設定することもできます。
def add_charge(bill):
return int(bill*1.07)
print(add_charge(4000))
#結果
4280
初期値を設定
def add_charge(bill=2000):
return int(bill*1.07)
print(add_charge())
#結果
2140
関数を実行して得られた値を戻り値
def 関数名(): #引数を使う必要がないので()だけ
関数内で実行する処理
名前の先頭を数字にする。数字だけはNG
12345、1day
printやifなどのすでに役割が決まっている関数名は使わないようにする
アルファベット、アンダースコア、数字の0~9を使います
anser、name1、my_value
#tashizanという引数のある関数の定義
def tashizan(a,b):
total = 0
for i in range(a,b+1):
total = total + i
return total
#変数cに1から5まで足し算した結果が格納
c=tashizan (1,5)
print(c)
命令
画面に文字や数字などを表示する。
文字列を表示させるためにはダブルクォーテーションかシングルクォーテーションで括る必要があります。
数値や変数を扱う場合はクォーテーションで囲む必要がありません。
シングルクォーテーション3つでくくると複数行を1行とすることができます。
print('''世界の
みなさん
こんにちは''')
#出力結果
世界のみなさんこんにちは
- 変数の頭文字を数字にすることはできない。
1name × - 2語以上の場合はアンダーバーで区切る
user_name 〇
print(1)
print(1+2)
print("Hello World")
# 最後に「, end=""」を付け加えると改行しないようにできます。
print("こんにちは", end="")
#変数
print(name)
#文字列
#print('3+5')を出力すると結果は 3+5
#数値
#print(3+5)を出力すると結果は 8
コメントを書く時は#
#この行はコメントです
変数
変数とはデータを入れるための箱をイメージするとわかりやすいです。
変数aに1を代入。変数bに2を代入してa+bの計算を行ってあげると3が表示されます。
a = 1
b = 2
print(a+b)
#結果は3
#変数と文字列を並べるときは+で結合します。
player="勇者"
print(player+"は強い")
変数を使うメリット
変数を使うメリットはデータが何を表しているかわかりやすいことです。
繰り返し
ある処理を繰り返し実行したいときに使うのが下の2つです。
- for構文
- while構文
for構文
指定した回数だけ繰り返す。
リストの中の数字を順番に取り出して変数aに代入したものを表示するプログラムです。
インデントによってprint(a)が繰り返されることになります。
for a in [1,2,3,4,5]:
print(a)
#出力結果
1
2
3
4
5
range関数を使ってみる
range関数は繰り返したい回数が決まっているときに使用します。
for 変数 in range(回数)
繰り返したい処理
len
names = ['今西','佐藤','鈴木','高橋','川上']
for i in range(len(names)):
print(names[i])
より分かりやすい表記
names = ['今西','佐藤','鈴木','高橋','川上']
for name in names:
print(name)
#変数cntに0~9までの数字を入れるごとに処理を行う
for cnt in range(10):
print("ハロー")
最初のfor文が1回繰り返すたびに2回目のfor文が9回繰り返される。
#九九の計算
for cnt1 in range(1,10):
for cnt2 in range(1,10):
print(cnt1*cnt2)
while構文
指定した条件を満たしている間実行されるため、回数が決まっていない繰り返しを行うことができる。
while 継続条件 :
繰り返したい処理
例)50まで繰り返す
# cording:utf-8
total=0
a=1
while tatal <=50:
toatal=total+a
a=a+1
print(total)
上記の例では50以下の時に繰り返すプログラムでしたが永遠に処理を繰り返す書き方でbreakを使うと同じような処理ができます。
# cording utf-8
total =0
a = 1
while True:
total = total + a
a = a+1
if total >50:
break
print (total)
teamリストから取り出した要素をoppsリストから消す。
#対戦組み合わせ
team=["A","B","C","D","E"]
opps=["A","B","C","D","E"]
for t1 in team:
opps.remove(t1)
for t2 in opps:
print(t1+"vs"+t2)
elif
そうでないときを並べたいときに使います。
else
繰り返しが終わったときに最後に1回だけ実行したいときに使う
条件分岐
if構文
aが5以下の時は小さいです。5以上の時は大きいですと表示
#cording:utf-8
for a in range(1,10+1):
if a <=5:
print("小さいです")
else :
print("大きいです")
複数条件
2の倍数の時は〇、3の倍数の時は×、2の倍数かつ3の倍数の時は△
倍数表現については2の倍数の時は「a % 2 ==0」というように書きます。
これはaを2で割ったときに0であれば2の倍数であるとみなしているのです。
# cording
for a in range(1,10+1)
if a % 2==0:
print ("〇")
if a % 3 ==0
print ("×")
if (a % 2 ==0) and (a % 3 ==0)
print("△")
所持金が8000円以上の時はディズニーランド、2000円以上の時は映画館、それ以外の時はどこにも行かない
money = 3000
if money >= 8000:
print('ディズニーランドに行きます')
elif money >=2000:
print('映画館にいきます')
else:
print('どこにも行きません')
モジュールのインポート
calenderというモジュールを読み込んでmonthという関数を実行するとカレンダーが表示される。
import calender
print (calender.month (2017,12))