Làm thế nào để tôi nghĩ như một lập trình viên trong python?

Các chương trình ví dụ và giải pháp cho một số vấn đề có tại đây [liên kết đến các ví dụ cụ thể có trong sách]

Sự mô tả

Think Python là phần giới thiệu về lập trình Python cho người mới bắt đầu. Nó bắt đầu với các khái niệm cơ bản về lập trình và được thiết kế cẩn thận để xác định tất cả các thuật ngữ khi chúng được sử dụng lần đầu tiên và để phát triển từng khái niệm mới theo một tiến trình hợp lý. Các phần lớn hơn, như đệ quy và lập trình hướng đối tượng được chia thành một chuỗi các bước nhỏ hơn và được giới thiệu trong một số chương

Một số ví dụ và bài tập dựa trên Swampy, một gói Python do tác giả viết để minh họa các khía cạnh của thiết kế phần mềm và để người đọc có cơ hội thử nghiệm với đồ họa và hoạt ảnh đơn giản

Nghĩ Python là một cuốn sách miễn phí. Nó có sẵn theo Creative Commons Ghi công-Phi thương mại 3. 0 Giấy phép chưa chuyển đổi, có nghĩa là bạn được tự do sao chép, phân phối và sửa đổi nó, miễn là bạn ghi nhận tác phẩm và không sử dụng nó cho mục đích thương mại

Nếu bạn có nhận xét, chỉnh sửa hoặc đề xuất, vui lòng gửi email cho tôi theo địa chỉ phản hồi{at}thinkpython{dot}com

Sách miễn phí khác của Allen Downey có sẵn từ Green Tea Press

Tải xuống

Phiên bản trước

Ấn bản trước của cuốn sách này đã được nhà xuất bản Đại học Cambridge xuất bản với tựa đề Python for Software Design. Phiên bản này có sẵn từ Amazon. com

Phiên bản Python gốc của cuốn sách được xuất bản bởi Green Tea Press với tựa đề How to Think Like a Computer Scientist. Học với Python. Phiên bản này có sẵn từ Lulu. com

Bản dịch và phóng tác

Andrea Zanella đã dịch cuốn sách sang tiếng Ý. Nguồn nằm trong kho GitHub này hoặc bạn có thể tải xuống phiên bản PDF

Sat Kumar Tomer đã viết một cuốn sách liên quan, Python trong Hydrology có tại đây

Jeff Elkner, đồng tác giả của tôi về Cách suy nghĩ, đang thực hiện ấn bản thứ hai, có tại đây

Cuốn sách Apprendre a programmer avec Python của Gerard Swinnen bắt đầu bằng bản dịch tiếng Pháp của How to Think. , nhưng đã phát triển thành một cuốn sách khác về cơ bản

Ricardo Perez đã dịch How to Think. sang tiếng Tây Ban Nha và điều chỉnh nó cho ngôn ngữ lập trình Eiffel. Bản dịch của anh ấy có sẵn ở đây

Trong hầu hết các trường hợp, khi những người mới bắt đầu cảm thấy nản lòng, họ sẽ từ bỏ lập trình hoặc họ cố gắng tìm giải pháp cho một câu hỏi duy nhất “Làm thế nào để suy nghĩ như một lập trình viên và giải quyết câu hỏi viết mã một cách nhanh chóng?”. Bạn có thể đã nhận được rất nhiều lời khuyên từ các chuyên gia, bạn có thể đã đọc một số bài báo và blog và bạn cũng có thể đã làm theo một số mẹo. Tất cả những lời khuyên này được viết trên blog và được đưa ra bởi các chuyên gia khiến bạn càng bối rối hơn vì bạn vẫn không thể tìm ra cách hack phổ biến mà mọi lập trình viên đang sử dụng khi giải nhanh các câu hỏi viết mã. Vì vậy, cách tiếp cận phổ biến mà mọi lập trình viên tuân theo để giải quyết các câu hỏi về mã hóa để trở nên giỏi các kỹ năng giải quyết vấn đề là gì?

Một cách hack phổ biến được tất cả các lập trình viên sử dụng để xây dựng kỹ năng giải quyết vấn đề

Bạn chỉ có thể giải quyết vấn đề một cách nhanh chóng nếu bạn đã giải quyết vấn đề/đã thấy vấn đề được giải quyết trước đó. Do đó, thách thức là đảm bảo bạn đã nhìn thấy mọi vấn đề trước đó.
Bây giờ, điều này không có nghĩa là bạn cần phải nhìn thấy mọi vấn đề trước đó, vì điều đó là không thể. Trong những trường hợp này, bạn phải có khả năng xác định các mẫu trong các thử thách lập trình. Điều này xuất phát từ việc đảm bảo bạn hiểu sâu các giải pháp của nhiều vấn đề khác nhau để bạn có thể xác định khi nào hai vấn đề tương tự nhau và bạn có thể sử dụng các nguyên tắc đằng sau giải pháp của vấn đề đã giải quyết để giải quyết vấn đề chưa được giải quyết.
Những người mới bắt đầu lập trình, trước tiên họ nên bắt đầu hiểu một loạt các thuật toán cốt lõi và cấu trúc dữ liệu. Đọc các giải pháp cho một số vấn đề khác cho đến khi các mẫu bắt đầu hiển thị với bạn. Sau đó, bạn nên thực hành các thử thách trực tuyến cho đến khi bạn nhanh chóng. Trong lập trình, hãy giải quyết rất nhiều vấn đề và bạn càng giải quyết nhiều vấn đề, bạn sẽ càng thấy các mẫu từ các vấn đề cũ trong các vấn đề mới mà bạn đang giải quyết và bạn sẽ tiến bộ hơn theo thời gian.

Ba điều cần lưu ý khi xây dựng phần mềm

Nhìn vào bức tranh được đưa ra dưới đây…

Bạn thấy gì??

  1. Hãy thử một giải pháp
  2. Nếu cách đó không hiệu quả, hãy thử cách khác
  3. Nếu cách đó không hiệu quả, hãy lặp lại bước 2 cho đến khi bạn nhận được giải pháp

Hãy nhớ rằng ban đầu, với tư cách là một lập trình viên, bạn phải đối mặt với các vấn đề hầu hết thời gian trong một khối của chương trình và bạn phải sửa nó bằng cách hoán vị và kết hợp. Nếu bạn là người mới vào nghề, bạn sẽ cảm thấy ít quan tâm hơn đến việc giải quyết các lỗi/vấn đề vì sẽ mất nhiều thời gian hơn để giải quyết. Lúc này bạn cần có sự kiên nhẫn thay vì từ bỏ lập trình. Không có thay thế cho thực hành có chủ ý. Bạn cần đánh giá các vấn đề từ các góc độ khác nhau. Có một câu nói nổi tiếng mà hầu hết các lập trình viên đã từng nghe qua…

“Mọi người ở đất nước này nên học cách lập trình máy tính vì nó dạy bạn suy nghĩ. ”
— Steve Jobs

Bạn có hiểu ý nghĩa thực sự của câu nói…. ???

Chúng tôi sẽ giải thích ở đây và nếu bạn hiểu nó thì có lẽ bạn sẽ hiểu ý nghĩa thực sự của lập trình trong thực tế…
Khi bạn gặp sự cố… hãy đọc kỹ. Đọc kết quả mong đợi. Sau đó suy nghĩ về những bước cần thiết để giải quyết vấn đề đó. Chống lại sự cám dỗ để đi vào và thử mọi thứ một cách mù quáng. Thay vào đó, hãy lùi lại và suy nghĩ về những gì bạn đang làm. Người đánh máy chậm luôn là lập trình viên giỏi hơn tại sao…?? . Bây giờ bạn có thể đã cảm nhận được ý nghĩa sâu xa của câu nói nổi tiếng của Steve Jobs.

Bây giờ chúng ta sẽ thảo luận về ba bước chính mà mọi lập trình viên nên tuân theo trong các ngành công nghiệp khi xây dựng phần mềm và để trở thành một lập trình viên giỏi

Làm cho nó hoạt động, làm cho nó đúng, làm cho nó nhanh.
-Kent Beck

1. Lam cho no hoạt động

Khi bạn gặp sự cố, bước đầu tiên là làm cho nó hoạt động. Mục tiêu ở đây chỉ là hiểu vấn đề và tìm giải pháp. Chỉ có bấy nhiêu thôi. Bạn có thể nghĩ rằng chương trình của bạn cũng phải đúng và tối ưu nhưng thực hiện tối ưu hóa sớm luôn là một ý tưởng ngu ngốc. Cuối cùng, bạn sẽ gặp ác mộng về mã của mình. Hãy nhớ rằng một giải pháp tốt phải phát triển và trở nên tốt hơn theo thời gian… chỉ bắt đầu với giải pháp “bất kỳ”.
Bạn có thể làm cho mã làm những gì nó phải làm theo bất kỳ cách xấu xí, lộn xộn nào bạn muốn, miễn là nó hoạt động. Chúng ta đang nói về phần mềm và không tốn chi phí vật liệu, vì vậy thay vì cố gắng tìm một giải pháp hoàn hảo trong lần thử đầu tiên, hãy chỉ tìm giải pháp giúp tính năng này hoạt động trong phần mềm của bạn. Đừng lãng phí thời gian lo lắng về việc liệu cách tiếp cận của bạn có lý tưởng hay không, mã của bạn có thanh lịch hay mẫu thiết kế của bạn có hoàn hảo hay không. Nếu bạn nghĩ rằng có nhiều giải pháp và bạn không thể tìm ra giải pháp tốt nhất thì hãy chọn một giải pháp và thực hiện theo giải pháp đó. Khi bạn đã hoàn tất, hãy đảm bảo rằng nó hoạt động và hoạt động lặp lại.

2. Làm cho nó đúng

Ngay từ bước đầu tiên, bạn đã có một giải pháp hiệu quả cho vấn đề của mình và một cách rẻ tiền để đảm bảo nó vẫn hoạt động trong khi bạn sửa đổi nó. Bây giờ công việc của bạn là tuân theo các nguyên tắc cơ bản về tái cấu trúc để cải thiện thiết kế mã của bạn. Tuân theo nguyên tắc phần mềm, kiểm tra xem có bất kỳ mẫu thiết kế nào có thể làm cho giải pháp của bạn trở nên thông thường hơn không. Cấu trúc lại; . Trong khi thực hiện việc này, hãy đảm bảo rằng bạn hoặc người khác hiểu và thực hiện các thay đổi trong đó mà không cần nỗ lực nhiều. Bạn và các nhà phát triển khác sẽ dễ dàng duy trì mã của bạn hơn

3. Làm cho nó nhanh

Bây giờ bạn cần đo hiệu suất của mã, đây là bước thứ ba…tối ưu hóa mã. Chà, đây là bước khó nhất trong lập trình nhưng nếu có bất kỳ tắc nghẽn hiệu suất rõ ràng nào với các giải pháp dễ dàng, hãy thực hiện chúng ngay bây giờ. Rất nhiều công ty chỉ đưa ra giải pháp sản xuất hoạt động từ giai đoạn 'làm cho đúng'. Chúng tôi khuyên bạn rằng nếu bạn có đủ tài nguyên và thời gian thì hãy luôn nghĩ về hiệu suất mã của bạn. Tối ưu hóa mã không chỉ là “làm cách nào để mã này chạy nhanh hơn”. Nhưng nó là nhiều hơn thế. Mã của bạn sẽ tốn ít thời gian hơn và sử dụng ít tài nguyên hơn. Bạn nên suy nghĩ làm thế nào tôi có thể làm cho nó dễ kiểm tra hơn, làm thế nào tôi có thể mở rộng nó hơn, làm thế nào tôi có thể làm cho mã này có giá trị hơn đối với người dùng

Làm thế nào tôi có thể rèn luyện tư duy như một lập trình viên?

Mẹo đơn giản giúp bạn tư duy như một lập trình viên .
Nói to về vấn đề. .
Cộng tác [làm việc với các lập trình viên khác].
Bước từng bước một. .
bắt đầu đơn giản. làm thế nào bạn sẽ giải quyết một vấn đề tương tự, đơn giản hơn?.
Thực hành, không học thuộc lòng. .
Đừng lo lắng nếu bạn cần tra cứu đúng cú pháp. .
Lối tắt có thể nguy hiểm

Tôi có thể trở thành lập trình viên chỉ với Python không?

Bạn có thể trở thành Nhà phát triển Python mà không cần kinh nghiệm , nhưng như đã nêu ở trên, cách duy nhất để thực hiện điều này là xây dựng các kỹ năng phù hợp và sau đó có thể thể hiện những kỹ năng này. Tìm kiếm các tùy chọn đào tạo phù hợp để học Python, sau đó bắt đầu viết mã bằng Python càng nhiều càng tốt.

Lập trình viên Python có khó không?

Không, Python không khó học đối với hầu hết mọi người . Trên thực tế, Python được coi là một trong những ngôn ngữ lập trình dễ học nhất. Mặc dù bất kỳ ai cũng có thể học lập trình Python — ngay cả khi bạn chưa từng viết một dòng mã Python nào — nhưng bạn nên mong đợi rằng việc này sẽ mất thời gian và bạn nên mong đợi những khoảnh khắc thất vọng.

Chủ Đề