2009-12-15 32 views
10

Tôi bắt đầu với C++ nhưng như chúng ta đều biết, C++ là một con quái vật. Tôi vẫn phải lấy nó và tôi làm như C + + (nó cần lập trình thêm một bước nữa)Làm thế nào để trở thành một coder Python tốt?

Tuy nhiên, hiện tại tôi đã làm việc với python một thời gian. Tôi thấy các bạn có thể biến một số thuật toán dài thành một thuật toán đơn giản như thế nào.

Tôi biết lập trình là một tiến bộ và có thể mất đến nhiều năm kinh nghiệm. Tôi cũng biết bản thân mình - Tôi không phải là một lập trình viên tự nhiên, và kỹ nghệ phần mềm không phải là lựa chọn đầu tiên của tôi. Tuy nhiên, tôi muốn tự lập trình nặng và tạo các dự án.

Làm cách nào để trở thành một lập trình viên python tốt hơn?

+3

Điều này tốt hơn khi được hỏi là wiki cộng đồng. – kgiannakakis

+3

Nếu chỉ có chiếc mũ đã cho bạn slitherin – zincorp

+0

@zincorp Tôi muốn downvote bình luận của bạn quá nặng. :) –

Trả lời

24
+0

liên kết tập thể bị hỏng, hầu hết mọi người sẽ downvote vì dễ bấm vào mũi tên xuống để phản đối mất thời gian viết bình luận –

+0

@aforloney: Tôi tin rằng hầu hết người dùng SO đủ tỉnh táo để viết bình luận trước khi downvoting. – kgiannakakis

+1

lol cảm ơn các bạn. Tôi không bao giờ downvote bất cứ ai (và tôi không thấy bất kỳ điểm nào ngoại trừ những kẻ gửi thư rác) Đây là những nguồn lực tuyệt vời, tôi sẽ kiểm tra chúng ra khi trận chung kết kết thúc !!! – CppLearner

4

đọc mã. Điều này sẽ giúp bạn tìm hiểu những gì hoạt động tốt trong Python và những gì không. Là một phần của điều này, hãy tìm hiểu các thành ngữ python và thư viện chuẩn.

Một số ví dụ về văn học để đọc:

Đối với phần thuật toán bạn đề cập, một số bộ phận cụ thể của thư viện tiêu chuẩn để học bao gồm :

  • itertools
  • functools
  • contextlib
+0

tuyệt vời. một khi trận chung kết kết thúc, tôi sẽ kiểm tra chúng ra – CppLearner

3

Những câu trả lời đã-đăng là tuyệt vời.

Ngoài ra, bất cứ khi nào bạn đang mã hóa một cái gì đó bằng Python và bạn bắt đầu làm điều gì đó cảm thấy vụng về, hãy lùi lại một bước và suy nghĩ. Nếu bạn không thể nghĩ ra một cách thanh lịch hơn để làm điều đó, hãy đăng nó như một câu hỏi trên Stack Overflow. Tôi không thể đếm số lần mà tôi đã nhìn thấy một người nào đó làm giảm mười dòng Python thành một (mà vẫn hoàn toàn dễ dàng để đọc và hiểu).

+0

rofl nhưng trong ứng dụng thế giới thực (chúng ta hãy nhảy tất cả các cách để Google), là nó tốt hơn để giảm 10 dòng thành một (nếu không có thay đổi trong hiệu suất)? – CppLearner

+3

Tuyệt đối, miễn là 1 dòng vẫn dễ đọc. Đoạn mã ngắn gọn và dễ hiểu là một cách cực kỳ dài đối với một hệ thống dễ duy trì. – jakeboxer

+0

Đừng làm bất cứ điều gì như vậy trên StackOverflow, nó có thể bị đóng. Hãy thử [codereview.stackexchange.com] (http://codereview.stackexchange.com) –

4

Một đề xuất là tìm một dự án mã nguồn mở bằng Python và bắt đầu đóng góp. Bạn có thể hỏi "làm thế nào tôi có thể đóng góp, nếu tôi là người mới bắt đầu?". Một câu trả lời là "viết các bài kiểm tra". Hầu như bất kỳ dự án nào cũng sẽ chào đón bạn như một người thử nghiệm. Một câu trả lời khác là "tài liệu", mặc dù điều đó ít có khả năng mang lại lợi ích ngay lập tức.

+1

Tôi chưa từng nghĩ về điều đó! Cảm ơn. – CppLearner

+0

bất kỳ đề xuất nào cho bất kỳ dự án nguồn mở nào được viết bằng python? Cảm ơn – CppLearner

+0

xem câu hỏi này: http://stackoverflow.com/questions/117561/what-are-good-open-source-projects-in-python-for-which-i-can-be-a-contributor –

3

ngoài các đề xuất được chỉ định bởi "MYYN" tôi khuyên bạn nên sử dụng pylint

+0

wooo tôi có thể sử dụng công cụ này sau trận chung kết và bắt đầu xem xét các mã cũ của tôi :) cảm ơn anh trai – CppLearner

+0

có thể bạn nên mua phiếu bầu! :-) em trai – DrFalk3n

Các vấn đề liên quan