Hướng dẫn why python is not pure oop? - tại sao python không phải là oop thuần túy?

Tôi muốn biết tại sao Python không hoàn toàn hướng đến đối tượng. Ví dụ, nó không hỗ trợ các công cụ sửa đổi cấp độ truy cập riêng tư, công khai, được bảo vệ.

Những lợi thế và bất lợi của điều này là gì? Theo các biểu thức này, Python phù hợp với những ứng dụng nào (máy tính để bàn, khoa học, web hoặc khác)?

Hướng dẫn why python is not pure oop? - tại sao python không phải là oop thuần túy?

wjandrea

25.2k8 Huy hiệu vàng54 Huy hiệu bạc75 Huy hiệu Đồng8 gold badges54 silver badges75 bronze badges

Hỏi ngày 24 tháng 7 năm 2010 lúc 13:47Jul 24, 2010 at 13:47

Hướng dẫn why python is not pure oop? - tại sao python không phải là oop thuần túy?

Mahdi Amrollahimahdi AmrollahiMahdi Amrollahi

2.8505 huy hiệu vàng26 Huy hiệu bạc36 Huy hiệu đồng5 gold badges26 silver badges36 bronze badges

6

Python không hỗ trợ đóng gói mạnh mẽ, đây chỉ là một trong nhiều tính năng liên quan đến thuật ngữ "hướng đối tượng".

Câu trả lời chỉ đơn giản là triết học. Guido không thích che giấu mọi thứ, và nhiều người trong cộng đồng Python đồng ý với anh ta.

Đã trả lời ngày 24 tháng 7 năm 2010 lúc 13:51Jul 24, 2010 at 13:51

Marcelo Cantosmarcelo CantosMarcelo Cantos

177K38 Huy hiệu vàng322 Huy hiệu bạc362 Huy hiệu Đồng38 gold badges322 silver badges362 bronze badges

7

Guido đã từng nói rằng "tất cả chúng ta đều đồng ý người lớn ở đây". Đây là lời giải thích dài hơn từ từ lâu: http://mail.python.org/pipermail/tutor/2003-Ormult/025932.html

Có một thỏa thuận nhấn mạnh các yếu tố riêng tư và bạn không nên sử dụng chúng. Trừ khi bạn biết bạn đang làm gì và bạn thực sự muốn.

Liên kết cũng đề cập đến một cách khác để đặt nó trong trường hợp Perl:

"Một mô -đun Perl sẽ thích bạn ở ngoài phòng khách của nó vì bạn không được mời, không phải vì nó có một khẩu súng ngắn."
because you weren't invited, not because it has a shotgun."

Đã trả lời ngày 24 tháng 7 năm 2010 lúc 13:53Jul 24, 2010 at 13:53

1

Tôi nghĩ Python được thiết kế để trở thành một con lai. Bạn có thể viết trong các kiểu định hướng đối tượng hoặc chức năng.

Đặc điểm của định hướng đối tượng là sự trừu tượng, đóng gói, kế thừa và đa hình. Cái nào trong số này bị thiếu trong Python?

Định hướng đối tượng là một sự liên tục. Chúng ta có thể nói rằng Smalltalk là người thuần khiết nhất, và tất cả những người khác chiếm những địa điểm khác nhau trên quy mô.

Không ai có thể nói giá trị của là 100% thuần khiết là gì. Có thể viết mã hướng đối tượng rất tốt bằng các ngôn ngữ không phải là smalltalk, bao gồm Python.

Python rất hữu ích trong tất cả các lĩnh vực đó: khoa học (numpy), web (django) và máy tính để bàn.

Đã trả lời ngày 24 tháng 7 năm 2010 lúc 13:52Jul 24, 2010 at 13:52

Duffymoduffymoduffymo

302K44 Huy hiệu vàng368 Huy hiệu bạc555 Huy hiệu Đồng44 gold badges368 silver badges555 bronze badges

Tôi tin rằng Python là một ngôn ngữ thực tế, rất thực tế.

Các khái niệm cung cấp giá trị cho nhà phát triển được đưa vào, mà không xem xét quá nhiều về các khái niệm thần học như "thiết kế oo thích hợp" và công cụ. Đó là ngôn ngữ cho những người có việc phải làm.

Tôi nghĩ rằng Python phù hợp cho tất cả các loại môi trường, mặc dù máy tính để bàn hơi khó khăn do thiếu một khung. Đối với tất cả các ứng dụng, rất tiện dụng để sử dụng một khung, như Numpy cho các công cụ tính toán, xoắn hoặc Django cho các công cụ web và wxwidgets hoặc các thứ khác cho các công cụ máy tính để bàn.

Đã trả lời ngày 24 tháng 7 năm 2010 lúc 13:53Jul 24, 2010 at 13:53

Tôi nghĩ Python được thiết kế để trở thành một con lai. Bạn có thể viết trong các kiểu định hướng đối tượng hoặc chức năng.extraneon

Đặc điểm của định hướng đối tượng là sự trừu tượng, đóng gói, kế thừa và đa hình. Cái nào trong số này bị thiếu trong Python?2 gold badges46 silver badges50 bronze badges

3

Định hướng đối tượng là một sự liên tục. Chúng ta có thể nói rằng Smalltalk là người thuần khiết nhất, và tất cả những người khác chiếm những địa điểm khác nhau trên quy mô.

Không ai có thể nói giá trị của là 100% thuần khiết là gì. Có thể viết mã hướng đối tượng rất tốt bằng các ngôn ngữ không phải là smalltalk, bao gồm Python.Jul 24, 2010 at 14:05

Hướng dẫn why python is not pure oop? - tại sao python không phải là oop thuần túy?

Python rất hữu ích trong tất cả các lĩnh vực đó: khoa học (numpy), web (django) và máy tính để bàn.deinst

Đã trả lời ngày 24 tháng 7 năm 2010 lúc 13:523 gold badges46 silver badges45 bronze badges

Duffymoduffymo

302K44 Huy hiệu vàng368 Huy hiệu bạc555 Huy hiệu Đồng

Tôi tin rằng Python là một ngôn ngữ thực tế, rất thực tế.3 gold badges24 silver badges32 bronze badges

Các khái niệm cung cấp giá trị cho nhà phát triển được đưa vào, mà không xem xét quá nhiều về các khái niệm thần học như "thiết kế oo thích hợp" và công cụ. Đó là ngôn ngữ cho những người có việc phải làm.Dec 23, 2010 at 19:00

Tại sao Python không phải là 100% rất tiếc?

Tuy nhiên, Python không phải là ngôn ngữ OOP xuyên suốt vì nó không cho phép đóng gói mạnh mẽ.Điều này là do người tạo ra Guido Van Rossum nhằm mục đích giữ cho mọi thứ đơn giản và điều đó có nghĩa là không ẩn dữ liệu theo nghĩa nghiêm ngặt nhất của thuật ngữ này.it does not allow strong encapsulation. This is because its creator Guido van Rossum aimed to keep things simple and that meant not hiding data in the strictest sense of the term.

Chương trình định hướng đối tượng Python Pure là?

Vâng, Python có phải là một ngôn ngữ lập trình định hướng đối tượng?Vâng, đúng vậy.Ngoại trừ luồng điều khiển, mọi thứ trong Python là một đối tượng.Yes, it is. With the exception of control flow, everything in Python is an object.

Ngôn ngữ nào không phải là OOP thuần túy?

Ngôn ngữ Java không phải là ngôn ngữ định hướng đối tượng thuần túy vì nó chứa các thuộc tính này: loại dữ liệu nguyên thủy Ex. is not a Pure Object Oriented Language as it contain these properties: Primitive Data Type ex.

Những hạn chế của OOP trong Python là gì?

Một số nhược điểm của lập trình hướng đối tượng bao gồm: Đường cong học tập dốc: Quá trình suy nghĩ liên quan đến lập trình hướng đối tượng có thể không tự nhiên đối với một số người và có thể mất thời gian để làm quen với nó.Nó rất phức tạp để tạo các chương trình dựa trên sự tương tác của các đối tượng.Steep learning curve: The thought process involved in object-oriented programming may not be natural for some people, and it can take time to get used to it. It is complex to create programs based on interaction of objects.