Page 154 - Em Học Python
P. 154
TẠO CÁC BẢN SAO VỚI MODULE COPY
Module copy có chứa các hàm để tạo ra bản sao
của các đối tượng. Thông thường trong lúc lập trình,
em hay tạo ra các đối tượng mới, nhưng thi thoảng
cũng có những lúc lại cần sao chép các đối tượng này,
rồi lại dùng bản sao này đi tạo các đối tượng khác,
nhất là những trường hợp để tạo đối tượng cần phải
trải qua nhiều bước.
Ví dụ, giả sử ta có lớp Animal, với hàm khởi tạo
__init__ nhận các tham số gồm species (chủng loại),
number_of_legs (số chân), và color (màu sắc):
>>> class Animal:
def __init__(self, species, number_of_legs, color):
self.species = species
self.number_of_legs = number_of_legs
self.color = color
Ta có thể tạo ra một đối tượng mới trong lớp Animal dùng đoạn code sau. Thử tạo
một con Bằng Mã sáu chân màu hồng đặt tên là harry nhé:
>>> harry = Animal('hippogriff', 6, 'pink')
Giả sử ta muốn tạo ra một đàn Bằng Mã sáu chân thì sao? Ta có thể lặp đi lặp lại
đoạn code trên, hoặc là dùng hàm copy ở trong module copy:
>>> import copy
>>> harry = Animal('hippogriff', 6, 'pink')
>>> harriet = copy.copy(harry)
>>> print(harry.species)
hippogriff
>>> print(harriet.species)
hippogriff
128 Chương 10