Page 155 - Em Học Python
P. 155
Ta vừa tạo ra một đối tượng và gọi nó là harry, rồi ta tạo ra một bản sao của nó và
gọi là harriet. Đây là hai đối tượng hoàn toàn khác nhau nhé, mặc dù cùng chủng loại.
Làm thế này ở đây tuy chỉ giúp tiết kiệm được tí chút công gõ code, nhưng khi các đối
trượng trở nên phức tạp hơn, có khả năng nhân bản chúng lên sẽ giúp ích nhiều lắm đấy.
Ta cũng có thể dùng copy để tạo và sao chép cả một mảng các đối tượng Animal.
>>> harry = Animal('hippogriff', 6, 'pink')
>>> carrie = Animal('chimera', 4, 'green polka dots')
>>> billy = Animal('bogill', 0, 'paisley')
>>> my_animals = [harry, carrie, billy]
>>> more_animals = copy.copy(my_animals)
>>> print(more_animals[0].species)
hippogriff
>>> print(more_animals[1].species)
chimera
Ba dòng đầu ra tạo ra ba đối tượng Animal, đặt là harry,
carrie, và billy. Dòng thứ tư ta nhét chúng hết vào mảng
my_animals. Tiếp ta sử dụng hàm copy để tạo ra một mảng mới
more_animals. Cuối cùng ta hiển thị ra giống của hai con đầu tiên
([0] và [1]) của mảng more_animals và thấy rằng chúng giống y
như mảng gốc: hippogriff và chimera. Ta vừa tạo ra bản sao của cả
một mảng mà không cần phải khởi tạo lại từng đối tượng một.
Nhưng hãy xem nếu ta thay đổi gì đó của một trong số mấy đối tượng Animal của
mảng gốc my_animals (từ hippogriff sang ghoul) thì sao nhé. Python sẽ sửa luôn ở cả
mảng more_animals đấy:
>>> my_animals[0].species = 'ghoul'
>>> print(my_animals[0].species)
ghoul
>>> print(more_animals[0].species)
ghoul
Các module hay dùng trong Python 129