- Nếu công việc của bạn ý nằm trong ecosystem của Windows thì C# không nằm trong mục không nên bắt đầu. Mình cũng có nói rồi mà.
- Mình thậm chí nói Python là ngôn ngữ nên học khi bắt đầu học lập trình nói chung chứ không riêng gì khi học OOP, dĩ nhiên là nhận định cá nhân thôi, vì tính đơn giản, dễ đọc, dễ đọc, dễ hiểu và tạo hứng thú khi học của nó chứ không chỉ là vì nó hỗ trợ multi-paradigm.
Vậy là bạn lại đem cách tư duy của ngôn ngữ khác vào với Python rồi. Đúng như bạn nói, không một attribute nào trong Python thực sự là non-public, thay vào đó là convention [1] giúp lập trình viên chọn biến nào là public (normal) hay non-public ( with leading underscore _ ) và những lập trình viên sau này đọc lại code hiểu. Điều này ép lập trình viên phải thận trọng hơn, suy nghĩ nhiều hơn trong quá trình xây dựng app.
[1] https://www.python.org/dev/peps/pep-0008/#designing-for-inheritance
, mỗi nơi viết mỗi kiểu đọc nhiều là nó tự thấm. M chưa bao giờ đụng C++ OOP nhưng mà thấy cãi nhau thế này tức là nó phức tạp rồi bạn, học 1 cái mới mà đụng ngay đến cái phức tạp thì nãn lắm
.
À ngoài ra bản thân nó còn có vụ mixin gì đó rất kì lạ hay kì diệu :V Bản thân nó là script nên OOP trong Python khá lỏng lẻo ko giống OOP “truyền thống”. Mới học thì nên học cái truyền thống trước :V
Thêm cái nữa 1 object lúc nào cũng thêm bớt tính năng vào được rất là dị hợm :V

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?