0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

3章:Python3エンジニア認定基礎試験:基礎固め

Last updated at Posted at 2024-09-08

通算25日目_2024/09/08

学習目標

10月末までに合格したい

手順

①Python基礎学習
②基礎試験学習
③基礎試験問題集
④模擬試験
⑤受験

参考↓

Python入門完全攻略

はじめに

Pythonとは?

Python:ライブラリが豊富なスクリプト言語

ライブラリ:便利な機能のこと
例)料理器具(フライパン、やかん)
Python(AI専用、WEB開発専用)
→目的に応じた様々なツールがある

スクリプト言語:比較的簡単に記述・実行できるプログラミング言語
→PHP、Rubyなどもそう

環境構築

環境構築:Pythonを使える状態にすること
例)iPhoneでLINEを使いたいならどうする?
A.インストールする。
→これと同じことをPythonでも行う

Google Colabを使おう!
・メリット:環境構築が楽
・デメリット:ネット環境必須、実務で使わない

目的:Pythonに慣れること。
慣れてから本格的に環境構築すればOK

Google Colab

構築方法

①Googleドライブを開く
②新規フォルダ作成
③「新規」→「その他」→「Google Colaboratory」


▪️作成されたフォルダ = notebookと呼ぶ

▪️下記の記入箇所を「セル」と呼ぶ
スクリーンショット 2024-09-08 22.48.27.png

▪️「コード」:コードを記載できるセルの追加
ショートカット:ctrl M → ctrl B
スクリーンショット 2024-09-08 22.51.41.png

▪️「セルの削除」:ctrl M → ctrl D

▪️「コードの実行」:shift enter

▪️「テキスト」:メモ欄追加
ショートカット:ctrl M → ctrl M
コードのつもりでテキスト担ってしまった場合のショートカット:ctrl M → ctrl Y
スクリーンショット 2024-09-08 22.50.06.png

数値と演算

5 + 2
→7

5 - 2
→3

5 * 2
→10

5 ** 2
→25(5の2乗)

5 / 2
→2.5

5 // 2
→2(小数点なし)

5 % 2
→1(余り)

変数と出力

変数

変数:「数値、文字を入れておくための箱」のこと
スクリーンショット 2024-09-08 23.46.14.png

 コメントアウト

コメント:プログラム上でメモを残したい時に使う。
スクリーンショット 2024-09-08 23.50.04.png

「#」をつけるとプログラムの実行対象から外すことができる。
スクリーンショット 2024-09-08 23.47.29.png

出力

スクリーンショット 2024-09-08 23.53.50.png

「print()」の中身は変数だけではなく、数字もOK
スクリーンショット 2024-09-08 23.54.38.png

変数aと変数bを同時に出力
スクリーンショット 2024-09-08 23.56.18.png

「print()」は計算も可能
スクリーンショット 2024-09-08 23.58.40.png

26日目_2024/09/09

演習1(数値と演算、変数と出力)

スクリーンショット 2024-09-09 7.29.41.png

文字列

スクリーンショット 2024-09-09 7.31.59.png

### シングルクォート、ダブルクォート
どっち使ってもOK。
現場に合わせる。

変数内の文字列の出力も可能

スクリーンショット 2024-09-09 7.34.53.png

文字列とインデックス

▪️文字列と数値の大きな違い:「文字列はインデックスを持つ点」
▪️インデックス:番号のこと
→0から始まる(下記画像ならインデックス0がPになる)
スクリーンショット 2024-09-09 7.37.26.png

インデックス番号に対応する文字を取得する方法

script.py
[インデックス番号]


スクリーンショット 2024-09-09 7.41.25.png

連続するインデックス番号の文字を取得

下記のように「Pyt」を取得するには?
スクリーンショット 2024-09-09 8.39.50.png
↓ 答え
スクリーンショット 2024-09-09 8.40.34.png

なぜ[0:2]ではなく、[0:3]なのか?

○[開始インデックス:終了インデックス+1]

だから。

覚え方

インデックス番号は「数字の少し前」と覚えると理解しやすい。
下記画像なら0と3の間にあるから「Pyt」になる。
スクリーンショット 2024-09-09 8.42.57.png

▪️スライス = コロンを使って要素をまとめて取得する方法のこと。

インデックス番号の省略

○[0:3] = ○[:3]

スクリーンショット 2024-09-09 8.46.15.png

逆に、

○[3:]

にした場合、3以降を取得するので「Pyt」以降の「h」から最後までを取得する。
スクリーンショット 2024-09-09 8.47.42.png

文字列の最後を取得する方法

# 文字列の最後を取得する方法
変数[-1]

# 文字列の最後から2番目を取得する方法
変数[-2]

スクリーンショット 2024-09-09 23.07.17.png

文字列の長さを取得する方法

# 文字列の長さを取得する方法
a = ○○
len(a)

スクリーンショット 2024-09-09 23.19.30.png

文字列の演算

スクリーンショット 2024-09-09 23.26.15.png

使うメリット

区切り線などで使用すると楽に区切れる
スクリーンショット 2024-09-10 0.03.31.png

27日目_2024/09/10

文字列とメソッド

文字列'Python'のnが何番目か調べたい

# 文字列'Python'のnが何番目か調べたい
index()

↓具体例
スクリーンショット 2024-09-10 9.14.03.png

指定した連結した文字列が何番目にあるか調べたい

スクリーンショット 2024-09-10 22.29.05.png

文字列'a'が存在するか調べたい

# 文字列'a'が存在するか調べたい
find()

存在する場合:index()のように、何番目にあるか教えてくれる
存在しない場合:-1

↓ 例
スクリーンショット 2024-09-11 7.59.14.png

27日目_2024/09/11

文字列とメソッド (続き)

文字列の置換

replace(置き換える対象, 置き換後の値)

↓例
スクリーンショット 2024-09-11 8.03.47.png

文字列を削除したい場合

# 置き換え後を「空白にする」
replace(置き換える対象, '')

# 複数削除したい場合(「.」で繋げる)
replace(置き換える対象, '').replace(置き換える対象, '').

スクリーンショット 2024-09-11 8.09.14.png

bool値と比較演算子

bool値 = 比較演算子を使った時に出てくるTrueやFalseのこと
→TrueかFalseしかない
スクリーンショット 2024-09-11 8.13.40.png

比較演算子は6種類
スクリーンショット 2024-09-11 8.14.44.png

↓ 比較演算子とbool値の組み合わせ
スクリーンショット 2024-09-11 9.16.48.png

指定した条件の文字列が存在するか判別する方法 = in

# 「文字列」のbool値の取得方法
「in」を使う
条件元 in 条件式

↓ 例
スクリーンショット 2024-09-11 9.25.27.png

28日目_2024/09/12

bool値と比較演算子(続き)

指定した条件の文字列がしないことを判別する方法 = not in

# 「文字列」が存在しないことを判別する方法
「not in」を使う
条件元 not in 条件式

↓ 例
スクリーンショット 2024-09-12 12.49.15.png

「==」と「in」の否定系について

スクリーンショット 2024-09-12 12.49.47.png

演習2

スクリーンショット 2024-09-12 23.52.11.png

データ型とキャスト

データ型

# データ型を調べる方法
type()

↓ 例
スクリーンショット 2024-09-13 0.02.13.png

29日目_2024/09/13

キャスト(型変換)

str():文字列型にする
int():数値型にする

↓ 例
スクリーンショット 2024-09-13 23.32.12.png

型変換ができない場合

int型 → float型

↓ 例
スクリーンショット 2024-09-13 23.38.07.png

30日目_2024/09/14

演習3

スクリーンショット 2024-09-14 7.43.46.png

### ポイント
「,」「円」はint型に変換できないためreplaceで削除(空白と置き換える)

# 変数内にあるaをbに置き換える
変数.replace('a', 'b')
「変数内にあるaをbに置き換える」
↓
# 削除で使うときは
# 変数内にあるaを削除する
変数.replace('a', '')

None

スクリーンショット 2024-09-14 7.50.14.png

制御構文

if文などのことを制御構文という

条件分岐(if)

スクリーンショット 2024-09-14 7.54.11.png

if文にはインデントが重要

スクリーンショット 2024-09-14 7.55.02.png

### 条件分岐の条件を増やす方法(elif)
スクリーンショット 2024-09-14 7.57.18.png

### いずれの条件にも当てはまらない場合(else)
スクリーンショット 2024-09-14 7.59.27.png

### xもyも、0より大きいif文を作るには?(and)

# 条件を繋げるときはandを使う
# 下記の場合条件aと条件bが問題ない時のみ処理される
# 片方が条件に合致しない場合は処理が行われない

if 条件a and 条件b:
    print()


# 片方のみで処理されるようにしたい場合は「or」を使う
if 条件a or 条件b:
    print()

↓ 例
スクリーンショット 2024-09-14 8.05.11.png

演習4

スクリーンショット 2024-09-14 8.35.07.png

セイウチ演算子

Python3.8以降に登場した新しい文法

# 通常2行目の出力はprint(len(変数名))するが、見辛くなる。
# セイウチ演算子を使用するとコードがすっきりする。

# 演算子セイウチ公式
(n := len(変数名))
print(n)

↓ 例
スクリーンショット 2024-09-14 11.25.25.png

ループ処理(for)

# for文の公式
for for専用変数名 in 変数or数値:
    処理

↓ 例
スクリーンショット 2024-09-14 11.40.21.png

連続した数値を取得する方法(range())

# range()関数
# 0からスタートして、()内に記載した数字-1までのインデックスを連続した数値を要素として所有する
range(数値)

# range()で0からではなく、1からスタートして、4まで保持したい場合
# インデックスでも基本、「後ろの数字指定は-1される」と覚えると良い
range(1, 5)

# range()で0からではなく、1からスタートして、4まで保持し、一つ飛ばししながら保持したい場合
# 3つ目の「2」はスキップする幅を選べる
range(1, 5, 2)

↓ 例
スクリーンショット 2024-09-14 11.43.29.png

31日目_2024/09/15

for文で文字を1文字ずつ取り出す方法

スクリーンショット 2024-09-15 13.07.55.png
↓ len関数を使えばもっとスマートになる

# 復習:文字列の長さを取得する方法

a = ○○
len(a)

スクリーンショット 2024-09-15 13.09.48.png

for文で文字列を1文字ずつ取り出すなら、次の簡単な方法が一般的

Pythonは、以下のように文字列の長さを指定しなくても、
変数をfor文にぶち込めば1文字ずつ取り出すことができる。(インデックスの数を指定しない)

# 優先順位
①変数をfor文にぶち込む(インデックスの数を指定しない)
②①が無理な場合、rangeなどで文字数を指定する(インデックスの数を指定する)

↓ 例
スクリーンショット 2024-09-15 13.16.03.png

ループ処理(While)

While:同じ処理を繰り返したいときに使う。
例)1+1を100回など
スクリーンショット 2024-09-15 13.20.03.png
↓ 例
スクリーンショット 2024-09-15 13.27.36.png

スクリーンショット 2024-09-15 13.28.02.png

whileの注意点(無限ループ)

条件を満たしている間は「無限」にループ処理が行われてしまう = 無限ループ
必ずループを抜ける「条件」を記載すること
以下で言うと、i < 100のこと
↓ 例
スクリーンショット 2024-09-15 13.27.36.png

ループ処理を途中で中断する方法(break)

「break」でループを抜け出すことができる
↓ 例
スクリーンショット 2024-09-15 13.47.40.png

条件をTrueでもループを行える

注意点:条件Trueのみだと無限ループになるため、必ず抜け出すための条件を入れる。
↓ 例
スクリーンショット 2024-09-15 13.50.22.png

ループ処理の途中をスキップさセル方法(contnue)

# 処理をスキップさせる
contnue

↓ 例
スクリーンショット 2024-09-15 14.03.31.png

ループ処理¥で3の倍数の時スキップする方法

スクリーンショット 2024-09-15 14.05.16.png

パターンマッチング

Python3.10以降でできる構文
if文と変わらない。
条件が多くなった時にif文だと「==」が多くなるためmatchの方がスマートなコードになる。

# matchの公式
変数

match 変数:
    case 条件:
        処理内容
    case 条件:
        処理内容
    case _:
        処理内容

↓ 例
スクリーンショット 2024-09-15 15.47.26.png

データ構造

1つの変数で複数の値を使いたい

そんな時にもっとも使われるのが「リスト」

リスト

# 使い方
変数 = []

↓ 例
スクリーンショット 2024-09-15 16.10.03.png

リストを出力する方法

# リストを出力する方法
print(リスト名[インデックス番号])

↓ 例
スクリーンショット 2024-09-15 17.34.11.png

リスト内を複数取り出す方法(スライス)

スライスを使う!

▪️スライス = コロンを使って要素をまとめて取得する方法のこと。

# インデックス番号1と2を取り出す方法
# こういった数字では後ろの数字はインデックス番号より1大きくする
リスト名[0:2]

↓ 例
スクリーンショット 2024-09-15 17.41.17.png

リスト内を要素を1つずつ取り出す方法(forループ)

スクリーンショット 2024-09-15 17.44.11.png

リスト内を要素を1つずつ取り出す & リストのインデックス番号も同時に出力する方法(forループ)

# 方法
変数名 = [リスト]

for インデックス番号を入れる変数, リストの値を入れる変数 in enumerate(リスト名):
  print(インデックス番号を入れる変数, リストの値を入れる変数)

↓ 例
スクリーンショット 2024-09-15 21.00.10.png

32日目_2024/09/16

リストに特定の値が入っているか確認する方法

「in」を使う

↓ 例
スクリーンショット 2024-09-16 9.10.46.png

リストの値を置き換える方法

リスト名[インデックス番号] = 置き換える文字列や数値など

↓ 例
スクリーンショット 2024-09-16 9.13.41.png

リストの演算

スクリーンショット 2024-09-16 10.03.34.png

演習5

自身の回答
スクリーンショット 2024-09-16 11.04.55.png

模範回答
スクリーンショット 2024-09-16 11.05.20.png

リストのメソッド

要素の追加(append)

リスト.append(追加したい要素)

↓ 例
スクリーンショット 2024-09-16 11.08.49.png

appendはfpor文や空リストとよく使われる

スクリーンショット 2024-09-16 11.34.27.png

リストの拡張(extend)

リスト1.extend(リスト2)

↓ 例
スクリーンショット 2024-09-16 11.40.00.png
↓ 足し合わせているのではなく、num1を拡張している
↓ extendsを使ったことで、num1はずっと1~10の値を持つリストになる(上書き)
スクリーンショット 2024-09-16 11.36.45.png

extendsで上書きせずに元のリストの値を残しておきたい場合(演算を使う)

スクリーンショット 2024-09-16 21.42.52.png

リストから要素を削除する方法(remove)

# 使い方
リスト名 = []
リスト名.remove(該当要素)

↓ 例
スクリーンショット 2024-09-16 21.45.59.png

リスト内包表記

スクリーンショット 2024-09-16 21.59.37.png
↓ 内包表記の書き方
スクリーンショット 2024-09-16 22.08.50.png

内包表記のメリット
・コードが簡潔になる
・処理が高速化する(%%timeit)

%%timeitを先頭に追記することで処理速度がわかる

↓ 例(2倍違う:82μsと41μsF)
スクリーンショット 2024-09-16 22.14.42.png

33日目_2024/09/17

演習6

スクリーンショット 2024-09-18 17.50.26.png

リスト内包表記でif文を使う時の書き方

numbers = [リストの値]
list = [i for i in numbers if 条件文]
# リスト内包表記のfor文の後ろに記載する

参考サイト

34日目_2024/09/18

タプル(tuple)

スクリーンショット 2024-09-18 18.09.28.png

タプルとリストの違い

要素の追加/変更/削除が...
▪️リスト:できる
▪️タプル:できない

↓ 変更しようと試みた場合、以下のようにエラーになる

スクリーンショット 2024-09-18 18.11.17.png

タプルを使うタイミング

①中身の要素を変更したくない時
②変更する予定がない時

↓ 例えば、「ジャンケンのグー,チョキ,パー」を指定するときはタプルを使う
 理由は変更しないから

○:hands = ('グー', 'チョキ', 'パー')
×:hands = ['グー', 'チョキ', 'パー']

タプルを使った方が良い理由

リストでも良いが、
①思わぬバグが発生する場合があるため
スクリーンショット 2024-09-18 18.18.12.png

②タプルの方がメモリ消費量が少ないため
スクリーンショット 2024-09-18 18.20.47.png

# メモリの消費量を可視化できる
__size__()

タプルを取り出す方法

↓ リストとやり方は同じ
スクリーンショット 2024-09-18 18.23.58.png

インデックスを指定せずに取り出す方法(unpack)

人まとまりのリストやタプルを解凍するからアンパックという。

複数取り出す時はアンパックを使った方が、変数名でわかりやすくなる
↓ 例
スクリーンショット 2024-09-18 18.27.14.png

辞書(dict)

タプル、リストと辞書の違い

リスト、タプル:インデックス番号で管理
辞書:キーで値を管理

辞書名 = {key:value}

↓ 例
スクリーンショット 2024-09-18 22.44.54.png

辞書のvalueを取り出す方法

辞書名[key]

↓ 例
スクリーンショット 2024-09-18 22.47.08.png

辞書のvalueを更新する方法

辞書名[key] = 更新する値

↓ 例
スクリーンショット 2024-09-18 22.51.21.png

辞書に新しいvalueを追加する方法

辞書名[追加するkey] = 追加するvalue

↓ 例
スクリーンショット 2024-09-18 22.53.42.png

辞書に新しいvalueを追加する方法(リストの場合)

リストの場合は、存在しないインデックス番号を追加するとエラーになる。
append()などで追加する。

辞書のメソッド

辞書の「すべてのkey」を取得する方法

辞書名.keys()

↓ 例
スクリーンショット 2024-09-18 23.03.30.png

dict_keysと、keyのfor文

dict_keys = 辞書のkeyがすべて格納されたリストのようなもの

スクリーンショット 2024-09-18 23.07.24.png

35日目_2024/09/19

「すべての」valueを取得する方法

辞書名.values()

↓ 例
スクリーンショット 2024-09-19 7.26.29.png

valueのfor文

スクリーンショット 2024-09-19 8.41.50.png

keyとvalueをそれぞれ取り出す方法のまとめ
x = {}

# keyを取り出す
x.keys()

# valueを取り出す
x.values()

keyとvalueを両方取り出す方法(items())

x = {}

for key, value in x.items():
    print(key, value)

↓ 例
スクリーンショット 2024-09-19 9.22.15.png

items()の解説

items()

上記の中身はkeyとvalueで1セットのタプルになっている。
keyとvalueが3つずつならば3個のタプルがあるということ。

タプルのアンパックを使うことで、for文の変数を2個使えるようになっている。

↓ 解説画像とタプルの復習
スクリーンショット 2024-09-19 9.35.42.png

valueの取得(get)

x = {key: vakue...}

x.get()

↓ 例
スクリーンショット 2024-09-19 10.03.03.png

変数名[key名]と、getメソッドの違い

変数名[key名]と、get()は、存在しないkeyを指定した時の処理内容が異なる
変数名[key名]:エラー
get():None

↓ 例
スクリーンショット 2024-09-19 18.33.23.png

getメソッドのメリット

①辞書から要素を取得した後、何らかの処理を継続させたい時
→エラーではなく、Noneで処理して他の処理を引き続き行う
②あえて条件分岐する必要がなくなる
↓ 条件分岐しなくても、get()だけで処理を行える
スクリーンショット 2024-09-19 18.38.15.png

辞書の更新(update())

x = {}
x2 = {}

x.update(x2)

↓ 例
スクリーンショット 2024-09-19 18.43.08.png

辞書に要素を追加したい場合

スクリーンショット 2024-09-19 18.45.00.png

辞書の要素を削除(pop())

x = {}
x.pop(key名)

↓ 例
スクリーンショット 2024-09-19 18.48.37.png

popメソッドは本来keyを削除するのではなく、valueを取り出すメソッドである

タイトル通りで、この際に擬似的に削除されている

↓ valueの取り出し
スクリーンショット 2024-09-19 18.50.32.png

↓ 削除されているかの確認
スクリーンショット 2024-09-19 18.51.41.png

辞書の要素を削除(del)

x = {}
del x[key名]

↓ 例
スクリーンショット 2024-09-19 19.24.56.png

popメソッド、delどちらでもOK

関数

関数とは? = 簡単に言えばテンプレート機能

例えば
5教科の平均点数を知りたい時、5回の同じ処理を書くのは面倒
そんな時に、平均を求められる関数を作っておけば楽

組み込み関数

組み込み関数 = Pythonがあらかじめ用意している関数

今まで習ったものの中では、
print()
type()
len() # 長さを測る

他によく使う関数は、
sum() # 合計
min() # 最初値
max() # 最大値

↓ 例
スクリーンショット 2024-09-19 19.34.04.png

演習7

平均を求めるための関数は存在しない

# 平均の求め方
x = []
avg = sum(x) / len(x)

↓ 例
スクリーンショット 2024-09-19 21.10.12.png

参考

ランタイムを再起動

↓ sum関数などでどうしてもエラーが治らない時は、ランタイムを再起動してみる
スクリーンショット 2024-09-19 21.13.25.png

関数の定義

def 関数名():
    処理内容

関数名()

↓ 例
スクリーンショット 2024-09-19 22.42.05.png

引数

スクリーンショット 2024-09-19 22.46.37.png

戻り値(return)

スクリーンショット 2024-09-19 22.58.54.png

演習8

スクリーンショット 2024-09-19 23.20.05.png

スクリーンショット 2024-09-19 23.20.21.png

引数は複数でもOK

スクリーンショット 2024-09-20 0.17.42.png

キーワード引数

def 関数名(a, b):
    処理内容

# 順番が逆でも問題なし
関数名(b = bb, a = aa)

スクリーンショット 2024-09-20 0.21.57.png

デフォルト引数

デフォルト引数 = 関数の引数で、あらかじめ初期値を設定できる機能

def 関数名(a, b = bb):
    処理内容

関数名(a)

↓ 例
スクリーンショット 2024-09-20 0.27.54.png

36日目_2024/09/20

無名関数(lambda式)

# 通常の関数
def 関数名(引数):
    return 戻り値

↓ 書き方が変わっただけ

# lambda式
lambda 引数: 戻り値

関数をつけるまでもないけど簡単な平均計算などをまとめておきたい時などに使う。

↓ 例
スクリーンショット 2024-09-20 7.51.51.png

無名関数(lambda式if文)

# 通常の関数
def 関数名(引数):
    if文:
        return 戻り値

↓ 書き方が変わっただけ

# lambda式
関数名 = lambda 引数: 引数 if文: 戻り値

↓ 例
スクリーンショット 2024-09-20 8.00.18.png

プログラミング学習はさくさく進めることが大切

後になってわかることも多々ある。

例外処理

例外処理 = 想定しない処理が行われた時に、どのように対処するかあらかじめ決めておける機能
もっと簡単にいうと「想定外」に対応する術

例:エラー
スクリーンショット 2024-09-20 9.53.03.png

例:上記のエラーを例外処理で対応する

# エラーが発生しそうな場所に
try:
    エラーが発生しそうなコード
except:
    エラーが発生した場合の例外処理
    もしtry:で想定通りの実装ができた場合はexcept:は実行されない

↓ 例
スクリーンショット 2024-09-20 9.54.36.png

例外処理でエラー内容を確認する方法(as e)

# エラーが発生しそうな場所に
try:
    エラーが発生しそうなコード
except as e:
    print(e)
    エラーが発生した場合の例外処理
    もしtry:で想定通りの実装ができた場合はexcept:は実行されない

↓ 例
スクリーンショット 2024-09-20 10.25.56.png

例外処理でエラーが発生しなかった場合は、elseに処理を書く方がスマート

# エラーが発生しそうな場所に
try:
    エラーが発生しそうなコード
except as e:
    print(e)
    エラーが発生した場合の例外処理
    もしtry:で想定通りの実装ができた場合はexcept:は実行されない
else:
    エラー出なかった際の処理

↓ 例
スクリーンショット 2024-09-20 10.28.33.png

例外処理でエラーの有無に関わらず処理を行いたいものがある場合(finally)

# エラーが発生しそうな場所に
try:
    エラーが発生しそうなコード
except as e:
    print(e)
    エラーが発生した場合の例外処理
    もしtry:で想定通りの実装ができた場合はexcept:は実行されない
else:
    エラー出なかった際の処理
finally:
    絶対に行いたい処理

↓ 例
スクリーンショット 2024-09-20 10.32.46.png

クラス

type() = 変数の型を調べる

調べた時に、と出てくる、classが今回学習するクラスのこと
↓ 例
スクリーンショット 2024-09-20 10.36.01.png

どんなクラス、メソッドを使っているか調べる方法(help())

help()

object = 数値や文字列・リストやタプルなどのデータ型を抽象化した概念
class = オブジェクトを作るための機能

↓ 解説
スクリーンショット 2024-09-20 21.57.57.png

スクリーンショット 2024-09-20 21.58.43.png

↓ 例
スクリーンショット 2024-09-20 10.40.28.png

クラスの定義

初めから定義されているクラス = int str list function
自分で作る方法は?

# クラスの定義
class クラス名(引数):
    def メソッド名(self):
        処理内容

# インスタンス化
変数 = クラス名()

# インスタンスメソッドの呼び出し
変数.メソッド名()

↓ 例
スクリーンショット 2024-09-20 22.11.38.png

リストもクラスも同じ使い方

スクリーンショット 2024-09-20 22.14.44.png

クラスでの引数の使い方

class クラス名(引数):
    def メソッド名(self, 引数名):
        処理内容

# インスタンス化
変数 = クラス名()

# インスタンスメソッドの呼び出し
変数.メソッド名(引数)

↓ 例
スクリーンショット 2024-09-20 22.33.05.png

37日目_2024/09/21

インスタンスの初期化

__init__
を使うと、インスタンスを生成した時に自動で実行される処理を定義できる

↓ 例
スクリーンショット 2024-09-21 22.34.02.png

初期化の段階で引数を送る

スクリーンショット 2024-09-21 22.40.21.png

__init__を使う時のポイント

①メソッド内で変数にselfをつけること
②インスタンス生成時に値を渡すこと

selfとは?

スクリーンショット 2024-09-21 22.49.14.png

クラスで今現在覚えておくべきポイント

スクリーンショット 2024-09-21 22.50.05.png

クラスの継承

class 親クラス(self):

# クラスの継承
class 子クラス(親クラス):
    def __init__(self):
        # メソッドの継承
        super.__init__():

↓ 例
スクリーンショット 2024-09-21 23.20.32.png

ライブラリ

ライブラリのインポート

ライブラリ = 数行のコードで便利な機能を使える

import ライブラリ名

↓ 例
スクリーンショット 2024-09-21 23.52.53.png

38日目_2024/09/22

朝9:00〜23:55での勤務で学習できず。
休憩時間0だった。

頭の中で学習したことを復習はした。

39日目_2024/09/23

インポートの省略(as)

import ライブラリ名 as 省略名

↓ 例
スクリーンショット 2024-09-24 9.16.58.png

40日目_2024/09/24

インポートの省略(慣習例)

スクリーンショット 2024-09-24 9.18.36.png

ライブラリのインストール

スクリーンショット 2024-09-24 9.19.30.png
↓ 例
スクリーンショット 2024-09-24 9.19.56.png

Seabornは外部ライブラリ
本来は自分でインストールする必要がある。
Googleコラボは最初からよく使われているライブラリが入っているために使用ができた。

自分でライブラリをインストールするためには?

!pip install ライブラリ名

↓ 例
スクリーンショット 2024-09-24 9.26.50.png

自分でライブラリをインストールしたものを使う方法

スクリーンショット 2024-09-24 9.29.01.png

スクリーンショット 2024-09-24 23.44.34.png

0
0
0

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?