Hướng dẫn why python is not object oriented? - tại sao python không hướng đối tượng?

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 object oriented? - tại sao python không hướng đối tượng?

wjandrea

25.1k8 Huy hiệu vàng53 Huy hiệu bạc73 Huy hiệu đồng8 gold badges53 silver badges73 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 object oriented? - tại sao python không hướng đối tượng?

Mahdi Amrollahimahdi AmrollahiMahdi Amrollahi

2.8505 huy hiệu vàng25 Huy hiệu bạc35 Huy hiệu đồng5 gold badges25 silver badges35 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àng367 Huy hiệu bạc554 Huy hiệu đồng44 gold badges367 silver badges554 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 object oriented? - tại sao python không hướng đối tượng?

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 badges45 silver badges45 bronze badges

Duffymoduffymo

302K44 Huy hiệu vàng367 Huy hiệu bạc554 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

Là Python là đối tượng

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.

Tại sao Python là một đối tượng

C không được định hướng đối tượng theo nghĩa nghiêm ngặt vì nó không có khả năng định hướng đối tượng được hỗ trợ tích hợp như lớp, kế thừa, v.v.it doesn't have a built-in syntax supported object oriented capability like class, inheritance and so on.