Mô-đun python có thể chứa lớp không?

Trong các ngôn ngữ máy tính hướng đối tượng như Python, các lớp về cơ bản là một khuôn mẫu để tạo các đối tượng của riêng bạn. Các đối tượng là sự đóng gói của các biến và hàm thành một thực thể duy nhất. Các đối tượng lấy các biến và hàm của chúng từ các lớp

Nói gì cơ?

Dưới đây là một số ví dụ sẽ giúp bạn hiểu — hãy đọc tiếp. Ngoài ra còn có một vỏ mã tương tác, chỉ cần nhấn nút “Chạy” ở đầu cửa sổ cụ thể

Cách đơn giản nhất để mô tả các lớp và cách sử dụng chúng là

Hãy tưởng tượng bạn có sức mạnh to lớn. Bạn tạo một loài (“lớp”)

Sau đó, bạn tạo các thuộc tính cho loài đó (“thuộc tính”) — chiều cao, cân nặng, tứ chi, màu sắc, sức mạnh, v.v.

Sau đó, bạn tạo một thể hiện của loài đó — chó Fido, Drogon từ Game of Thrones, v.v. Sau đó, bạn làm việc với những trường hợp này

  • Ví dụ, trong một trò chơi, họ sẽ tham gia vào hành động, tương tác, sử dụng các thuộc tính của họ
  • Trong một ứng dụng ngân hàng, chúng sẽ là các giao dịch khác nhau
  • Trong một ứng dụng mua/bán/trao đổi/cho thuê phương tiện, loại phương tiện sau đó có thể sinh ra các lớp con như ô tô. Mỗi cái sẽ có các thuộc tính như số dặm, tùy chọn, tính năng, màu sắc và trang trí

Bạn đã có thể thấy lý do tại sao điều này là hữu ích. Bạn đang tạo, tái sử dụng, điều chỉnh và cải thiện các mục theo cách rất hiệu quả, hợp lý và hữu ích

Đến đây, có lẽ bạn đã nhận ra rằng đây là một cách phân loại và nhóm, một cách tương tự như cách con người học.

  • Động vật là những sinh vật sống không phải là con người hay cây cối, theo nghĩa cơ bản
  • sau đó bạn chuyển sang các loại động vật khác nhau - chó, mèo có lẽ là những động vật đầu tiên mà hầu hết chúng ta tìm hiểu về
  • sau đó bạn di chuyển đến các thuộc tính khác nhau của động vật - hình dạng, kích thước, âm thanh, phần phụ, v.v.

Ví dụ, khi bạn còn là một đứa trẻ, hiểu biết đầu tiên của bạn về con chó có lẽ là một con vật có bốn chân biết sủa. Sau đó, bạn đã học cách phân biệt rằng một số là chó thật, một số khác là đồ chơi. Rằng khái niệm “con chó” này có nhiều loại

Việc tạo và sử dụng các lớp về cơ bản là

  • xây dựng một mẫu để đưa “mọi thứ” vào - một phân loại
  • mà sau đó có thể được vận hành trên. Ví dụ: gọi tất cả những người có nuôi chó mà bạn có thể yêu cầu liên kết đến một blog về thú cưng hoặc tất cả các khách hàng ngân hàng có thể là khách hàng tiềm năng tốt cho một thẻ tín dụng mới

Điểm chính ở đây là các lớp là các đối tượng có thể tạo ra các thể hiện của các mẫu đó, trên đó có thể áp dụng các thao tác và phương thức. Đó là một cách tuyệt vời để khái niệm hóa, tổ chức và xây dựng hệ thống phân cấp cho bất kỳ tổ chức hoặc quy trình nào

Khi thế giới của chúng ta trở nên phức tạp hơn, đây là một cách để bắt chước sự phức tạp đó từ góc độ thứ bậc. Nó cũng xây dựng sự hiểu biết sâu sắc hơn về các quy trình và tương tác cho các cài đặt kinh doanh, kỹ thuật và xã hội từ điểm công nghệ thông tin ảo

Một ví dụ có thể là trò chơi điện tử bạn tạo. Mỗi ký tự có thể là một “lớp”, với các thuộc tính riêng, tương tác với các thể hiện của các lớp khác. Vua George của lớp “King” có thể tương tác với Court Jester Funnyman của lớp “Chú hề”, v.v. Ví dụ, một vị Vua có thể có một lớp "người hầu" hoàng gia và một lớp "người hầu" sẽ luôn có một lớp "Vua"

Đây là những gì chúng ta sẽ làm

  • tạo một lớp và sử dụng nó
  • tạo một mô-đun và di chuyển việc tạo và khởi tạo lớp sang mô-đun
  • gọi mô-đun trong một chương trình mới để sử dụng lớp

Mã có sẵn trong GitHub tại đây

#TSB - Create Class in Python - rocket positions (x,y) and graph
#some items and comments bolded to call attention to processimport matplotlib.pyplot as plt
class Rocket():  def __init__(self, x=0, y=0):    #each rocket has (x,y) position; user or calling function has choice    #of passing in x and y values, or by default they are set at 0    self.x = x    self.y = y      def move_up(self):    self.y += 1      def move_down(self):    self.y -= 1      def move_right(self):    self.x += 1      def move_left(self):    self.x -= 1
#Make a series of rockets - x,y positions, I am calling it rocketrockets=[]rockets.append(Rocket())rockets.append(Rocket(0,2))rockets.append(Rocket(1,4))rockets.append(Rocket(2,6))rockets.append(Rocket(3,7))rockets.append(Rocket(5,9))rockets.append(Rocket(8, 15))  #Show on a graph where each rocket is
for index, rocket in enumerate(rockets):  #original position of rockets  print("Rocket %d is at (%d, %d)." % (index, rocket.x, rocket.y))  plt.plot(rocket.x, rocket.y, 'ro', linewidth=2, linestyle='dashed', markersize=12)  #move the 'rocket' one up  rocket.move_up()  print("New Rocket position %d is at (%d, %d)." % (index, rocket.x, rocket.y))  #plot the new position  plt.plot(rocket.x, rocket.y, 'bo', linewidth=2, linestyle='dashed', markersize=12)  #move the rocket left, then plot the new position  rocket.move_left()  plt.plot(rocket.x, rocket.y, 'yo', linewidth=2, linestyle='dashed', markersize=12)
#show graph legend to match colors with positionplt.gca().legend(('original position','^ - Moved up', '< - Moved left'))plt.show()#plt.legend(loc='upper left')
Mô-đun python có thể chứa lớp không?
Đầu ra từ đoạn mã trên, sử dụng lớp Python

Bây giờ chúng ta hãy tạo một mô-đun và di chuyển một số mã ở trên vào mô-đun. Bất cứ khi nào chúng ta cần tạo tập tọa độ x, y đơn giản này trong bất kỳ chương trình nào, chúng ta có thể sử dụng mô-đun để làm như vậy

Mô-đun là gì và tại sao chúng ta cần nó?

Một mô-đun là một tệp chứa các định nghĩa và câu lệnh Python. Mô-đun là mã Python có thể được gọi từ các chương trình khác cho các tác vụ thường được sử dụng mà không cần phải nhập chúng vào từng chương trình sử dụng chúng

Ví dụ: khi bạn gọi “matplotlib. plot”, bạn đang gọi một mô-đun gói. Nếu bạn không có mô-đun này, bạn sẽ phải xác định chức năng vẽ đồ thị trong mọi chương trình sử dụng biểu đồ đồ thị

Từ tài liệu Python

Nếu bạn thoát khỏi trình thông dịch Python và nhập lại, các định nghĩa bạn đã tạo (hàm và biến) sẽ bị mất. Do đó, nếu bạn muốn viết một chương trình dài hơn một chút, tốt hơn hết bạn nên sử dụng trình soạn thảo văn bản để chuẩn bị đầu vào cho trình thông dịch và chạy nó với tệp đó làm đầu vào thay thế. Điều này được gọi là tạo một kịch bản. Khi chương trình của bạn dài hơn, bạn có thể muốn chia nó thành nhiều tệp để bảo trì dễ dàng hơn. Bạn cũng có thể muốn sử dụng một chức năng tiện dụng mà bạn đã viết trong một số chương trình mà không cần sao chép định nghĩa của nó vào từng chương trình
Để hỗ trợ điều này, Python có một cách để đưa các định nghĩa vào một tệp và sử dụng chúng trong một tập lệnh hoặc trong một phiên bản tương tác của trình thông dịch. Một tệp như vậy được gọi là một mô-đun;

Đây là mô-đun đơn giản của chúng tôi. Cần phải tạo lớp và các hàm để chuyển một thể hiện của lớp đó từ chương trình trên sang lớp riêng của nó. Sau đó, chúng tôi sẽ sử dụng điều này trong một chương trình mới chỉ bằng cách gọi và tham chiếu mô-đun này

Lưu ý những gì chúng tôi đã làm ở trên

  • đã tạo và khởi tạo lớp
  • đã tạo một hàm để di chuyển một thể hiện của lớp theo bốn hướng chính (lên, xuống, phải, trái) và các hướng tăng dần — dưới dạng tham số hoặc đối số cho hàm
  • đã tạo một hàm khác để tính khoảng cách giữa hai phiên bản của lớp, sử dụng công thức khoảng cách đồ thị

Đây là cách chúng tôi sẽ sử dụng mô-đun mới để viết lại cùng một chương trình từ phần đầu tiên. Lưu ý trong phần nhập lúc đầu, bây giờ chúng ta nhập mô-đun simple_module1 mà chúng ta vừa tạo

Đây là đầu ra từ mã sử dụng mô-đun của chúng tôi. Lưu ý rằng chúng giống nhau, ngoại trừ tiêu đề biểu đồ và hình dạng của các điểm đánh dấu vị trí mà tôi đã thay đổi cho mục đích so sánh

Mô-đun python có thể chứa lớp không?
Đầu ra từ mã từ việc tạo và gọi mô-đun của riêng chúng tôi.
Mô-đun python có thể chứa lớp không?
So sánh giữa tệp gốc bên trái (tạo lớp, sử dụng nó) và chức năng tương tự khi sử dụng một mô-đun, bên phải
Mô-đun python có thể chứa lớp không?
So sánh kết quả đầu ra. Ở bên phải, tôi thay đổi hình dạng điểm đánh dấu để phân biệt, nhưng các vị trí không thay đổi.

Điều đó thật tuyệt, bạn có thể nói - một số cách sử dụng khác cho việc này là gì? . Một lớp khách hàng có thể chứa tên và chi tiết liên hệ và — quan trọng hơn — lớp tài khoản sẽ có các yếu tố gửi và rút tiền

Điều này được đơn giản hóa quá mức, nhưng với mục đích minh họa, nó rất hữu ích. Thế là xong — tạo một mẫu, sau đó xác định các phiên bản của mẫu đó với các chi tiết (thuộc tính) và thêm giá trị bằng cách cộng, trừ, sửa đổi, di chuyển và sử dụng các phiên bản này cho các mục tiêu chương trình của bạn

Vẫn còn băn khoăn về các lớp học? . Chúng ta sẽ gọi lớp này là “Người”. Nó chỉ có hai thuộc tính - tên và tuổi. Sau đó, chúng tôi sẽ thêm một ví dụ về điều này với tên và tuổi của một người và in nó. Tùy thuộc vào mục tiêu của bạn là gì, bạn có thể hình dung tất cả các chi tiết khác mà bạn có thể thêm vào — ví dụ: tình trạng hôn nhân và tùy chọn vị trí cho ứng dụng mạng xã hội, kinh nghiệm làm việc trong nhiều năm và chuyên môn ngành cho ứng dụng liên quan đến nghề nghiệp. Nhấn vào hình tam giác nhỏ bên dưới để xem nó hoạt động

Vì vậy, có bạn có nó. Bạn có thể tạo nhiều lớp khác nhau, có lớp cha, lớp con, v.v. Cảm ơn vì đã đọc - hãy vỗ tay nếu bạn thích nó. Dưới đây là một số tài liệu tham khảo khác nếu bạn muốn tìm hiểu thêm

  • Tài liệu Python — Lớp học
  • Hướng đối tượng Python — Điểm hướng dẫn
  • Các lớp và đối tượng — learnpython. tổ chức

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Nếu bài viết này hữu ích, hãy tweet nó

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Mô-đun CAN có chứa các lớp không?

Mô-đun là tập hợp các phương thức và hằng số. Vì vậy, vâng, Toán học là một Mô-đun Ruby. Là tập hợp các mã có thể tái sử dụng (còn gọi là thư viện), Các mô-đun có thể có các lớp bên trong chúng , trong khi các lớp không thể có các lớp khác bên trong.

Mô-đun và lớp có giống nhau trong python không?

Một mô-đun có thể có 0 hoặc một hoặc nhiều lớp. Một lớp có thể được triển khai trong một hoặc nhiều. tệp py (mô-đun) . Nhưng thông thường, chúng ta có thể tổ chức một tập hợp các biến và hàm thành một định nghĩa lớp hoặc đơn giản là đặt chúng trong một.

Bạn có thể nhập một lớp từ mô-đun python không?

Câu lệnh nhập cho phép chúng tôi nhập mã từ các tệp hoặc mô-đun khác vào tệp hiện tại . Có thể coi nó như một liên kết cho phép chúng ta truy cập các thuộc tính hoặc phương thức của lớp từ các tệp khác và sử dụng chúng. trong đó moduleName là mô-đun mà bạn muốn nhập.

Bạn có thể bao gồm những gì trong mô-đun python?

Các mô-đun có thể định nghĩa hàm, lớp và biến mà bạn có thể tham khảo trong Python khác. py hoặc thông qua trình thông dịch dòng lệnh Python. Trong Python, các mô-đun được truy cập bằng cách sử dụng câu lệnh nhập.