Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
2020_k3_python講座第6回
Search
k3たっつー
July 04, 2020
Education
36
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2020_k3_python講座第6回
2020年度のk3のpython講座第6回の内容になります
k3たっつー
July 04, 2020
More Decks by k3たっつー
See All by k3たっつー
2020_k3_python講座第8回
tattsu_hitsuzi
0
46
2020_k3_python講座第7回
tattsu_hitsuzi
0
42
2020_k3_python講座第5回
tattsu_hitsuzi
0
69
2020_k3_python講座第4回
tattsu_hitsuzi
0
35
2020_k3_python講座第3回
tattsu_hitsuzi
0
1.1k
2020_k3_python講座第2回
tattsu_hitsuzi
0
46
2020_k3_python講座第1回
tattsu_hitsuzi
0
58
Other Decks in Education
See All in Education
学習者データを「見る」:外国語教師のためのデータの入力、分析、解釈方法
uranoken
0
330
Geografía y fútbol. Atlanta. la megalópolis del fútbol
juanmartin2026
1
12k
Throw Yourself In! - How I've learned English and What I'm Facing
georgeorge
1
260
AI時代のセキュリティ監査
matshogo
PRO
0
120
[2026前期火5] 論理学(京都大学文学部 前期 第11回)「ハーモニー:三層モデルと保存拡大」
yatabe
0
290
An Experiment in "Cross-Cultural Exchange" as a Method for Content Creation
naoji_taniguchi_ksk_0827
0
200
Course Review - Lecture 13 - Information Visualisation (4019538FNR)
signer
PRO
1
2.8k
Comentario del plano urbano de Madrid hasta 1860 (1ª parte )
juanmartin2026
1
71k
Réunion des directrices et directeurs des écoles de la circonscription de Jonzac - 31 août 2026
fmarot
0
130
Soluciones al examen de Geografía 2026. JULIO (Convocatoria Extraordinaria)
juanmartin2026
1
19k
良書紹介08_ 頭のいい子がやっているすごいグラフの読み方
bunnchinn3
0
160
Del ojo entrenado a la visión computacional: evaluación de la severidad de enfermedades
emdelponte
0
130
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
The SEO Collaboration Effect
kristinabergwall1
1
560
The Pragmatic Product Professional
lauravandoore
37
7.4k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
830
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
202
76k
Music & Morning Musume
bryan
47
7.4k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
670
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.9k
Unsuck your backbone
ammeep
672
58k
Six Lessons from altMBA
skipperchong
29
4.5k
Transcript
K3 Python講座 7月4日 担当:りふてくす 今日のテーマ:データクラス
前回までのおさらい ファイル操作 ファイルの読み出し――with open、.readline()、.rstrip(“”)、 for line in file:
ファイルパス――相対パスと絶対パス ファイルの書き込み――モード名(r,w,a,x,+)、 変数名.write(引数) encodingについて――文字コードの種類に注意
復習問題(L6_0.py) ファイルの中身を読み込み、画像のように行列式の 形にして新しいファイルに書き込もう 前回の講座で作成した3×3の行列式の値を求める関 数を用いて計算結果も書き込もう(L5_0.py)
復習問題解答
今回のテーマ データクラス クラスとは? データクラスとは? オブジェクトを用いた関数
メソッドとは?
Aの名前:山田 Aの年齢:20歳 Bの名前:佐藤 Bの年齢:23歳 A B ↑オブジェクト ↑属性
クラスとは何ぞや? ヒトの作り方 名前: 身長: 年齢: 性別: ・ ・ ・ ←
ク ラ ス
クラスとは何ぞや? Aさんの作り方 Aさんの名前:山田 Aさんの身長:170.5cm Aさんの年齢:20歳 Aさんの性別:男 ・ ・ ・ ⇖クラスで作成した
オブジェクト(ここではAさん) →インスタンス(実体)
オブジェクトとクラスとインスタンス オブジェクト・・・ありとあらゆる「モノ」の総称 クラス・・・設計図 インスタンス・・・クラスによって作られたオブ ジェクト
インス タンス 化 クラス インスタンス オブジェクト A B C
データクラスとは何ぞや? クラスを簡単に定義できる機能 一部の特殊なメソッドを自動生成してくれる メソッドについては後述
データクラスを使うときに 必要 クラス「Human」を 定義 インスタンス「A」「B」 を作成 出力
1行目でクラスHumanを定義 2行目以降でそれぞれの属性を定義 属性の名前: データの型
データの型 int型→整数 float型→実数 bool型→真理値(TrueとFalse) str型→文字列
インスタンスを作成 クラスと同名の関数を使って初期化できる(コンストラクタ) 引数はクラスで定義した属性を順番に指定する ① ① ② ② ③ ③
④ ④
出力 インスタンス名.属性名 (例) Aの名前→A.name Bの名前→B.name Aの身長→A.height
データクラスを使うときに 必要 クラス「Human」を 定義 インスタンス「A」「B」 を作成 出力
None
リストを利用することでインスタンスをfor文 などでまとめて扱うこともできる
例題1(L6_1.py) turtleで円を描くプログラムを配布する x,y,rを属性としたクラスCircleを作り、インス タンスをリストに入れて、for文でリストを回 すことで様々な円を描けるようにしよう (例) (20,20)を中心とした半径50の円a
(100,100)を中心とした半径100の円b (0,-100)を中心とした半径80の円c
例題1解答
オブジェクトと関数 クラスのオブジェクトを用いて 様々な関数を定義する 関数の引数には、属性、オブジェクト、 リストなど様々なものを入れることがで きる
オブジェクトを返す関数 namae(属性)を引数に取り Human(namae,23)というインスタンス を作り、それを返す関数
オブジェクトを引数に取り、見やすいよう に出力する関数
リストを引数に取り、 リスト内のオブジェクトのageが 全て23かどうかを判断する関数
リストとn(人数)を引数に取り、 リストの後ろからn人ハブる関数
例題2(L6_2.py) 属性name(str型)、height(float型)、age(int型)、male(bool型) を持つクラスHumanを作り、 オブジェクトの身長を+8cmする関数atsuzoko() オブジェクトの性別を反転する関数nekama_nenabe() オブジェクトの年齢をn歳マイナスする関数sabayomi() を作ろう
例題2解答
メソッドとは何ぞや? list=[] list.append(10) メソッド 関数とは似て非なるもの
メソッドとは何ぞや? 関数・・・print()やlen()など単体で呼び出せるもの (例) print(“Hello,world!!”) メソッド・・・append()やpop()など、 オブジェクト(変数、値、リスト、 辞書など)に付けて呼び出せるもの 宣言するときはクラスの中で (例) list.append(10)
help()という関数で、オブジェクトに対する メソッドがどう用意されているかわかる (例) list=[] help(list) とするとリストに対するメソッドがわかる
help()という関数で、オブジェクトに対する メソッドがどう用意されているかわかる (例) list=[] help(list) とするとリストに対するメソッドがわかる
メソッドの作り方 クラス外と同様defを使って宣言 第一引数にそのクラスのインスタンスを 表すオブジェクトが入る 大抵selfが使われる
None
まとめ クラスという設計図でオブジェクトを作れる クラスによって生成されたオブジェクトをインスタンスという
参考 https://qiita.com/tag1216/items/13b0323 48c893667862a (データクラスの使い方) https://gammasoft.jp/blog/difference- method-vs-function/ (クラスとメソッドの違いについて)
演習(L6_3.py) 食材名、在庫、日持ち日数を属性としたFoodクラスを作り、 オブジェクトを分かりやすく表示するためのメソッドprint_food() オブジェクトの在庫を一つ減らすメソッドreduce1stock() リスト内の日持ち日数をそれぞれ1日減らす関数nextday() を作ろう
演習解答