Python

基礎1

 

Anaconda > Python

   Jupyter notebook は、Pythonの実行環境

   Spyder は、バグフィックスに使う

 

 

四則演算

やること 演算子  
足し算 in 1+1   out 2  
引き算 - in 3-2    out 1  
掛け算 * in  2*3   out 6  
普通の割り算 / in   3/2   out 1.5  
1以下を切り捨てる割り算 // in   3//2   out 1  
割り算の余りを返す % in   3 % 2   out 1  
べき乗 ** in   2**3   out 8  

変数

変数と予約語

a = 1      のように代入する
a = a + 1   は a += 1  と書いてもよい

 

予約語を変数として使おうとすると、invalied syntaxとなりできない。

予約語は緑色になるのでわかる。

 

数字から始まる変数も invalied syntax

 

変数の型

代入の仕方によって変数の型をコントロールできる

 

整数を代入すると整数型(int)になり     a = 3

少数を代入すると浮動小数点型(float)になる    a = 3.0

””で囲むと文字列(str)になる                a = "Python"

””で囲むと数字でも文字列(str)になる     b = "5150"

Trueやfalseを代入すると真理値(bool)になる cond = True

 

type(変数)  で変数の型を表示できる

 

文字列は足し算で結合できる

 a+b   out ’Python5150’

 

文字列に掛け算するとその回数分繰り返して結合する

 3 * a      out  'PythonPythonPython'

 

変数の型の変換

num = 3.0       out  3.0     //float型の変数を宣言

num2 = int(num)       out  3      //Integer型にしてnum2に代入する

num2 = float(num2)   out  3.0    //またfloat型に戻す

 

moji = str(num)      out '3.0'    //数値を文字列に変換

moji2 = "3.5"         out '3.5'    //数字を文字列として代入しても

num3 = float(moji2)   out 3.5  //float型に修正することができる

 

リスト

//カンマで区切ってリストを代入することができる

num_list=[1,2,3]   out [1, 2, 3]

 

//どんな型でも代入できる

 

general_list = [1,"Python",3.0]      out   [1,'Python',3.0]

 

//リストにいくつの要素が入っているかを確認する

 

len(num_list)       out 3

  

インデックスとスライス

1つの要素にアクセスするにはインデックス

複数の要素にアクセスするにはスライス

 

インデックスの例)

//数列の要素を取り出すにはインデックスを渡す

 インデックスは0から始まっている。

num_list[0]   out 1

num_list[1]   out 2

 

//最後から何番目という出し方

num_list[-1]   out 3

 

//特定の要素をインデックスを指定して置き換える

num_list[0] = 5    out [5, 2, 3]

 

 

スライスの例)

num_list = [1,2,3,4,5,6,7,8,9]

num_list[0:4]        //0番目から4の1つ前の要素を取り出す

 out [1,2,3,4]

 

//最初の引数を省略すると0番目から表示する

num_list[:5]  out  [1, 2, 3, 4, 5]

 

//最後の引数を省略すると最後の要素までを表示する

num_list[5:]  out  [6, 7, 8, 9]

num_list[-4:]     out  [6, 7, 8, 9]

 

文字列

文字列でもインデックスはスライスは使える。

 

moji = "Python3.6"

moji[0]     out 'P'

 

特殊文字

\t     タブ

moji2 = "Hello\tWorld!"

moji2      out  Hello\tWorld!

print(moji2)      out   Hello    World!

 

\n    改行

moji3 = "Hello\tWorld!\n"

print(moji3)       out   Hello    World!    //改行が入っている

 

リストの操作(追加・削除・演算)

//空のリストを作る []

num_list = []

 

//そこに単一の要素を付加する append(要素)

num_list.append(0)

num_list       out [0]

 

//もう一回要素を付加すると

num_list.append(0)

num_list       out [0,0]  //2個目の要素として付加される

 

//リストを付加したいときは extend([リスト])

num_list.extend([3,4,5,6,7])

num_list       out [0,0,3,4,5,6,7]   //次の要素としてリストが付加される

 

//最後の要素を削除したい場合は pop()

num_list.pop()  out  7

num_list       out [0,0,3,4,5,6]   //削除したので最後の要素が消えている

 

 

//特定の値の要素を削除したい場合は remove(値)

num_list.remuve(3)

num_list  out [0,0,4,5,6]   //指定された値の要素が消えている

 

 

//演算する 和 sum

sum(num_list)     out 15

 

//リストを昇順に並び替える sort()

num_list2 = [4,2,6,3,7,4,8,5,1]    //ランダムなリスト

num_list2.sort()

num_list2   out [1, 2, 3, 4, 4, 5, 6, 7, 8] //昇順になった

 

リストの操作(文字列の操作)

//半角スペースと特殊文字を取り去る .strip()

Prolang = "Python-C-Java-Peal     \n"

Prolang  out   'Python-C-Java-Peal \n'     //文字列はそのままだが

Prolang.strip()     out   'Python-C-Java-Peal'   //.strip() でスペースと特殊文字を消すことができる

 

//特定の文字列がリストに含まれるかを検定する .find  / in

Prolang.find("Java")     out 9      //その文字列が何文字目から始まっているかを返す

Prolang.find("C++")     out -1 //なければ負の値を返す

"Peal" in Prolang   out True  //こういう書き方もある ブール値で返す

 

//要素を他の要素に置き換える .Replace()

Prolang.replace("C","C++")   out  'Python-C++-Java-Peal     \n' //CがC++に置き換わった

 

//区切り文字を指定して要素を分割する .split()

Proglang = "Python-C-Java-Peal"

 

Proglang.split("-")   out ['Python', 'C', 'Java', 'Peal'] //要素を分割

 

//要素をつないで1つの文字列にする 指定の文字で要素間に挿入できる .join()

Proglist = ['Python', 'C', 'Java', 'Peal']

",".join(Proglist)   out  'Python,C,Java,Peal' //1つの文字列になったが ,で区切れられている

"".join(Proglist)   out  'PythonCJavaPeal'  //空白にすれば完全にくっつく

 

タプル

タプルはリストと同様に配列だが、上書きすることができない。

変更したくないものは、タプルで宣言する。

 

リストは[] 

num_list = [1,2,3,4]

タプルは()

num_tuple = (1,2,3,4)

 

リストとタプルは相互に変換できる list関数 tuple関数

list(num_tuple)   out [1, 2, 3, 4]

tuple(num_list)   out (1, 2, 3, 4)

 

リストかタプルかを確認する ?

num_tuple?      out Type:tuple

num_list?         out Type:list

 

ディクショナリ(辞書型)

リストやタプルと同様に配列の一種だが、その数字が何なのかの説明が入れられる

  ディクショナリは{}

  リストは[]

  タプルは()

 で記述する

 

\\このようにインプットする

kyushu_pop_dict = {"Fukuoka":504, "Oita":120, "Kumamoto":182}

 

\\中身を確認

kyushu_pop_dict

out {'Fukuoka': 504, 'Oita': 120, 'Kumamoto': 182}

 

\\一部の要素を取り出すときは、インデックスではなく

kyushu_pop_dict["Oita"]

out 120

 

\\どのような要素があるのかを確認する

kyushu_pop_dict.keys()

out  dict_keys(['Fukuoka', 'Oita', 'Kumamoto'])

 

\\値を確認する

kyushu_pop_dict.values()

out  dict_values([504, 120, 182])

 

\\配列の値を追加する

kyushu_pop_dict.update({"Kagoshima":170, "Miyazaki":114, "Saga":85})

kyushu_pop_dict

out   {'Fukuoka': 504, 'Oita': 120, 'Kumamoto': 182, 'Kagoshima': 170, 'Miyazaki': 114, 'Saga': 85}