Có một lớp điểm trong python?

Chúng ta đã thấy rằng mỗi giá trị trong Python có một kiểu. một số nguyên, một số dấu phẩy động, một Boolean, một chuỗi, một danh sách, một bộ, một từ điển hoặc một bộ xử lý tệp. Tuy nhiên, khi viết các chương trình lớn hơn, sẽ rất hữu ích khi phát triển các loại của riêng chúng ta, để chúng ta có thể suy nghĩ về cách thao tác với những thứ cụ thể cho ứng dụng của mình, như khách hàng hoặc kho hàng.

Sử dụng các lớp

Phát triển phần mềm bằng cách phát triển các kiểu mới được gọi là lập trình hướng đối tượng. Lập trình hướng đối tượng liên quan đến việc hiểu một số thuật ngữ mới. Đầu tiên, một lớp là loại do người dùng định nghĩa, xác định các thuộc tính mà mỗi giá trị của loại đó có. Một giá trị riêng lẻ của loại lớp được gọi là một thể hiện hoặc đối tượng [hai thuật ngữ này đồng nghĩa với nhau]. Mỗi phiên bản sẽ có một số giá trị được đặt tên cung cấp thông tin về phiên bản đó, mỗi giá trị được gọi là thuộc tính dữ liệu. Và các phiên bản sẽ có các phương thức, về cơ bản là các chức năng mà phiên bản đó có thể thực hiện;

Như một ví dụ về một lớp trong Python, giả sử chúng ta muốn xác định một loại để biểu diễn các điểm, được gọi là Point. Chúng ta sẽ tìm hiểu cách định nghĩa một lớp sau, nhưng bây giờ hãy tập trung vào cách chúng ta có thể muốn sử dụng các điểm.

o = Point[]           # create point at [0,0]
print[o.x]            # access o's x-coordinate: 0

p = Point[]           # create point that we move to [5, 5]
p.move_to[5, 5]

p.move_up[7]          # move point p to [5, 12]
print[p.y]            # access p's y-coordinate: 12

d = o.distance_to[p]  # compute distance between both points
print[d]

Dòng đầu tiên tạo một đối tượng Point riêng lẻ. “Gọi” lớp như thể nó là một hàm tạo ra một thể hiện mới của lớp. Khi điều đó xảy ra, mỗi phiên bản Point có hai thuộc tính dữ liệu, tọa độ x và tọa độ y, được đặt tên đủ thích hợp là xy. Vì vậy, nếu o đề cập đến một trường hợp riêng lẻ, tôi có thể truy xuất tọa độ x của o bằng cách sử dụng append1

Lớp Point cũng định nghĩa một số phương thức mà mỗi điểm riêng lẻ có thể thực hiện. Một phương thức, tên là append3, chỉ cần di chuyển điểm đến tọa độ có tên trong tham số. Một cái khác, tên là append4, thêm các tham số vào tọa độ x và y của điểm. Và cuối cùng, phương thức append5 lấy một điểm khác làm tham số và trả về khoảng cách giữa hai điểm đó

Định nghĩa các lớp

Đoạn mã trên sẽ không hoạt động trừ khi chúng ta thực sự có một lớp Point. Trong thực tế, chúng ta phải tạo ra nó. Sau đây là một ví dụ

append7

append8

Chúng tôi định nghĩa lớp bắt đầu bằng một khai báo append9, theo sau là tên của lớp chúng tôi đang xác định. Bên trong append9 là danh sách một số “hàm” thực sự tương ứng với các phương thức của lớp

Một phương thức có tên Point1 [lưu ý dấu gạch dưới kép ở cả hai bên] được gọi là hàm tạo. Nó có chức năng đặc biệt. Phương thức này được thực thi ngay khi tạo một đối tượng mới. Khi chúng ta nói “Point2”, đầu tiên Python sẽ phân bổ bộ nhớ cho đối tượng và sau đó nhập hàm tạo, chuyển đối tượng mới được tạo làm tham số đầu tiên. Công việc của hàm tạo là gán các giá trị ban đầu cho từng thuộc tính dữ liệu của đối tượng

Trong trường hợp này, hàm tạo muốn khởi tạo hai thuộc tính của mỗi điểm, xy. Lưu ý cách chúng tôi sử dụng cú pháp Point5 để tham chiếu đến thuộc tính dữ liệu. Thay vào đó, nếu chúng ta viết “Point6”, chúng ta sẽ chỉ tạo một biến cục bộ sẽ biến mất ngay sau khi chức năng kết thúc. Nhưng khi chúng tôi viết Point5, chúng tôi đang gửi thuộc tính dữ liệu x vào Point9, là đối tượng mới được tạo

Theo dõi Point1, bạn sẽ thấy thêm ba chức năng, mỗi chức năng tương ứng với một trong các phương thức. Mỗi chức năng bắt đầu với một tham số bổ sung, một lần nữa được đặt tên là Point9, tham chiếu đến đối tượng mà phương thức đã được gọi. Khi Python thực thi “o = Point[]           # create point at [0,0]
print[o.x]            # access o's x-coordinate: 0

p = Point[]           # create point that we move to [5, 5]
p.move_to[5, 5]

p.move_up[7]          # move point p to [5, 12]
print[p.y]            # access p's y-coordinate: 12

2”, nó nhập vào append3 với o = Point[]           # create point at [0,0]
print[o.x]            # access o's x-coordinate: 0

p = Point[]           # create point that we move to [5, 5]
p.move_to[5, 5]

p.move_up[7]          # move point p to [5, 12]
print[p.y]            # access p's y-coordinate: 12

4 cho đối số đầu tiên là Point9, 4 cho đối số thứ hai là o = Point[]           # create point at [0,0]
print[o.x]            # access o's x-coordinate: 0

p = Point[]           # create point that we move to [5, 5]
p.move_to[5, 5]

p.move_up[7]          # move point p to [5, 12]
print[p.y]            # access p's y-coordinate: 12

6 và 5 cho đối số thứ ba là o = Point[]           # create point at [0,0]
print[o.x]            # access o's x-coordinate: 0

p = Point[]           # create point that we move to [5, 5]
p.move_to[5, 5]

p.move_up[7]          # move point p to [5, 12]
print[p.y]            # access p's y-coordinate: 12

7. Trong trường hợp này, append3 nên cập nhật tọa độ x và tọa độ y của o = Point[]           # create point at [0,0]
print[o.x]            # access o's x-coordinate: 0

p = Point[]           # create point that we move to [5, 5]
p.move_to[5, 5]

p.move_up[7]          # move point p to [5, 12]
print[p.y]            # access p's y-coordinate: 12

4, để bạn thấy phần thân cập nhật các thuộc tính xy của Point9 — nghĩa là, o = Point[]           # create point at [0,0]
print[o.x]            # access o's x-coordinate: 0

p = Point[]           # create point that we move to [5, 5]
p.move_to[5, 5]

p.move_up[7]          # move point p to [5, 12]
print[p.y]            # access p's y-coordinate: 12

4

Lưu ý cách append5 kết thúc lấy một điểm khác làm đối số của nó. Khi chúng ta gọi “d = o.distance_to[p]  # compute distance between both points
print[d]
5”, tham số đầu tiên Point9 sẽ là o, trong khi tham số thứ hai d = o.distance_to[p]  # compute distance between both points
print[d]
8 sẽ là o = Point[]           # create point at [0,0]
print[o.x]            # access o's x-coordinate: 0

p = Point[]           # create point that we move to [5, 5]
p.move_to[5, 5]

p.move_up[7]          # move point p to [5, 12]
print[p.y]            # access p's y-coordinate: 12

4. Bên trong, chúng tôi muốn truy xuất tọa độ x của cả hai điểm, vì vậy bạn xem Point5 để lấy tọa độ x của oPoint2 để lấy tọa độ x của o = Point[]           # create point at [0,0]
print[o.x]            # access o's x-coordinate: 0

p = Point[]           # create point that we move to [5, 5]
p.move_to[5, 5]

p.move_up[7]          # move point p to [5, 12]
print[p.y]            # access p's y-coordinate: 12

4. Sự khác biệt được lưu vào Point4, đây chỉ là một biến tạm thời để hỗ trợ tính toán [vì chúng tôi không viết Point5], và do đó, nó sẽ biến mất ngay khi hàm trả về

Loại điểm trong Python là gì?

Số dấu phẩy động . giá trị float được chỉ định với dấu thập phân.

Đối tượng điểm trong Python là gì?

Đối tượng điểm đại diện cho một điểm duy nhất trong không gian . Điểm có thể là hai chiều [x, y] hoặc ba chiều [x, y, z]. LineString -đối tượng [tôi. e. một dòng] đại diện cho một chuỗi các điểm được nối với nhau để tạo thành một dòng. Do đó, một dòng bao gồm một danh sách ít nhất hai bộ tọa độ.

Các loại lớp trong Python là gì?

con trăn. Bộ 3 [Chuỗi, Danh sách, Bộ dữ liệu, Lặp lại]
Chuỗi Python
Danh sách Python
Bộ dữ liệu Python
Bộ Python
Từ điển Python
Mảng Python

P1 trong Python là gì?

Như vậy, p1 là một thể hiện của loại Person . Khi chúng ta in p1, Python trả về kiểu và vị trí bộ nhớ của đối tượng.

Chủ Đề