【Android講座】第6回 まとめ
Lesson 6で学ぶこと
今までのLessonをMainActivityで表示できるようにする。
Lesson 6 Step by Step実装
基本の流れ
- 画面作成(Activityやlayoutの追加)
- 画面調節(パーツの追加や位置調節)
- イベント処理(ボタン押下された等)
- 画面更新(表示する、消去する等)
code
【Android講座】第5回 Dialogの作成
Lesson 4で学ぶこと
DialogFragmentを実装してDialogの表示をする。
Lesson 4 Step by Step実装
基本の流れ
- 画面作成(Activityやlayoutの追加)
- 画面調節(パーツの追加や位置調節)
- イベント処理(ボタン押下された等)
- 画面更新(表示する、消去する等)
code
Python( ..)φメモメモ
pipとは
pipはPythonのパッケージを管理するためのツール。
コマンドにpipとpip3があるが、 python3系を使うのであれば、どちらでもよい。
# pipのversionの確認
pip --version
Jupyter Notebookの設定
変数が見えるようになる。とても、便利!
【E資格対策】Python Numpy入門
Numpy
import numpy as np array = np.array([[1,2,3],[4,5,6]]) print(array) # [[1 2 3] # [4 5 6]] list = array.tolist() print(list) # [[1, 2, 3], [4, 5, 6]] # zeros array0 = np.zeros((2,5)) print(array0) # [[0. 0. 0. 0. 0.] # [0. 0. 0. 0. 0.]] # ones array1 = np.ones((2,5)) print(array1) # [[1. 1. 1. 1. 1.] # [1. 1. 1. 1. 1.]] # aragne array = np.arange(50) # 50個(0~49)を格納する # Arrayの要素の型をdtypeを指定する array_int = np.array([1,2,3], dtype="int32") print(array_int.dtype) # int32 # 型変換(0,1をFalse,Trueに変えたりできる) array = np.array([0,0,1], dtype="int") print(array) # [0 0 1] array = array.astype("bool") print(array) # [False False True]
要素
array = np.array([[1,2,3],[4,5,6],[7,8,9]]) print(array[0]) # [1 2 3] print(array[0][0]) # 1 print(array[:,:]) # スライス参照 # [[1 2 3] # [4 5 6] # [7 8 9]]
形状
array = np.array([[1,2,3],[4,5,6]]) print(array.shape) # (2, 3) 2行3列 print(array.ndim) # 2次元 print(array.reshape((3,2))) # 3行2列 print(array.reshape((3, -1))) # -1を指定すると、自動でリシェイプしてくれる
演算
a = np.array([[1,2], [3,4]]) b = np.array([[1,3], [5,7]]) print(a + b) # 加算 # [[ 2 5] # [ 8 11]] print(a + 1) # ブロードキャスト # [[2 3] # [4 5]] # ベクトルの内積 print(np.dot(a,b)) # [[11 17] # [23 37]]
Numpy100本ノック!!
【E資格対策】Python クラス講座
クラス講座
クラスとインスタンス
class Person: pass # 何もしない # インスタンス作成 Alice = Person() # インスタンス変数 Alice.name = "Alice" Alice.age = 18 # インスタンスメソッド class Person2: def introduce(self): # selfは、お決まりの形 print(self.name) print(self.age) Bob = person2() Bob.name = "Bob" Bob.age = 29 Bob.introduce() # 特殊なメソッド class Person3: def __init__(self): # インスタンス作成時に呼ばれる。初期化で使う。 def __call__(self): # メソッド名の記載が不要で呼べるメソッド。 # 例) # Calor = Person3 # Calor() # __call__内の処理が呼ばれる
他のpythonファイルのクラス読み込み
from sample import SampleClass # from ファイル名(sample.py) import クラス名
継承・オーバーライド
# 親クラス class Person: def __init__(self, name, age): self.name = name self.age = age # 子クラス class Student(Person): def __init__(self, name, age, school): super().__init__(name, age) # オーバーライド self.school = school def introduce(self): print(f"{self.name}は、{self.age}歳で、{self.school}です")
インスタントメソッド
【E資格対策】Python 入門・中級まとめ
入門・中級
変数と型
- 整数(int) 例:
0
,1
,100
,-10
- 少数(float) 例:
1.0
,1.34
,-0.01
,1e5
- 文字列(str) 例:
"HI"
,"a"
,"31"
,""
- 真理値(bool) 例:
True
,False
x = "" type(x) # 変数xの型を取得
演算
比較演算子(==
, !=
, <
, >
, <=
, >=
, is
, <>
)
代入演算子(=
, +=
, -=
, *=
, /=
, %=
, **=
, //=
, &=
, |=
, ^=
, <<=
, >>=
)
ビット演算子(~
, &
, |
, ^
, <<
, >>
)
ブール演算子(and
, or
, not
)
コメント
# コメント
if文
# if, elif, elseの後に、判定とコロンを。条件式は、インデントを下げる。 if i == 1: print(i) elif i == 2: print(i) else: print(i) # 判定:==, !=, <, >, and, or if a > b and a > c: if a < b or a < b: # リスト list = ["A", "B", "C"] search = "A" if search in list: print(search, "はあるよ") else: print(search, "はないよ") # 文字列 tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" search = "A" if search in tmp: # (ry # 辞書 dict = {'A':'あ', 'B':'い', 'C':'う'} #おさらい{key:value} search = "A" if search in dict: # Valueが表示される # ※if文の判定式にリスト、文字列、辞書の空を渡すと、Falseを返す。
for文
for i in range(5): # 繰り返す for i in range(10, 20, 2): # iは、10から始まり、ループ事に2変化し、20に達すると終了する # 20は表示されない print(i) # リストはそのまま渡せる(range不要)、continueとbreak list = ["A", "B", "C"] for i in list: if i == "B": continue elif i == "C": break
リスト
# リスト作成 list = ["A", "B", "C"] # リストへの追加 list.append("D") # スライス(リスト名[開始 : 終了 : 変化]) list[0:2:1] # 0番目、1番目のリストを取得 list[2:0:-1] # 2番目、1番目のリストを取得 # 多次元化 list = [["東京", "東京"], ["北海道", "札幌"]] list[1][1] # "札幌" # ★リスト内包表記 # 構文 : list1 = [式 for 変数 in イテラブルオブジェクト] list1 = [i ** 2 for i in range(5)] # [0, 1, 4, 9, 16] # 構文 : list2 = [式 for 変数 in イテラブルオブジェクト if 条件式] list2 = [i ** 3 for i in range(5) if i % 2 == 0] # [0, 8, 64] # enumerate:列挙する list = ["ando","baba","caca"] for index,value in enumerate(list): # indexは0から振られる。 print(value + "さんの出席番号は"+ str(index+1) + "です。")
辞書
# ' ', " "(どちらでも可)、{}が辞書、[]はリスト。 dict = {'A':'あ', 'B':'い', 'C':'う'} # { key : value } # 要素へのアクセス dict["A"] # 「あ」を取得 # keyは検索できる。valueは検索できない。 # 辞書への追加方法 dict["key"] = "value" fruits = {} fruits["A"] = "apple" fruits["B"] = "banana" fruits["C"] = "c" # ないkeyにアクセスするError # KeyError Traceback (most recent call last) # KeyError: '文学'
関数
def func(): # 処理
組み込み関数
print() # 標準出力 input() # 入力 int(a) # intへキャスト(小数点以下、切り捨て) float(b) # floatへキャスト str(c) # Stringへキャスト round(num) # 四捨五入 len() # 文字列、リスト数、辞書数を返す min() # 数値なら最小値、アルファベットならAを最小値として返す max() # 最大値
CSVファイルの入出力
# import文 import csv # 対象ファイルの選択。encodingは必須(windowsだと) with open('XXXXX.csv', encoding="utf-8_sig") as f: # データの取得、読み込み load = csv.reader(f)
標準ライブラリ
# ランダム import random r1 = random.random() # 0<=x<1の実数 r2 = random.randint(0,5) # 0<=x<5の整数 r3 = random.uniform(10,15) # 10<=x<15の実数 # 時間 import time now = time.time()
【E資格対策】Python 中級 1
( ..)φメモメモ
何のためにE資格取得がんばる?
AIを深く理解していくための基礎力として、E資格を学ぶ。
資格を取った先、仕事で活かした先、研究をした先に、
AIに出来ること、そして、限界が見えてくるはず。
python 中級
for文(2)~リスト(4)
for文
Factorial : 階乗
def factorial(x): sum = 1 for i in range(x, 0, -1): if i <= 0: break else: sum = sum * i return sum
if文
うるう年
def leap_year(x): if x % 400 == 0: # i) 400で割り切れる場合は、うるう年 leap = True elif x % 100 == 0: # ii) 400で割り切れない、かつ、100で割り切れる場合は、平年 leap = False else: if x % 4 == 0: # i) ii) とも満たさない、かつ、4で割り切れる場合は、うるう年 leap = True else: leap = False if leap: print(str(x) + "年はうるう年") else: print(str(x) + "年はうるう年ではない")
不思議なifの判定
if文に0
が入ると、Falseの判定になる。
ちなみに、0.0
だと、float型で、Falseの判定になる。
num = 0 if num: print("num = " + str(num) + ", type = " + str(type(num)) + " True") else: print("num = " + str(num) + ", type = " + str(type(num)) + " False") # 出力 ⇒ num = 0, type = <class 'int'> False
リスト
リスト内包表記
enumerate関数
簡単にリストを作成できるよ
構文 : [式 for 変数 in イテラブルオブジェクト]
# リスト内包表記 list = [i + 1 for i in range(5)] # コードで書く def create_list(): list = [] for i in range(5): list.append(i+1)
判定を含むの構文 : [式 for 変数 in イテラブルオブジェクト (if文)]
※FizzBuzzの短縮(↑のQiitaより)
["fizzbuzz" if i%15==0 else "fizz" if i%3==0 else "buzz" if i%5==0 else i for i in range(1,16)]
※注意(Javaが染み込んでいる~
list.len() # NG len(list) # OK
意外と型変換が必要な感じ。
動的型付けだから、わかりづらい印象を受ける。慣れか。
emumerate:列挙する
# 構文 for 変数名1(インデックス),変数名2(値) in enumerate(イテラブルオブジェクト): # 処理