SlideShare a Scribd company logo
Class
Th.S Trần Đức Lợi
Pythonvietnam.info
Ôn tập bài cũ
• Ôn lại nội dung đã học về File I/O
PythonBeginnerClass @loitd
#pythonvietnam.info
Mục đích bài học
• Tìm hiểu về Class trong python
PythonBeginnerClass @loitd
#pythonvietnam.info
Class
• Một mẫu do người dùng tự định nghĩa với
một tập hợp các thuộc tính (attributes)
• Attributes = data members (variables) +
methods
• Truy nhập thuộc tính thông qua dấu “.”
PythonBeginnerClass @loitd
#pythonvietnam.info
Class: Sample
• Dùng từ khóa class để khai báo
• class classname:
– ‘’’Docstring for class’’’
– Attributes
• Classname.__doc__
PythonBeginnerClass @loitd
#pythonvietnam.info
Class: Class variables vs Instance
variables
• Class variables:
– Dùng chung bởi các instance của class
– Định nghĩa ở trong class nhưng ngoài các method
• Instance variables:
– Khác nhau giữa các instance
– Được định nghĩa trong methods
PythonBeginnerClass @loitd
#pythonvietnam.info
Class: Method
• Function được khai báo trong khai báo của lớp
• class classname:
– ‘’’Docstring for class’’’
– Def method1(self):
• Method content
PythonBeginnerClass @loitd
#pythonvietnam.info
Class: Instance
• Một đối tượng của một class
• Person = classname()
• Person được coi là một instance của
classname
PythonBeginnerClass @loitd
#pythonvietnam.info
Class
• Ví dụ một class thực tế:
• Class People:
– ‘’’docstrings here’’’
– Pcount = 0
– Def __init__(self, name):
• Self.name = name
• People.pcount =+ 1
– Def getpopulation(self):
• Print People.pcount
PythonBeginnerClass @loitd
#pythonvietnam.info
Class: __init__()
• Một loại method đặc biệt
• Initialization method (# constructor)
• Được gọi khi khởi tạo một instance mới
• Ví dụ:
– Loi = People(‘Tran Duc Loi’)
PythonBeginnerClass @loitd
#pythonvietnam.info
Class: self
• Tất cả các method được khai báo trong class
đều có self
• Khi gọi một method python sẽ không cần khai
báo
• Xem lại ví dụ.
PythonBeginnerClass @loitd
#pythonvietnam.info
Class: Truy nhập thuộc tính
• Sử dụng “.” để truy nhập thuộc tính
• Ví dụ:
– Person. Getpopulation()
– Person.name
PythonBeginnerClass @loitd
#pythonvietnam.info
Class: bài tập
• Hãy viết chương trình Quản lý nhân sự dưới
dạng OOP
PythonBeginnerClass @loitd
#pythonvietnam.info
Class
• Hasattr(object, name)
• Getattr(object, name, default)
• Setattr(object, name, value)
• Delattr(object, name)
PythonBeginnerClass @loitd
#pythonvietnam.info
Class: __del__()
• Xóa các đối tượng không còn cần thiết
• Python tự động thực hiện garbage collection
• __del__()
• Ví dụ:
• Class People:
– ‘’’docstrings here’’’
– Pcount = 0
– Def __init__(self, name):
– Def __del(self):
PythonBeginnerClass @loitd
#pythonvietnam.info
Class: Inheritance
• Tính kế thừa trong hướng đối tượng
• Ví dụ:
– Class Children(Parent1, Parent2, …):
• ‘’’docstring’’’
• Class Children sẽ được kế thừa các thuộc tính
trong các class Parent1, …
• Class Children có thể ghi đè các thuộc tính của
class Parent1, …
PythonBeginnerClass @loitd
#pythonvietnam.info
Class: Inheritance
• Ví dụ:
• Class Parent(object):
– Age = 100
– Def __init(self):
– Def setAttr(self, value):
– Def getAttr(self):
• Class Child(Parent):
– Def __init__(self):
• Super(Child, self).__init__()
– Def childget(self):
PythonBeginnerClass @loitd
#pythonvietnam.info
Class: Polymorphism
• Overriding methods
• Cho các phương thức khác nhau ở các lớp con
khác nhau
• Hàm __init__() là một ví dụ về overriding
• Xem xét ví dụ
PythonBeginnerClass @loitd
#pythonvietnam.info
Class: Encapsulation
• Hạn chế truy cập vào các thuộc tính của đối
tượng
• Public, protected, private?
• __wheels
• Object._classname__attributename
• Python đã bảo vệ truy nhập thuộc tính đối
tượng như thế nào?
PythonBeginnerClass @loitd
#pythonvietnam.info
Class: Bài tập
• Viết module configloader, có comment trong
file dưới dạng OOP
PythonBeginnerClass @loitd
#pythonvietnam.info

More Related Content

What's hot

Python Beginner Class day-15-networking
Python Beginner Class day-15-networkingPython Beginner Class day-15-networking
Python Beginner Class day-15-networking
Khánh Nguyễn
 
Oop unit 11 input và output
Oop unit 11 input và outputOop unit 11 input và output
Oop unit 11 input và output
Tráng Hà Viết
 
Oop unit 10 ngoại lệ
Oop unit 10 ngoại lệOop unit 10 ngoại lệ
Oop unit 10 ngoại lệ
Tráng Hà Viết
 
Oop unit 02 java cơ bản
Oop unit 02 java cơ bảnOop unit 02 java cơ bản
Oop unit 02 java cơ bản
Tráng Hà Viết
 
Oop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quátOop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quát
Tráng Hà Viết
 
Oop unit 04 các kỹ thuật xây dựng lớp
Oop unit 04 các kỹ thuật xây dựng lớpOop unit 04 các kỹ thuật xây dựng lớp
Oop unit 04 các kỹ thuật xây dựng lớp
Tráng Hà Viết
 
Oop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng caoOop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng cao
Tráng Hà Viết
 
Oop unit 08 đa hình
Oop unit 08 đa hìnhOop unit 08 đa hình
Oop unit 08 đa hình
Tráng Hà Viết
 
Oop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiệnOop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiện
Tráng Hà Viết
 
Oop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừaOop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừa
Tráng Hà Viết
 
Oop unit 06 kế thừa
Oop unit 06 kế thừaOop unit 06 kế thừa
Oop unit 06 kế thừa
Tráng Hà Viết
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921
tienhien110293
 
Lesson 04 : Actionscript 3 Overview
Lesson 04 : Actionscript 3 OverviewLesson 04 : Actionscript 3 Overview
Lesson 04 : Actionscript 3 Overview
Hallo Patidu
 
Oop unit 03 xây dựng lớp
Oop unit 03 xây dựng lớpOop unit 03 xây dựng lớp
Oop unit 03 xây dựng lớp
Tráng Hà Viết
 
Bert for question answering on SQuAD 2.0
Bert for question answering on SQuAD 2.0Bert for question answering on SQuAD 2.0
Bert for question answering on SQuAD 2.0
Hoangtrungchinh Ttnct
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcm
Hong Phuoc Nguyen
 
Lappj trình hướng đối tượng
Lappj trình hướng đối tượngLappj trình hướng đối tượng
Lappj trình hướng đối tượng
Hưởng Nguyễn
 

What's hot (20)

Python Beginner Class day-15-networking
Python Beginner Class day-15-networkingPython Beginner Class day-15-networking
Python Beginner Class day-15-networking
 
Oop unit 11 input và output
Oop unit 11 input và outputOop unit 11 input và output
Oop unit 11 input và output
 
Oop unit 10 ngoại lệ
Oop unit 10 ngoại lệOop unit 10 ngoại lệ
Oop unit 10 ngoại lệ
 
Oop unit 02 java cơ bản
Oop unit 02 java cơ bảnOop unit 02 java cơ bản
Oop unit 02 java cơ bản
 
Oop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quátOop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quát
 
Oop unit 04 các kỹ thuật xây dựng lớp
Oop unit 04 các kỹ thuật xây dựng lớpOop unit 04 các kỹ thuật xây dựng lớp
Oop unit 04 các kỹ thuật xây dựng lớp
 
Oop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng caoOop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng cao
 
Oop unit 08 đa hình
Oop unit 08 đa hìnhOop unit 08 đa hình
Oop unit 08 đa hình
 
Oop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiệnOop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiện
 
On thitotnghiep
On thitotnghiepOn thitotnghiep
On thitotnghiep
 
Oop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừaOop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừa
 
Oop unit 06 kế thừa
Oop unit 06 kế thừaOop unit 06 kế thừa
Oop unit 06 kế thừa
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921
 
Lesson 04 : Actionscript 3 Overview
Lesson 04 : Actionscript 3 OverviewLesson 04 : Actionscript 3 Overview
Lesson 04 : Actionscript 3 Overview
 
Bai11
Bai11Bai11
Bai11
 
Oop unit 03 xây dựng lớp
Oop unit 03 xây dựng lớpOop unit 03 xây dựng lớp
Oop unit 03 xây dựng lớp
 
Bert for question answering on SQuAD 2.0
Bert for question answering on SQuAD 2.0Bert for question answering on SQuAD 2.0
Bert for question answering on SQuAD 2.0
 
7 stl c++
7   stl c++7   stl c++
7 stl c++
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcm
 
Lappj trình hướng đối tượng
Lappj trình hướng đối tượngLappj trình hướng đối tượng
Lappj trình hướng đối tượng
 

Viewers also liked

Chuyen de flask -- pythonvietnam.info
Chuyen de flask  -- pythonvietnam.info Chuyen de flask  -- pythonvietnam.info
Chuyen de flask -- pythonvietnam.info
Khánh Nguyễn
 
Slide Python Bai 2 pythonvietnam.info
Slide Python Bai 2   pythonvietnam.infoSlide Python Bai 2   pythonvietnam.info
Slide Python Bai 2 pythonvietnam.info
Khánh Nguyễn
 
Bai 1 pythonvietnam.info
Bai 1   pythonvietnam.infoBai 1   pythonvietnam.info
Bai 1 pythonvietnam.info
Khánh Nguyễn
 
Bai giang cau truc may tinh40
Bai giang cau truc may tinh40Bai giang cau truc may tinh40
Bai giang cau truc may tinh40Phi Phi
 
Bottle web framwork for python
Bottle web framwork for pythonBottle web framwork for python
Bottle web framwork for python
Khánh Nguyễn
 
Lập trình Python GUI vs PySide
Lập trình Python GUI vs PySideLập trình Python GUI vs PySide
Lập trình Python GUI vs PySide
Chien Dang
 
Git Using - pythonvietnam.info
Git Using - pythonvietnam.infoGit Using - pythonvietnam.info
Git Using - pythonvietnam.info
Khánh Nguyễn
 
Minecraft in 500 lines of Python with Pyglet
Minecraft in 500 lines of Python with PygletMinecraft in 500 lines of Python with Pyglet
Minecraft in 500 lines of Python with Pyglet
Richard Donkin
 
The Adventures of Mike, How to Use Scratch 2.0 to Program Your Game
The Adventures of Mike, How to Use Scratch 2.0 to Program Your GameThe Adventures of Mike, How to Use Scratch 2.0 to Program Your Game
The Adventures of Mike, How to Use Scratch 2.0 to Program Your Game
Una Tao
 
Creative Teaching with Scratch
Creative Teaching with ScratchCreative Teaching with Scratch
Creative Teaching with Scratch
Douglas Kiang
 

Viewers also liked (10)

Chuyen de flask -- pythonvietnam.info
Chuyen de flask  -- pythonvietnam.info Chuyen de flask  -- pythonvietnam.info
Chuyen de flask -- pythonvietnam.info
 
Slide Python Bai 2 pythonvietnam.info
Slide Python Bai 2   pythonvietnam.infoSlide Python Bai 2   pythonvietnam.info
Slide Python Bai 2 pythonvietnam.info
 
Bai 1 pythonvietnam.info
Bai 1   pythonvietnam.infoBai 1   pythonvietnam.info
Bai 1 pythonvietnam.info
 
Bai giang cau truc may tinh40
Bai giang cau truc may tinh40Bai giang cau truc may tinh40
Bai giang cau truc may tinh40
 
Bottle web framwork for python
Bottle web framwork for pythonBottle web framwork for python
Bottle web framwork for python
 
Lập trình Python GUI vs PySide
Lập trình Python GUI vs PySideLập trình Python GUI vs PySide
Lập trình Python GUI vs PySide
 
Git Using - pythonvietnam.info
Git Using - pythonvietnam.infoGit Using - pythonvietnam.info
Git Using - pythonvietnam.info
 
Minecraft in 500 lines of Python with Pyglet
Minecraft in 500 lines of Python with PygletMinecraft in 500 lines of Python with Pyglet
Minecraft in 500 lines of Python with Pyglet
 
The Adventures of Mike, How to Use Scratch 2.0 to Program Your Game
The Adventures of Mike, How to Use Scratch 2.0 to Program Your GameThe Adventures of Mike, How to Use Scratch 2.0 to Program Your Game
The Adventures of Mike, How to Use Scratch 2.0 to Program Your Game
 
Creative Teaching with Scratch
Creative Teaching with ScratchCreative Teaching with Scratch
Creative Teaching with Scratch
 

Similar to Python Beginner Class day-10-class

[Cntt] bài giảng java khtn hcm
[Cntt] bài giảng java   khtn hcm[Cntt] bài giảng java   khtn hcm
[Cntt] bài giảng java khtn hcm
Hong Phuoc Nguyen
 
[Cntt] all java
[Cntt] all java[Cntt] all java
[Cntt] all java
Hong Phuoc Nguyen
 
Ky thuat l.trinh_java
Ky thuat l.trinh_javaKy thuat l.trinh_java
Ky thuat l.trinh_javaLam Man
 
LTJAVA_TV_Slides.ppt
LTJAVA_TV_Slides.pptLTJAVA_TV_Slides.ppt
LTJAVA_TV_Slides.ppt
ssuserf603dc1
 
Bai1_GioiThieuOOP.pptx
Bai1_GioiThieuOOP.pptxBai1_GioiThieuOOP.pptx
Bai1_GioiThieuOOP.pptx
HLan34
 
02 chuong2-laydulieutheocachconnected-140404114611-phpapp02
02 chuong2-laydulieutheocachconnected-140404114611-phpapp0202 chuong2-laydulieutheocachconnected-140404114611-phpapp02
02 chuong2-laydulieutheocachconnected-140404114611-phpapp02
huynhtrong774129
 
02 chuong 2 - lay du lieu theo cach connected
02   chuong 2 - lay du lieu theo cach connected02   chuong 2 - lay du lieu theo cach connected
02 chuong 2 - lay du lieu theo cach connected
truong le hung
 
Ket tap, ke thua
Ket tap, ke thuaKet tap, ke thua
Ket tap, ke thua
Tuan Do
 
7 stl c++
7   stl c++7   stl c++
7 stl c++qnv95
 
Lesson 06 : OOP and Access modifier
Lesson 06 : OOP and Access modifierLesson 06 : OOP and Access modifier
Lesson 06 : OOP and Access modifier
Hallo Patidu
 
Pplthdt c02 lop_doi_tuong_v13.09a
Pplthdt c02 lop_doi_tuong_v13.09aPplthdt c02 lop_doi_tuong_v13.09a
Pplthdt c02 lop_doi_tuong_v13.09aPix Nhox
 
Linq n hibernate net-tier
Linq n hibernate net-tierLinq n hibernate net-tier
Linq n hibernate net-tierNguyen Tran
 
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT.pptx
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT.pptxCẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT.pptx
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT.pptx
VuDuong69
 
03 chuong 3 - data sets
03   chuong 3 - data sets03   chuong 3 - data sets
03 chuong 3 - data sets
truong le hung
 
03 chuong3-datasets-140404114719-phpapp02
03 chuong3-datasets-140404114719-phpapp0203 chuong3-datasets-140404114719-phpapp02
03 chuong3-datasets-140404114719-phpapp02
huynhtrong774129
 

Similar to Python Beginner Class day-10-class (17)

[Cntt] bài giảng java khtn hcm
[Cntt] bài giảng java   khtn hcm[Cntt] bài giảng java   khtn hcm
[Cntt] bài giảng java khtn hcm
 
[Cntt] all java
[Cntt] all java[Cntt] all java
[Cntt] all java
 
Ky thuat l.trinh_java
Ky thuat l.trinh_javaKy thuat l.trinh_java
Ky thuat l.trinh_java
 
LTJAVA_TV_Slides.ppt
LTJAVA_TV_Slides.pptLTJAVA_TV_Slides.ppt
LTJAVA_TV_Slides.ppt
 
Bai1_GioiThieuOOP.pptx
Bai1_GioiThieuOOP.pptxBai1_GioiThieuOOP.pptx
Bai1_GioiThieuOOP.pptx
 
02 chuong2-laydulieutheocachconnected-140404114611-phpapp02
02 chuong2-laydulieutheocachconnected-140404114611-phpapp0202 chuong2-laydulieutheocachconnected-140404114611-phpapp02
02 chuong2-laydulieutheocachconnected-140404114611-phpapp02
 
02 chuong 2 - lay du lieu theo cach connected
02   chuong 2 - lay du lieu theo cach connected02   chuong 2 - lay du lieu theo cach connected
02 chuong 2 - lay du lieu theo cach connected
 
Ket tap, ke thua
Ket tap, ke thuaKet tap, ke thua
Ket tap, ke thua
 
7 stl c++
7   stl c++7   stl c++
7 stl c++
 
Lesson 06 : OOP and Access modifier
Lesson 06 : OOP and Access modifierLesson 06 : OOP and Access modifier
Lesson 06 : OOP and Access modifier
 
Pplthdt c02 lop_doi_tuong_v13.09a
Pplthdt c02 lop_doi_tuong_v13.09aPplthdt c02 lop_doi_tuong_v13.09a
Pplthdt c02 lop_doi_tuong_v13.09a
 
D05 stl
D05 stlD05 stl
D05 stl
 
Thu vien chuan c++
Thu vien chuan c++Thu vien chuan c++
Thu vien chuan c++
 
Linq n hibernate net-tier
Linq n hibernate net-tierLinq n hibernate net-tier
Linq n hibernate net-tier
 
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT.pptx
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT.pptxCẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT.pptx
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT.pptx
 
03 chuong 3 - data sets
03   chuong 3 - data sets03   chuong 3 - data sets
03 chuong 3 - data sets
 
03 chuong3-datasets-140404114719-phpapp02
03 chuong3-datasets-140404114719-phpapp0203 chuong3-datasets-140404114719-phpapp02
03 chuong3-datasets-140404114719-phpapp02
 

Recently uploaded

Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
duykhoacao
 
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptxDẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
nvlinhchi1612
 
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTUChuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
nvlinhchi1612
 
Quan Tri Doi Moi Sang Tao_ Innovation Management
Quan Tri Doi Moi Sang Tao_ Innovation ManagementQuan Tri Doi Moi Sang Tao_ Innovation Management
Quan Tri Doi Moi Sang Tao_ Innovation Management
ChuPhan32
 
Ngân hàng điện tử số ptit - giảng viên cô Hà
Ngân hàng điện tử số ptit - giảng viên cô HàNgân hàng điện tử số ptit - giảng viên cô Hà
Ngân hàng điện tử số ptit - giảng viên cô Hà
onLongV
 
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
chinhkt50
 
Chương 3 Linh kien ban dan và KD dien tu - Copy.ppt
Chương 3 Linh kien ban dan và KD dien tu - Copy.pptChương 3 Linh kien ban dan và KD dien tu - Copy.ppt
Chương 3 Linh kien ban dan và KD dien tu - Copy.ppt
PhiTrnHngRui
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
Nguyen Thanh Tu Collection
 
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
nhanviet247
 
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docxHỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
giangnguyen312210254
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
ngocnguyensp1
 
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsgSinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
vivan030207
 

Recently uploaded (12)

Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
 
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptxDẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
 
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTUChuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
 
Quan Tri Doi Moi Sang Tao_ Innovation Management
Quan Tri Doi Moi Sang Tao_ Innovation ManagementQuan Tri Doi Moi Sang Tao_ Innovation Management
Quan Tri Doi Moi Sang Tao_ Innovation Management
 
Ngân hàng điện tử số ptit - giảng viên cô Hà
Ngân hàng điện tử số ptit - giảng viên cô HàNgân hàng điện tử số ptit - giảng viên cô Hà
Ngân hàng điện tử số ptit - giảng viên cô Hà
 
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
 
Chương 3 Linh kien ban dan và KD dien tu - Copy.ppt
Chương 3 Linh kien ban dan và KD dien tu - Copy.pptChương 3 Linh kien ban dan và KD dien tu - Copy.ppt
Chương 3 Linh kien ban dan và KD dien tu - Copy.ppt
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
 
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
 
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docxHỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
 
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsgSinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
 

Python Beginner Class day-10-class

  • 1. Class Th.S Trần Đức Lợi Pythonvietnam.info
  • 2. Ôn tập bài cũ • Ôn lại nội dung đã học về File I/O PythonBeginnerClass @loitd #pythonvietnam.info
  • 3. Mục đích bài học • Tìm hiểu về Class trong python PythonBeginnerClass @loitd #pythonvietnam.info
  • 4. Class • Một mẫu do người dùng tự định nghĩa với một tập hợp các thuộc tính (attributes) • Attributes = data members (variables) + methods • Truy nhập thuộc tính thông qua dấu “.” PythonBeginnerClass @loitd #pythonvietnam.info
  • 5. Class: Sample • Dùng từ khóa class để khai báo • class classname: – ‘’’Docstring for class’’’ – Attributes • Classname.__doc__ PythonBeginnerClass @loitd #pythonvietnam.info
  • 6. Class: Class variables vs Instance variables • Class variables: – Dùng chung bởi các instance của class – Định nghĩa ở trong class nhưng ngoài các method • Instance variables: – Khác nhau giữa các instance – Được định nghĩa trong methods PythonBeginnerClass @loitd #pythonvietnam.info
  • 7. Class: Method • Function được khai báo trong khai báo của lớp • class classname: – ‘’’Docstring for class’’’ – Def method1(self): • Method content PythonBeginnerClass @loitd #pythonvietnam.info
  • 8. Class: Instance • Một đối tượng của một class • Person = classname() • Person được coi là một instance của classname PythonBeginnerClass @loitd #pythonvietnam.info
  • 9. Class • Ví dụ một class thực tế: • Class People: – ‘’’docstrings here’’’ – Pcount = 0 – Def __init__(self, name): • Self.name = name • People.pcount =+ 1 – Def getpopulation(self): • Print People.pcount PythonBeginnerClass @loitd #pythonvietnam.info
  • 10. Class: __init__() • Một loại method đặc biệt • Initialization method (# constructor) • Được gọi khi khởi tạo một instance mới • Ví dụ: – Loi = People(‘Tran Duc Loi’) PythonBeginnerClass @loitd #pythonvietnam.info
  • 11. Class: self • Tất cả các method được khai báo trong class đều có self • Khi gọi một method python sẽ không cần khai báo • Xem lại ví dụ. PythonBeginnerClass @loitd #pythonvietnam.info
  • 12. Class: Truy nhập thuộc tính • Sử dụng “.” để truy nhập thuộc tính • Ví dụ: – Person. Getpopulation() – Person.name PythonBeginnerClass @loitd #pythonvietnam.info
  • 13. Class: bài tập • Hãy viết chương trình Quản lý nhân sự dưới dạng OOP PythonBeginnerClass @loitd #pythonvietnam.info
  • 14. Class • Hasattr(object, name) • Getattr(object, name, default) • Setattr(object, name, value) • Delattr(object, name) PythonBeginnerClass @loitd #pythonvietnam.info
  • 15. Class: __del__() • Xóa các đối tượng không còn cần thiết • Python tự động thực hiện garbage collection • __del__() • Ví dụ: • Class People: – ‘’’docstrings here’’’ – Pcount = 0 – Def __init__(self, name): – Def __del(self): PythonBeginnerClass @loitd #pythonvietnam.info
  • 16. Class: Inheritance • Tính kế thừa trong hướng đối tượng • Ví dụ: – Class Children(Parent1, Parent2, …): • ‘’’docstring’’’ • Class Children sẽ được kế thừa các thuộc tính trong các class Parent1, … • Class Children có thể ghi đè các thuộc tính của class Parent1, … PythonBeginnerClass @loitd #pythonvietnam.info
  • 17. Class: Inheritance • Ví dụ: • Class Parent(object): – Age = 100 – Def __init(self): – Def setAttr(self, value): – Def getAttr(self): • Class Child(Parent): – Def __init__(self): • Super(Child, self).__init__() – Def childget(self): PythonBeginnerClass @loitd #pythonvietnam.info
  • 18. Class: Polymorphism • Overriding methods • Cho các phương thức khác nhau ở các lớp con khác nhau • Hàm __init__() là một ví dụ về overriding • Xem xét ví dụ PythonBeginnerClass @loitd #pythonvietnam.info
  • 19. Class: Encapsulation • Hạn chế truy cập vào các thuộc tính của đối tượng • Public, protected, private? • __wheels • Object._classname__attributename • Python đã bảo vệ truy nhập thuộc tính đối tượng như thế nào? PythonBeginnerClass @loitd #pythonvietnam.info
  • 20. Class: Bài tập • Viết module configloader, có comment trong file dưới dạng OOP PythonBeginnerClass @loitd #pythonvietnam.info