Tôi cảm thấy bị mắc kẹt ở trung tâm của Python, Làm thế nào để vượt qua người mới bắt đầu [đóng]


22

Tôi thực sự xin lỗi nếu điều này không tuân theo các quy tắc SO nhưng tôi cần một chút giúp đỡ, cá nhân tôi vẫn tự phân loại mình là người mới bắt đầu với trăn, tuy nhiên tôi đã viết một chương trình rất nhỏ và RẤT NHIỀU cho sếp của tôi sử dụng.

Tôi biết tôi vẫn là người mới bắt đầu bởi vì những điều đơn giản vẫn làm tôi bối rối nhưng mọi cuốn sách tôi đọc cho người mới bắt đầu chỉ thực hiện lại những gì tôi đã biết nhưng mỗi cuốn sách 'nâng cao hơn' không thực sự cho phép tôi học, chúng phụ thuộc vào các tệp ví dụ và tôi không bao giờ thực sự hiểu lý do tại sao họ xây dựng lớp 'nói' hoặc 'nói'. Vì vậy, vào câu hỏi của tôi ...

Có bất kỳ khuyến nghị nào về một cuốn sách hoặc BẤT CỨ điều gì đẩy tôi ra khỏi giai đoạn này không, tôi đã sử dụng đầu tiên và thông thường chúng thực sự tốt nhưng vấn đề của tôi là họ đã theo dõi tôi chỉ để tiến lên một lần nữa, Nó hoạt động trong HTML nhưng Nó khó hiểu trong Python, về cơ bản tôi nghĩ rằng tôi cần phải xây dựng một chương trình trong khi làm theo, Một lần nữa tôi thích phong cách của HeadFirst nhưng tôi cần thứ gì đó sẽ không khiến tôi phải nhớ một điều chỉ để quên nó ...

để ghi lại, tôi đã kiểm tra một số cuốn sách của O'Reilly


7
Đối với mỗi khái niệm bắt đầu, hãy viết một vài chương trình nhỏ cho đến khi bạn hiểu rõ về nó. Một khi bạn cảm thấy thoải mái, hãy làm tương tự với nhiều hơn và nhiều hơn nữa cho đến khi bạn có được những thứ cao cấp. Chỉ đọc mà không thực hành và mã hóa sẽ không giúp bạn nhiều.

6
Bạn đã đọc Làm thế nào để suy nghĩ như một nhà khoa học máy tính ?
Oscar Mederos

Bạn đã làm theo hướng dẫn docs.python.org/tutorial/index.html chưa? Bạn có những khía cạnh cụ thể làm bạn bối rối? Nếu bạn có thể minh họa chúng bằng một số ví dụ mã thì sẽ tốt hơn nữa.
juanchopanza

Không phải ông chủ cũng cần một chương trình lớn hơn được viết bằng Python sao? Bạn cần có kinh nghiệm ...

2
làm, thử và đặt câu hỏi khi bạn không hiểu, mọi người ở đây sẽ giúp bạn.
monkut

Câu trả lời:


23

Ngừng đọc sách.

Đi viết mã bằng cách sử dụng thời gian miễn phí để đọc. Thực hành. Suy ngẫm. Đối mặt với các vấn đề thực sự trong mã thực bạn viết.

Sau đó, bạn sẽ có đủ câu hỏi mà sách nâng cao có thể trả lời. Bây giờ bạn không có những câu hỏi này, và câu trả lời trong sách không có ý nghĩa gì với bạn.

Điều này rất giống như học ngoại ngữ hoặc học bơi: sách một mình không thể giúp được. Bạn cần phải luyện tập rất nhiều, sau đó bộ não của bạn 'có được nó'.


19

FWIW, cách tôi thực sự học Python là viết một ứng dụng không tầm thường cho bản thân mình . Trên thực tế, nó là một bản viết lại của cùng một ứng dụng mà tôi đã tạo trước đây để học C (và C ++ sau này), vì vậy tôi rất quen thuộc với những loại xử lý cần phải được thực hiện. Trong mỗi lần viết lại, tôi đã cố gắng tận dụng mọi tính năng đặc biệt được cung cấp bởi ngôn ngữ cụ thể đang được sử dụng hoặc đơn giản là tôi muốn thử.

Như một phần thưởng, khi bạn hoàn thành hoặc ít nhất là có một phiên bản hoạt động, bạn sẽ có một cái gì đó thực sự hữu ích, chứ không phải một số bài tập lập trình không có giá trị. Bạn cũng có thể quay lại sau và thay đổi chương trình sau khi bạn tìm hiểu thêm các cách tốt hơn để hoàn thành mọi thứ bằng ngôn ngữ.

Một cách rất hữu ích để cải thiện bất kỳ ngôn ngữ lập trình nào là chỉ cần đọc nhiều chương trình khác. Một cách tốt để làm điều đó những ngày này là sử dụng Google, như được mô tả trong câu trả lời StackedOverflow này . Đây là một tài nguyên tuyệt vời và bạn sẽ thường đọc mã "sức mạnh công nghiệp" được viết bởi các lập trình viên chuyên nghiệp và được sử dụng trong các ứng dụng thực tế khác.

Cập nhật:

Vì Tìm kiếm mã của Google đã bị ngừng vào ngày 15 tháng 1 năm 2012, bên cạnh việc trở lại các tìm kiếm thông thường của Google, có một thứ gọi là Bộ sưu tập đoạn mã có vẻ đầy hứa hẹn. Một số tài nguyên khác được đề cập trong câu trả lời câu hỏi (đã đóng) này Thay thế cho Tìm kiếm Google Code? .


5
Nhấn mạnh vào không tầm thường. Để học cách làm những điều khó khăn, hãy cố gắng làm những điều khó khăn.
Bryan Oakley

5

Chỉ cần tiếp tục slogging tại các khái niệm dễ dàng. Làm cho các chương trình nhỏ gói gọn các khái niệm của họ. Tại một số điểm, bạn sẽ giành được một ngọn đồi hiểu biết và những thứ mới sẽ có ý nghĩa hơn với bạn. Tôi cũng giữ một thư mục có tên là đoạn trích Python. Tôi thấy nó hữu ích như một điểm khởi đầu trong các khái niệm nhất định.

Một mẹo khác tôi thấy vô giá là đọc mã người khác và nhận xét nó, tóm tắt những gì từng dòng và phần làm. Nếu tôi không biết thì đã đến lúc Google. Bằng cách này tôi có thể thấy Python hoạt động và tôi có thể chia nó thành các phần gọn gàng.

Một tài nguyên đặc biệt phong phú cho mã là chính nguồn Python.


5

Nếu bạn không chắc chắn về các thư viện Python cơ bản hoặc thiết kế hướng đối tượng (vì bạn đề cập đến việc không biết tại sao lớp "nói" hoặc hàm "đã nói" được sử dụng):

  1. Kỹ năng xây dựng trong thiết kế hướng đối tượng thực sự giúp bạn suy nghĩ thông qua thiết kế hướng đối tượng.

  2. Trang web khác của S.Lott, Kỹ năng xây dựng trong Python , cũng có thể là một cách tốt để bạn mở rộng các kỹ năng Python của mình ngoài những điều cơ bản. Nó có rất nhiều ứng dụng đơn giản hơn một chút so với những cuốn sách được liệt kê dưới đây, nhưng vẫn rất thú vị và mang tính hướng dẫn.


Nếu vấn đề của bạn là bạn không thể tìm ra cách sử dụng Python để làm bất cứ điều gì thú vị:

1) Bắt đầu Python: Từ Novice đến Professional có một số nội dung thú vị: GUI, viết ứng dụng chia sẻ tệp của riêng bạn, v.v. Tôi cũng thích phong cách của Hetland.

2) Bạn đã đề cập đến sách O'Reilly, nhưng Lập trình Python xử lý gần như hoàn toàn với các ứng dụng thay vì cú pháp. Nó có rất nhiều ứng dụng thú vị sẽ khiến cho nước ép sáng tạo của bạn trôi chảy. Đó là một cuốn sách khổng lồ (~ 1.500 trang tôi nghĩ) và 4e hoàn toàn tập trung vào Python 3, nhưng chắc chắn mở ra cách mọi người sử dụng Python.


+1 cho giới thiệu đến trang web S. Lott ... Tôi chưa bao giờ thấy trang đó trước đây.
Gerrat

4

Có hai cuốn sách Python mà tôi muốn giới thiệu và một trong số chúng đã được @MikeRand đề cập:

  • Đi sâu vào Python 3 là một cuốn sách phải có bao gồm phần giới thiệu và một số chủ đề nâng cao hơn.
  • Lập trình Python là IMHO cuốn sách phù hợp để chuyển sang các chủ đề Python rất tiên tiến. Nó cũng bao gồm nhiều lĩnh vực, ví dụ (G) UI, ứng dụng hệ thống, lập trình web, v.v.

Lưu ý rằng các phiên bản mới nhất của cả hai cuốn sách đều bao gồm Python 3. Nếu bạn làm việc với phiên bản Python cũ hơn, hãy tìm phiên bản cũ hơn của sách. FTR, một tùy chọn thay thế là Python cho Thiết kế phần mềm (trước đây là Cách suy nghĩ giống như một nhà khoa học máy tính: Học với Python được đề cập bởi @ oscar-mederos) nhưng hầu hết nội dung của nó cũng mang tính giới thiệu (và theo nghĩa đó tôi sẽ khuyên bạn nên tìm hiểu về Python ).


3

Cách hiệu quả nhất là lấy mã của bạn thường xuyên được xem xét bởi một người cố vấn có kinh nghiệm và thực hiện các đề xuất của anh ta. Đây là một trong những lợi ích lớn nhất của bằng đại học, nhưng không nhất thiết phải trang trọng như thế. Tôi tự coi mình là một lập trình viên tiên tiến, nhưng tôi vẫn đi xuống hội trường để thảo luận về các quyết định thiết kế lớn với một đồng nghiệp trước khi mã hóa, và nhận được sản phẩm hoàn chỉnh được xem xét sau đó.


0

Ngoài một số cuốn sách được đề cập (đặc biệt là Cách suy nghĩ như một nhà khoa học máy tính ), hãy kiểm tra trang web Python Recipes của ActiveState . Đọc một số nội dung mà bạn quan tâm, xem mã, và sau đó tìm hiểu xem bạn sẽ tiếp cận vấn đề như thế nào và nó khác với những gì trong công thức.


-1

Đây là một gợi ý khá kỳ lạ, nhưng cách tôi đến là nơi tôi đang ở bằng cách đặt câu hỏi và xem người khác đặt câu hỏi, và đọc câu trả lời. Vì vậy, duyệt các câu hỏi được gắn thẻ Python của Stack Overflow hoặc (như trong trường hợp của tôi) trở thành một câu hỏi thường xuyên trên #python trên freenode.


-3

Hãy thử cuốn sách "Xin chào thế giới! Lập trình máy tính cho thanh thiếu niên và những người mới bắt đầu khác" của Warren và Carter Sande là cách tôi học Python Scripting, hoặc tôi đã nghe "Hello! Python" của Anthony Briggs cũng là một cuốn sách tuyệt vời.

Tập trung vào việc tổ chức các chương trình của bạn với các chức năng, nhận xét và một số loại cấu trúc để làm thế nào nó chảy. Đừng quên: Chương trình chỉ đơn giản là một bộ hướng dẫn mà máy tính tuân theo. Làm cho nó dễ đọc và dễ hiểu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.