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
                  ​
   149   150   151   152   153   154   155   156   157   158   159