Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Nếu bạn có sự kiên nhẫn, đó là một cách tuyệt vời để học nó.

Show

Tuy nhiên, nếu ai đó có thể thông qua một tài nguyên học tập khác, tuy nhiên, tôi khuyên dùng một tài nguyên là Python 3.x, vì như bạn đã lưu ý, một cách khó chỉ dạy Python 2.7.

Đối với việc đọc người mới bắt đầu hoàn chỉnh, 2.7 và 3.x là các phiên bản chính khác nhau không hoàn toàn tương thích. Một số mã 2.7 sẽ không chạy trong 3.x và 3.x có một số cải tiến giúp một số thứ dễ dàng hơn/sạch hơn.

3.x là tương lai và hầu hết các thư viện chính (thư viện là các khối mã có thể tái sử dụng làm những việc như quét web hoặc thao tác hình ảnh và bạn có thể nhập chúng vào mã của riêng mình để sử dụng chức năng của chúng) đã được chuyển sang 3.x và làm việc bình thường.

Lần duy nhất bạn cần 2.7 là duy trì/đọc mã cũ hơn hoặc sử dụng thư viện chưa được chuyển.

Nếu bạn có một lựa chọn, hãy tìm hiểu 3.x. Nhưng nếu bạn học 2.7, hoặc đang học nó, sự khác biệt không nên quá khó để nhận, vì vậy đừng cảm thấy đó là một sự lãng phí hoàn toàn.

1 Phương pháp 1.PHONTHON BẮT ĐẦU 2.PYTHON MIDEDIATE 3.PHONTHON Cấu trúc dữ liệu 4.Python Khoa học dữ liệu Phương pháp thứ 2 1.PHONTHON Core 2.Python Cấu trúc dữ liệu 3.PHONTHON Khoa học dữ liệu bất cứ khi nào dễ dàng làm theo phương pháp đó

LZ1234 Sau khi thực hiện những người ăn xin hãy thử cốt lõi, bạn sẽ hiểu nó nhanh hơn và có nhiều kiến ​​thức hơn, sau khi hoàn thành nó làm cấu trúc dữ liệu và khoa học dữ liệu

Khóa học cốt lõi Python cũ hơn nhiều so với những người khác (đó là lý do tại sao đôi khi bạn thấy những người có chứng chỉ hướng dẫn Python 3, nó được đổi tên khi những người khác được thêm vào). Tôi khuyên bạn nên thực hiện Python Core để lặp lại/củng cố và một số nội dung bổ sung sau khi thực hiện người mới bắt đầu, cấu trúc dữ liệu và trung gian. Python cho khoa học dữ liệu là tùy chọn vì bạn chỉ cần nó nếu bạn quan tâm đến khoa học dữ liệu. BTW. Khóa học khoa học dữ liệu và khóa học học máy cũng sử dụng Python và tiến bộ hơn Python cho khoa học dữ liệu.

LZ1234 Tất cả các nội dung của người mới bắt đầu và trung gian đều ở trong lõi Python nhưng các dự án khác nhau

.

.

LZ1234 1) Làm cả hai đều rất tốt BCZ Bạn nhận được thêm một số kiến ​​thức và tính năng tốt của Python và một số dự án 2) Core đang có nhiều mô -đun so với cả người mới bắt đầu và trung gian. Vì vậy, nó không phải là một bài hát nhanh. 3) Nhìn chung, làm cốt lõi có lợi hơn so với chỉ làm người mới bắt đầu và trung gian. Ngoài ra, những điều cơ bản của bạn sẽ mạnh hơn. Tôi không nghĩ rằng có thể có bất kỳ nhược điểm nào trong việc học thêm. Mẹo cuối cùng nếu bạn đang ở năm cuối cùng tập trung vào cốt lõi, cấu trúc dữ liệu và khoa học dữ liệu và nếu bạn có nhiều thời gian hơn thì hãy cố gắng thực hiện tất cả 5 khóa học. Mã hóa hạnh phúc !!

.

Đó là một câu hỏi tuyệt vời

Cách chọn Chủ đề cho Dự án nếu bạn Lear C và C ++ (hơn một nửa) và Cấu trúc dữ liệu (Meddle)

Riddhi Gupta C là một trong những ngôn ngữ phổ biến và được sử dụng rộng rãi nhất. Một số dự án bạn có thể thực hiện bằng ngôn ngữ C, Tháp Hà Nội, trò chơi rắn, tìm tần số của các ký tự trong tệp sử dụng C, Hoạt động bitwise, hệ thống chuyển đổi số cơ sở, v.v. C là gốc của tất cả các ngôn ngữ lập trình

Python là một ngôn ngữ rất phổ biến.

Nó cũng là một trong những ngôn ngữ mà tôi đề nghị cho người mới bắt đầu.

Nhưng cách tốt nhất để học Python là gì?

Trong bài viết này, tôi chia con đường học tập Python thành 6 cấp độ. & Nbsp; và tôi sẽ dạy bạn cách điều hướng các cấp độ này, từng cấp độ từng bước cho đến khi bạn đạt được sự thành thạo Python.6 levels. And I will teach you how to navigate these levels, one level at a time step-by-step until you reach Python mastery.

Mỗi cấp độ bao gồm một tập hợp con của ngôn ngữ mà bạn cần thành thạo trước khi chuyển sang cấp độ tiếp theo.

Tôi tập trung vào bài viết này là để bạn trở thành một lập trình viên toàn diện có thẩm quyền để bạn có thể dễ dàng nhận được một công việc tại bất kỳ công ty công nghệ nào mà bạn chọn.

Cách tốt nhất để học Python là gì?

Cách tốt nhất để học Python là tiến bộ thông qua các cấp độ này một cấp tại một thời điểm. Hãy chắc chắn rằng bạn hoàn toàn hiểu và có trải nghiệm thực hành rộng rãi ở mỗi cấp trước khi bạn chuyển sang cấp độ tiếp theo. Điều này có nghĩa là bạn cần thực sự mở máy tính xách tay và viết mã. Rất nhiều mã. Làm điều đó và bạn sẽ đang trên đường đến Python Mastery!

Bắt đầu nào.

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Cấp 0: Sự khởi đầu

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Đây là cấp độ bạn bắt đầu nếu bạn là người mới bắt đầu tuyệt đối.

Và bởi người mới bắt đầu tuyệt đối, ý tôi là một người chưa bao giờ mã hóa trước đây bằng Python hoặc bất kỳ ngôn ngữ lập trình nào khác cho vấn đề đó.absolute beginner, I mean someone who has never coded before in Python or any other programming language for that matter.

Nếu bạn đến từ một ngôn ngữ lập trình khác, thì bạn nên bỏ qua cấp 1.

Các khóa học Python

& Nbsp; cho cấp 0: Kiểm tra danh sách phát YouTube của tôi.

🚀 Đối với Cấp 1: Kiểm tra khóa học lập trình hướng đối tượng của tôi trên UDEMY hoặc trên trang web của tôi (kiểm tra cả hai để xem có bán hàng trên bất kỳ)Object-Oriented Programming Course on Udemy or on my website (check both to see if there is a sale on any)

Ở cấp độ này, hầu hết các khái niệm bạn sẽ học là các khái niệm lập trình chung. Các kỹ năng cơ bản sẽ khởi động bạn như một lập trình viên.

Điều này có nghĩa là các khái niệm này không thực sự dành riêng cho Python nhưng cũng có thể được mở rộng sang các ngôn ngữ lập trình khác.

Bạn thấy đấy, rất nhiều ngôn ngữ lập trình rất giống nhau và biết những gì phổ biến (và những gì không) giữa các ngôn ngữ lập trình sẽ giúp bạn chuyển sang một ngôn ngữ khác trong tương lai.

Python 3 Cheat Sheet cho người mới bắt đầu

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Tải xuống một bảng gian lận toàn diện cho người mới bắt đầu với các ví dụ mã rộng rãi bao gồm tất cả các chủ đề mà bạn cần học.

Vậy một số khái niệm lập trình chung mà tôi đang nói đến là gì?

Một số khái niệm cơ bản này là các biến, kiểu dữ liệu, hoạt động, chức năng, điều kiện và vòng lặp.

Nếu bạn hiểu những khái niệm này là gì, thì hãy bỏ qua cấp 1.

Nếu không, hãy để tôi cho bạn một giới thiệu rất ngắn gọn về ý nghĩa của những khái niệm này.very brief introduction about what these concepts mean.

Biến

Các biến về cơ bản là lưu trữ cho dữ liệu trong chương trình của bạn.storage for data in your program.

Chính xác hơn, nó là một cách để đặt tên cho dữ liệu để sử dụng sau này.

Hãy cùng nhìn vào một ví dụ.

# variables
msg = "Hello World!"
print(msg)
# this code outputs Hello World! on the screen

Trong đoạn trích Python ở trên, chúng tôi xác định một MSG biến lưu trữ giá trị Hello World!msg that stores the value Hello World!

Điều này cho phép chúng ta in sau này Hello World! Trên màn hình chỉ bằng cách sử dụng tên biến lưu trữ giá trị này thay vì phải nhập giá trị Hello World! & NBSP; mỗi khi chúng tôi muốn sử dụng nó.Hello World! every time we want to use it.

Loại dữ liệu

Chúng tôi đã nói về các biến là lưu trữ cho dữ liệu, bây giờ hãy để nói về dữ liệu.

Trong Python, dữ liệu có loại.

Ví dụ, trong đoạn mã ở trên, dữ liệu xin chào thế giới! có một loại cụ thể mà Python (và các ngôn ngữ lập trình khác) gọi chuỗi.Hello World! has a specific type that Python (and other programming languages) call string.

Một chuỗi chỉ đơn giản là một chuỗi các ký tự.String is simply a sequence of characters.

Nhưng chuỗi không phải là loại dữ liệu duy nhất trong Python, cũng có số nguyên, số điểm nổi, boolean, danh sách, bộ dữ liệu và từ điển.

Vào cuối cấp độ 0, bạn cần thoải mái với các loại dữ liệu này và hiểu khi nào (và làm thế nào) để sử dụng chúng trong chương trình của bạn.

Hoạt động

Hoạt động là cách bạn thao tác và thay đổi dữ liệu trong chương trình của mình.

Nói cách khác, các chương trình của bạn cần vận hành trên dữ liệu và tạo thêm dữ liệu, mà bạn cũng hoạt động, cho đến khi bạn đạt được kết quả cuối cùng.

Đây chỉ là vòng đời của bất kỳ chương trình.

Trong Python và tất cả các ngôn ngữ lập trình, có ít nhất các hoạt động số học, so sánh và logic.

# an example of an arithmetic operation
x = 5 + 2

# an example of a comparison operation
y = 3 > 4

# an example of a logic operation
z = True or False

Điều kiện

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Để viết bất kỳ chương trình nào hữu ích, bạn hầu như sẽ luôn cần khả năng kiểm tra các điều kiện và thay đổi hành vi của chương trình cho phù hợp.

Các câu lệnh sử dụng nếu, nếu khác hoặc nếu elsif khác cung cấp cho bạn khả năng này.if, if else, or if elsif else gives you this ability.

Dưới đây là một ví dụ về một tuyên bố if-else trong Python.

>>> if 3 > 5:
...   print('3 is greater than 5')
... else:
...   print('3 is not greater than 5')
...
3 is not greater than 5

Chức năng

Một hàm về cơ bản là một khối mã python chỉ chạy khi nó được gọi.

Bạn có thể chuyển các tham số vào một hàm dưới dạng đầu vào và một hàm có thể trả về dữ liệu dưới dạng đầu ra.

Trong Python, bạn xác định một hàm bằng cách sử dụng từ khóa def.def keyword.

Dưới đây là một ví dụ về chương trình Hello World sử dụng hàm Say_hellosay_hello

def say_hello(msg):
  # this is the function
  # msg is the input parameter
  print(f'hello {msg}')

# calling the say_hello function
say_hello('world')

# output:
# hello world

Vì vậy, đây là một ví dụ về các khái niệm cơ bản mà bạn nên học ở cấp độ này.

Nhưng quan trọng nhất, những gì bạn thực sự cần làm để làm chủ cấp độ này là sử dụng các khái niệm trên để giải quyết các vấn đề.

Bạn sẽ không bao giờ là một lập trình viên giỏi nếu tất cả những gì bạn làm là đọc sách hoặc tham gia các khóa học.

Bạn cần thực hành giải quyết các vấn đề vì vậy hãy làm bẩn tay và bắt đầu giải quyết các vấn đề đơn giản bằng cách sử dụng Python. Bạn có thể bắt đầu bằng cách giải quyết các vấn đề của dự án Euler.

Tôi có thể nhấn mạnh đủ tầm quan trọng của việc làm chủ cấp 0.mastering level 0.

Lý do cho điều đó là, cấp độ này đặt nền tảng và các khái niệm cơ bản cho không chỉ làm chủ Python mà còn thành thạo bất kỳ ngôn ngữ lập trình nào khác.

Vì vậy, mặc dù đây là cấp độ 0, nhưng don hãy xem nhẹ nó.

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Cấp 1: & NBSP; Lập trình hướng đối tượng

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Nếu bạn ở cấp độ này, thì tôi có một khóa học sẽ dạy cho bạn mọi thứ bạn cần biết về lập trình hướng đối tượng. Kiểm tra nó ở đây 🙂

Tất cả mọi thứ trong Python là một đối tượng.

Bạn có thể đã nghe điều này rồi, hoặc bạn định được nghe về nó 🙂

Nhưng đợi một phút, chính xác thì một đối tượng là gì?

Có nhiều cách khác nhau, mô hình hoặc mô hình để viết các chương trình máy tính.

Một trong những mô hình lập trình phổ biến nhất được gọi là lập trình hướng đối tượng (OOP).

Trong lập trình hướng đối tượng, an & nbsp; object & nbsp; đề cập đến một trường hợp cụ thể của lớp A & nbsp; lớp.

Và một lớp giống như một bản thiết kế của nhà nước và các hành động mà một đối tượng có thể thực hiện.Class is like a blueprint of the state and actions that an object can take.

Ví dụ, trong Python, một lớp người có thể trông giống như thế này.Person Class might look something like this.

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age
  
  def get_name(self):
    return self.name

Lớp được tuyên bố ở trên mô tả trạng thái và hành động của bất kỳ đối tượng nào.Person object.

Ví dụ, bất kỳ đối tượng người nào sẽ có tên và một độ tuổi. Hai trường này là những gì quyết định trạng thái của đối tượng.name and an age. These two fields are what determines the state of the object.

Trong thuật ngữ OOP, tên và tuổi được gọi là thuộc tính đối tượng.name and age are called the object attributes.

Bạn cũng có thể gọi get_name () trên bất kỳ đối tượng nào để trả về tên của người đó.get_name() on any Person object to return the name of the person.

Chúng tôi gọi get_name là một phương thức.get_name a method.

Và phương pháp này, ngoài bất kỳ phương pháp nào khác mà chúng tôi xác định, là những gì quyết định các hành động của đối tượng.

Nói cách khác, một đối tượng Python có các thuộc tính và phương thức được xác định trong lớp đối tượng.

Đây là cách tạo ra một đối tượng một ngườiPerson object

>>> p = Person('Alice', 22)
>>> p.get_name()
'Alice'

Lập trình hướng đối tượng về cơ bản là một cách cấu trúc và thiết kế mã của bạn.

Tuy nhiên, tôi muốn bạn hiểu rằng đó không phải là cách duy nhất, và nó không nhất thiết là cách tốt nhất.

Để học OOP trong Python, bạn cần tiến bộ qua một vài bước.

Bước 1: Tìm hiểu các khái niệm về OOP

Như tôi đã đề cập trước đó, OOP là một mô hình lập trình, một cách cấu trúc và thiết kế mã của bạn.

Các khái niệm OOP không dành riêng cho Python vì vậy các khái niệm bạn sẽ học sẽ dễ dàng chuyển sang bất kỳ ngôn ngữ lập trình nào khác.

Một số ví dụ về các khái niệm này là sự kế thừa, đóng gói và đa hình.

Vì vậy, hãy chắc chắn rằng bạn hiểu các khái niệm này ở cấp độ trừu tượng trước khi bạn nhảy vào Python từ OOP.

Bước 2: Tìm hiểu về các lớp và đối tượng Python

Trong bước này, bạn cần áp dụng các khái niệm trừu tượng mà bạn đã học trong bước trước nhưng cụ thể là trong Python.

Hãy thoải mái với các lớp viết và tạo đối tượng.

Viết các lớp kế thừa từ các lớp khác và điều tra các thuộc tính và phương thức của các đối tượng được tạo.

Bước 3: Giải quyết các vấn đề về Python bằng cách sử dụng OOP

Đây là một bước quan trọng.

Trong bước này, bạn muốn tìm hiểu cách sử dụng OOP để thiết kế và cấu trúc mã của bạn.

Và như một vấn đề thực tế, bước này là một nghệ thuật hơn là một khoa học. Điều đó có nghĩa là cách duy nhất để trở nên tốt hơn là thông qua thực hành, thực hành và thực hành nhiều hơn.

Một lần nữa tiếp tục giải quyết nhiều vấn đề hơn bằng cách sử dụng Python, nhưng hãy cố gắng cấu trúc các giải pháp của bạn theo cách hướng đối tượng.

Bạn càng luyện tập, bạn sẽ càng cảm thấy thoải mái với OOP.

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Cấp độ 2: Lập trình đồng thời và song song

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Những ngày của bộ xử lý lõi đơn đã biến mất.

Ngày nay, cho dù bạn đang mua một máy tính xách tay ngoài kệ hay máy chủ cao cấp cho doanh nghiệp của bạn, bộ xử lý của bạn chắc chắn sẽ có nhiều lõi.

Và đôi khi, chương trình của bạn cần tận dụng nhiều lõi này để chạy song song.

Điều này có khả năng dẫn đến tăng thông lượng, hiệu suất cao hơn và khả năng đáp ứng tốt hơn.

Nhưng hãy để tôi rõ ràng về một điều ở đây.

Nếu hiệu suất cao và thông lượng tăng là hoàn toàn quan trọng, Python sẽ là ngôn ngữ tốt nhất để hỗ trợ lập trình song song.

Trong tình huống này, cá nhân tôi sẽ thích Golang thay thế (hoặc C cũ tốt).golang instead (or good old C).

Nhưng vì đây là một bài viết về Python, hãy để chúng tôi tập trung vào Python.

Trước khi bạn đi sâu vào và viết chương trình song song đầu tiên của bạn, có một số khái niệm xử lý song song mà bạn nên tìm hiểu về đầu tiên.

Dưới đây là một số khái niệm này.

Loại trừ lẫn nhau

Khi bạn có một số dữ liệu được chia sẻ trên nhiều luồng hoặc quy trình, điều quan trọng là phải đồng bộ hóa quyền truy cập vào các tài nguyên được chia sẻ này.

Nếu bạn không ủng hộ, một điều kiện chủng tộc có thể xảy ra có thể dẫn đến những hậu quả bất ngờ và đôi khi là thảm họa. Tôi sẽ nói nhiều hơn về điều kiện cuộc đua sau này.

Loại trừ lẫn nhau có nghĩa là một luồng chặn tiến trình tiếp theo của các luồng đồng thời khác yêu cầu sử dụng tài nguyên được chia sẻ.

Khóa

Khóa là một trong những triển khai khác nhau của loại trừ lẫn nhau.

Để hiểu khóa là gì, bạn có thể nghĩ về chúng từ góc độ khái niệm.

Nếu một chủ đề muốn truy cập vào một tài nguyên được chia sẻ, chủ đề này phải lấy một khóa trước khi nó được cấp quyền truy cập vào tài nguyên đó.

Và sau khi nó được thực hiện với tài nguyên, nó phát hành khóa này.

Nếu khóa không có sẵn vì nó được lấy bởi một luồng khác, thì luồng phải đợi khóa được phát hành trước.

Khái niệm đơn giản này đảm bảo rằng nhiều nhất là một luồng có thể có quyền truy cập vào một tài nguyên được chia sẻ tại một thời điểm.

Bế tắc

Một bế tắc là khi chương trình của bạn dừng lại hoàn toàn bởi vì một số chủ đề có thể tiến triển hơn nữa vì họ có thể có được một khóa.

Ví dụ, hãy tưởng tượng Chủ đề A đang chờ đợi trên chủ đề B để phát hành khóa. Đồng thời, Thread B đang chờ đợi trên luồng A để phát hành một khóa khác mà luồng A hiện đang giữ.

Trong tình huống thảm khốc này, không có chủ đề A hay chủ đề B nào có thể tiến triển hơn nữa để chương trình của bạn được tổ chức!

Đây là một bế tắc là những gì.

Và nó xảy ra thường xuyên hơn bạn nghĩ.

Để làm cho tình hình tồi tệ hơn, nó cũng là một trong những vấn đề khó khăn nhất để gỡ lỗi.

Điều kiện chủng tộc

Như tôi đã đề cập trước đó, một điều kiện cuộc đua là một tình huống phát sinh khi truy cập vào một tài nguyên được chia sẻ được bảo vệ (ví dụ, bằng khóa).

Điều này có thể dẫn đến kết quả bất ngờ tai hại.

Hãy xem ví dụ này.

import threading
# x is a shared value
x = 0
COUNT = 1000000

def inc():
    global x
    for _ in range(COUNT):
        x += 1

def dec():
    global x
    for _ in range(COUNT):
        x -= 1

t1 = threading.Thread(target=inc)
t2 = threading.Thread(target=dec)
t1.start()
t2.start()
t1.join()
t2.join()

print(x)

Đây là những gì mã trên làm. Có một biến toàn cầu được chia sẻ X được khởi tạo thành 0.x that is initialized to 0.

Hai chức năng Inc và dec chạy song song. Inc () tăng giá trị x 1 triệu lần trong khi dec () làm giảm giá trị x 1 triệu lần.inc and dec run in parallel. inc() increments the value of x 1 million times whereas dec() decrements the value of x 1 million times.

Bằng cách nhanh chóng đi qua mã, có thể kết luận rằng giá trị cuối cùng của X nên là 0, nhưng phải không?x should be 0… but is it?

Đây là những gì tôi nhận được khi tôi chạy mã trên.

 $ python3 race.py
158120
 $ python3 race.py
137791
 $ python3 race.py
-150265
 $ python3 race.py
715644

Lý do tại sao điều này xảy ra là tài nguyên được chia sẻ X không được bảo vệ (ví dụ như khóa).x is not protected (by locks for example).

Lập trình song song Python

Chỉ sau khi bạn thoải mái với các khái niệm được thảo luận ở trên rằng bạn đã sẵn sàng học cách viết các chương trình đồng thời bằng Python.

Đầu tiên, bạn nên tìm hiểu làm thế nào định nghĩa của Python về đa xử lý khác với đa luồng. (Nhân tiện, điều này hoàn toàn không liên quan đến các chủ đề và quy trình từ góc độ HĐH).

Để hiểu sự khác biệt này giữa đa xử lý và đa luồng theo quan điểm của Python, bạn sẽ cần phải tìm hiểu và hiểu được khóa phiên dịch toàn cầu (GIL).

Bạn cũng sẽ cần phải tìm hiểu về các mô -đun, hàng đợi và đa xử lý & nbsp; python.

Tất cả các mô -đun này cung cấp cho bạn các nguyên thủy bạn cần viết các chương trình song song.

Dưới đây là một bài viết tốt về đa xử lý trong Python.

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Cấp 3: Lập trình ổ cắm

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Đến bây giờ bạn nên rất thoải mái khi viết mã Python chạy trên một máy.

Nhưng nếu bạn muốn viết mã giao tiếp với các máy khác qua mạng?

Nếu bạn muốn làm điều đó, thì bạn cần tìm hiểu về lập trình ổ cắm.

Và tôi khuyên bạn nên tìm hiểu về những điều cơ bản của mạng máy tính trước tiên. & NBSP; Đây là cuốn sách yêu thích của tôi.

Sau khi bạn tìm hiểu các khái niệm mạng cơ bản, bạn có thể sử dụng các thư viện Python, để viết mã trên một máy giao tiếp với mã trên một máy khác.

Nó giống như ma thuật. Tôi vẫn còn nhớ sự phấn khích mà tôi cảm thấy lần đầu tiên tôi có hai máy tính xách tay giao tiếp qua lại với nhau qua mạng WiFi.

Thực hiện theo ba bước này để bắt đầu.

Bước 1: Viết chương trình Echo

Trong bước này, bạn sẽ sử dụng mô -đun ổ cắm Python, để viết một máy chủ TCP đơn giản trên một máy và máy khách TCP trên một máy khác.

Hãy chắc chắn rằng chúng là hai máy tính khác nhau và cả hai đều được kết nối với mạng gia đình của bạn.

Ý tưởng của chương trình Echo rất đơn giản. Phía máy khách đọc một thông báo từ người dùng và gửi tin nhắn này đến máy chủ qua mạng.

Ở phía máy chủ, khi nhận được tin nhắn này, máy chủ lặp lại cùng một tin nhắn trở lại máy khách.

Hãy nghĩ về chương trình Echo là chương trình Hello World nhưng để lập trình ổ cắm.Echo program as the Hello World program but for socket programming.

Sau đó, bạn có thể chuyển sang các chương trình phức tạp hơn.

Bước 2: Chơi xung quanh với HTTP

Khi bạn thoải mái khi viết các ứng dụng máy khách TCP đơn giản, bạn có thể bắt đầu sử dụng mô-đun yêu cầu Python, để gửi và nhận tin nhắn HTTP.

Điều này đặc biệt hữu ích vì phần lớn các dịch vụ web ngày nay cung cấp giao diện API HTTP mà bạn có thể tương tác với chương trình. Ví dụ: Facebook, Twitter và Google Maps đều có giao diện API HTTP mà mã của bạn có thể liên lạc.

Và nếu bạn cảm thấy phiêu lưu hơn một chút và muốn đưa nó đi xa hơn một chút, bạn cũng có thể cạo web với BeautifulSoup.

Bước 3: Biết các công cụ của bạn

Giống như bất kỳ chương trình nào khác, đôi khi khi bạn viết một chương trình kết nối mạng, chương trình của bạn sẽ không hoạt động từ lần thử đầu tiên.

Tuy nhiên, việc gỡ lỗi các chương trình mạng hơi khác so với gỡ lỗi các chương trình thông thường.

Đó là lý do tại sao bạn cần trang bị cho mình các công cụ cần thiết để khắc phục những gì mà xảy ra.

Dưới đây là một số công cụ kết nối mạng phổ biến nhất mà bạn sẽ cần.

Ping & nbsp; được sử dụng để kiểm tra kết nối giữa máy của bạn và một máy khác. is used to check the connectivity between your machine and another one.

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

NetStat & NBSP; là một công cụ mạng đa năng cho phép bạn, trong số những thứ khác, giám sát các kết nối mạng cả đến và đi.is a versatile networking tool that allows you to, among other things, monitor network connections both incoming and outgoing.

TCPDUMP là một trong những công cụ yêu thích của tôi để học mạng. Các công cụ CNTT cho phép bạn nghe, chụp và phân tích các gói thực đi vào và ra khỏi máy tính của bạn thông qua bất kỳ giao diện mạng nào. is one of my favorite tools for learning networks. It tools allows you to listen to, capture, and analyze real packets going into and out of your computer through any network interface.

Wireshark là một giao diện GUI đẹp, thực hiện khá nhiều thứ mà & nbsp; tcpdump có thể làm. Tôi khuyên bạn nên bắt đầu với Wireshark trước khi chuyển sang TCPDump chỉ vì nó thân thiện hơn một chút. is a nice GUI interface that does pretty much everything that tcpdump can do. I recommend starting out with Wireshark before moving on to tcpdump just because it’s a little more user-friendly.

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Và như tôi đã nói, để hiểu những gì tất cả những điều này nhận được, Syn, Syn Ack, Fin có nghĩa là bạn cần học các nguyên tắc cơ bản về mạng.SYN, SYN ACK, FIN mean you need to learn networking fundamentals first.

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Cấp độ 4: Cấu trúc dữ liệu và thuật toán trong Python

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Nếu bạn đạt đến cấp độ này, hãy cho mình một cái vỗ vai.

Bởi vì bây giờ, bạn có các kỹ năng cho phép bạn giải quyết nhiều vấn đề khác nhau.

Tuy nhiên, một cái gì đó bị thiếu.

Bạn vẫn chưa đủ dày dạn trong việc viết mã hiệu quả.efficient code.

Ý tôi là gì?

Ví dụ: bạn không biết cách sửa đổi mã của bạn để làm cho nó chạy nhanh hơn. Bạn thậm chí có thể phân tích lý do tại sao nó chậm ở nơi đầu tiên.

Điều này là bình thường.

Kiến thức bạn đã học được cho đến nay trong các cấp độ trước là không đủ để bạn hiểu rõ về hiệu suất thực sự là gì và làm thế nào để sửa đổi mã hiện tại của bạn để làm cho nó chạy nhanh hơn.

Don Tiết tin tôi? Nhìn vào mã đơn giản này tính toán số Fibonacci thứ n.

def fib(n):
    if n < 2:
        return n
    return fib(n-2) + fib(n-1)

print(fib(100))

Mã trông đủ đơn giản và rất đơn giản, phải không?

Hãy thử sử dụng mã này để tính toán & nbsp; fib (100) & nbsp; [Cảnh báo spoiler: Sẽ mất một thời gian rất dài]fib(100) [SPOILER ALERT: it will take an extremely long time]

Bây giờ, hãy để một sửa đổi đơn giản cho mã.

def fib(n, d):
    if n < 2:
        return n
    if n not in d:
        d[n] = fib(n-2, d) + fib(n-1, d)
    return d[n]

print(fib(100, {}))

Lần này tất cả những gì nó đã mất là vài mili giây và bạn sẽ nhận được câu trả lời, đó là 354224848179261915075 chỉ trong trường hợp bạn đang tự hỏi 🙂354224848179261915075 just in case you’re wondering 🙂

Tôi đã sử dụng những gì mà Lừa gọi là lập trình động để giải quyết vấn đề này và làm cho nó chạy nhanh hơn về mặt thiên văn.dynamic programming to solve this problem and make it run astronomically faster.

Chà, tôi hy vọng bạn bị thuyết phục bởi bây giờ bạn nên học các cấu trúc dữ liệu và thuật toán.

Các kỹ năng mà bạn sẽ học ở cấp độ này là một số sự khác biệt chính giữa các lập trình viên trung bình và lập trình viên rắn.

Bạn sẽ cần phải tìm hiểu về các danh sách, cây, ngăn xếp, hàng đợi, biểu đồ, bảng băm, lập trình động, lập trình động, tìm kiếm và sắp xếp các thuật toán, v.v.

Một khi bạn nắm vững các khái niệm này, bạn nên đi xa để có được một công việc kỹ thuật phần mềm tại bất kỳ công ty công nghệ nào bạn chọn.any tech company of your choice.

Tôi thực sự có nghĩa là nó!

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Cấp 5: Thực hành phỏng vấn mã hóa Python

Xin chúc mừng! Bây giờ bạn có những gì cần thiết để áp dụng cho bất kỳ công việc kỹ thuật phần mềm nào trong bất kỳ công ty công nghệ nào trên toàn thế giới.

Bạn chỉ cần vượt qua cuộc phỏng vấn mã hóa đáng sợ này.

Trong thực tế, một loạt trong số họ.

Nếu bạn ở cấp độ này, tôi đã viết một bài viết chuyên sâu về cách bạn có thể chuẩn bị cho một cuộc phỏng vấn mã hóa.

Một cuộc phỏng vấn mã hóa điển hình sẽ đánh giá các kỹ năng giải quyết vấn đề, kỹ năng giao tiếp, kiến ​​thức về cấu trúc dữ liệu và thuật toán của bạn, ngoài việc bạn tốt và hiệu quả khi dịch suy nghĩ của bạn thành mã.

Cách tốt nhất để vượt qua các cuộc phỏng vấn mã hóa là cho bản thân một lượng thời gian chuẩn bị nhiều.

Bạn càng chuẩn bị, trải nghiệm phỏng vấn của bạn sẽ càng tốt và bạn càng có nhiều khả năng tìm được công việc mơ ước của mình.

Leetcode là một nguồn tài nguyên tuyệt vời với hàng tấn câu hỏi phỏng vấn mã hóa.

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

LeetCode cho phép bạn gửi các giải pháp Python của mình cho các câu hỏi mã hóa và nhận phản hồi ngay lập tức về tính hợp lệ và hiệu quả của các giải pháp của bạn. allows you to submit your Python solutions to the coding questions and get instant feedback about the validity and the efficiency of your solutions.

Sau khi bạn bắt đầu làm việc, bạn sẽ học được rất nhiều về công việc và bạn sẽ bắt đầu có được nhiều kinh nghiệm trong một khoảng thời gian rất ngắn.

Đây là khi cấp 6 bắt đầu.

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Cấp 6: Python nâng cao

Nếu bạn muốn mạo hiểm vào lãnh thổ của Python Fluence và đưa các kỹ năng của bạn lên một tầm cao mới, thì tôi rất khuyến khích cuốn sách Python Fluent Python.

Cuốn sách này giả định rằng bạn đã có một sự hiểu biết vững chắc về những điều cơ bản của Python.

Trong & nbsp; Fluent Python, một số khái niệm mà bạn đã học được từ các cuốn sách giới thiệu & nbsp; được bao phủ từ một góc độ khác, chi tiết hơn và với độ sâu lớn hơn.

Thêm vào đó, bạn cũng sẽ tìm hiểu một số khái niệm mới.

Ví dụ, một số khái niệm mới mà bạn sẽ học trong cuốn sách này là

  1. Chức năng bậc cao: Giải thích cách sử dụng các hàm như hạng nhất: explains how functions can be used as first-class
  2. Điều này trong Python
  3. Dòng điều khiển: Bao gồm chủ đề của máy phát điện, người quản lý bối cảnh, coroutines và đồng thời: covers the topic of generators, context managers, coroutines, and concurrency
  4. Metaprogramming: Về cơ bản, đây là viết mã thao túng mã. Một số chủ đề được thảo luận ở đây là các nhà trang trí và lớp meta: essentially this is writing code that manipulates code. Some of the topics discussed here are decorators and meta-classes

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Tùy chọn 1: Thư viện và khung Python

Bây giờ bạn có tất cả những điều cơ bản được bảo hiểm, bạn là một Python Pro.

Tốt lắm.

Nhưng cuộc hành trình không kết thúc ở đây, Python có rất nhiều thư viện hữu ích có thể giúp bạn nhiều hơn.

Biết những thư viện nên sử dụng và khi nào nên sử dụng chúng có thể giúp bạn tiết kiệm rất nhiều thời gian và công sức và cho phép bạn có bề rộng kiến ​​thức cần thiết để chọn đúng công cụ cho công việc phù hợp.

Vì vậy, hãy để nói về một số thư viện và khung Python phổ biến nhất.

1. Xây dựng các dịch vụ API với Python (Bình)

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Ngày nay, cách các ứng dụng web lớn và có thể mở rộng được xây dựng là bằng cách tạo ra một loạt các ứng dụng nhỏ hơn giao tiếp với nhau.

Kiến trúc này được gọi là Kiến trúc dịch vụ vi mô [Cảnh báo thông dụng] và mỗi ứng dụng nhỏ hơn này được gọi là dịch vụ hoặc dịch vụ vi mô.

Các dịch vụ vi mô này có thể giao tiếp theo nhiều cách khác nhau nhưng một trong những phương pháp phổ biến nhất là HTTP.

Nói cách khác, mỗi một trong những dịch vụ này sẽ hiển thị API HTTP mà các dịch vụ khác sẽ có thể nói chuyện.

Như đã nói, đó là một khoản đầu tư rất tốt để học cách tạo ra các dịch vụ API trong Python.

Và một trong những thư viện Python phổ biến nhất làm cho siêu dễ dàng này là bình.

Đây là một hướng dẫn tốt về bình.

2. Xây dựng các ứng dụng web với Django

Django là một khung web chính thức cho phép bạn tạo toàn bộ ứng dụng web (cả mặt trước và back-end) trong Python.

Bằng cách học Django, bạn cũng sẽ được giới thiệu với một số khái niệm rất phổ biến trong các khung web khác trong các ngôn ngữ khác như MVC (mô hình-View-Controller) và ORM (Mapper quan hệ đối tượng).MVC (model-view-controller) and ORM (object-relational mapper).

MVC là một cách cấu trúc và tổ chức ứng dụng web của bạn trong khi ORM là một kỹ thuật thu hẹp khoảng cách giữa lập trình hướng đối tượng và truy cập dữ liệu trong cơ sở dữ liệu. is a way of structuring and organizing your web application whereas ORM is a technique that bridges the gap between object-oriented programming and accessing data in a database.

Và trong khi chúng tôi nói về chủ đề ORM, thì điều đáng nói là bạn nên xem SQLalchemy, một thư viện ORM rất phổ biến và được sử dụng rộng rãi trong Python.

Vì vậy, hãy cuộn tay áo lên và tiếp tục, tạo ứng dụng web đầu tiên của bạn 🙂

3. Thư viện máy học

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Python đã trở thành ngôn ngữ phi thực tế cho học máy và khoa học dữ liệu.

Điều này không có gì đáng ngạc nhiên, do sự trưởng thành của các thư viện học máy Python.

Nếu bạn muốn trở thành một nhà khoa học dữ liệu, tôi khuyên bạn nên học các nguyên tắc cơ bản về toán học và thống kê của học máy trước khi học các thư viện ML trong Python.

Giới thiệu về Học tập thống kê & NBSP; là một nơi tuyệt vời để bắt đầu.

Nếu bạn thích một khóa học video thay thế, thì bạn nên tham gia khóa học Andrew ng ML trên Coursera.

Khi bạn có những điều cơ bản được bảo hiểm, hãy bắt đầu chơi xung quanh với các thư viện Python này.

1- Scikit-learn Thư viện này có mọi thứ dưới ánh mặt trời khi nói đến thuật toán ML. This library has everything under the sun when it comes to ML algorithms.

2- Tensorflow Một khung học máy nguồn mở rất phổ biến khác. Another very popular open-source machine learning framework.

3- Pandas Một thư viện phân tích dữ liệu phổ biến. A popular data analysis library.

Tùy chọn 2: Thực hiện Python (CPYThon)

Python là một ngôn ngữ được giải thích.

Điều này có nghĩa là mã python của bạn không được biên dịch trực tiếp vào mã máy, nhưng trước tiên, nó được biên dịch thành ngôn ngữ trung gian, được gọi là mã byte, sau đó được giải thích bởi một phần mềm khác được gọi là trình thông dịch.byte code, which is later interpreted by another piece of software called the interpreter.

Hướng dẫn what is the correct order to learn python? - thứ tự đúng để học python là gì?

Bạn có muốn xem mã byte trông như thế nào đối với một chương trình Hello World đơn giản?bytecode looks like for a simple Hello World program?

Hãy để tạo một tệp nguồn Helloworld.pyhelloworld.py

# an example of an arithmetic operation
x = 5 + 2

# an example of a comparison operation
y = 3 > 4

# an example of a logic operation
z = True or False
0

Đây là cách xem mã byte cho mã nguồn trênbytecode for the above source code

# an example of an arithmetic operation
x = 5 + 2

# an example of a comparison operation
y = 3 > 4

# an example of a logic operation
z = True or False
1

Mã byte này sau đó sẽ được giải thích bởi một thông dịch viên. Đây là khi nó được thực hiện và cuối cùng bạn cũng thấy Hello World được in trên màn hình của bạn.bytecode will then be interpreted by an interpreter. This is when it gets executed and you finally see hello world printed on your screen.

Có nhiều triển khai Python khác nhau cho trình biên dịch và trình thông dịch.

Tuy nhiên, cpython & nbsp; là một mặc định và được sử dụng rộng rãi nhất. Nó được viết hoàn toàn bằng C. CPython is the default and most widely-used one. It’s written entirely in C.

Đó là cả một & nbsp; phiên dịch & nbsp; và một trình biên dịch vì nó biên dịch & nbsp; python & nbsp; mã thành mã byte và sau đó diễn giải mã byte vào ngôn ngữ máy.interpreter and a compiler as it compiles Python code into bytecode and then interprets the bytecode into machine language.

Vậy tại sao tôi lại nói về việc thực hiện Python?

Bạn có thực sự cần phải biết chi tiết lớn này của Python để trở thành một bậc thầy Python?

Thành thật mà nói, câu trả lời là không.

Nhưng nếu bạn tò mò về cách danh sách, bộ dữ liệu, chức năng của Python, .. vv được thực hiện và nếu bạn sẵn sàng học một ngôn ngữ mới (c) trên đường đi, thì có lẽ bạn nên xem xét đóng góp cho CPython.CPython.

Và nếu bạn không biết làm thế nào để bắt đầu, thì tôi rất khuyến khích khóa học 10 giờ của Philip Guo trên Cpython.

Các câu hỏi thường gặp

Q: Có khó để học Python không?

Khó và dễ dàng là tương đối.

Điều tôi có thể đảm bảo với bạn là việc học Python dễ dàng hơn việc học các ngôn ngữ lập trình khác như C ++ và tôi yêu C ++ bằng cách này

Đó cũng là trường hợp mà hầu hết các trường đại học sử dụng Python cho lớp CS 101 của họ chỉ vì việc học Python dễ dàng và nhanh như thế nào.

Q: Mất bao lâu để học Python?

Nếu bạn hoàn toàn mới để lập trình nói chung, tôi sẽ tự cho mình 6 tháng để học cấp 0 (những điều cơ bản) và cấp 1 (OOP).

Nếu bạn đã là một lập trình viên đến từ một ngôn ngữ lập trình khác, tôi sẽ cho nó hai tuần.

Ngoài cấp 1, không dễ để đánh giá bạn sẽ mất bao lâu vì để hiểu đầy đủ các khái niệm vượt quá cấp 1, bạn cũng cần học rất nhiều khái niệm cơ bản CS trực giao với Python (ví dụ: cấu trúc dữ liệu, thuật toán , Hệ điều hành, Mạng, v.v ...)

H: Tôi chưa quen với lập trình, tôi có thể học Python trong 24 giờ hay một tuần không?

No.

Q: Tôi có thể làm gì với Python?

Tôi đã viết một bài viết về điều đó.

Q: Tôi nên học Python 2 hay Python 3?

Python 3.

Python 2 đã đạt đến cuối đời và không còn được duy trì nữa.

Q: Bạn có cung cấp tài nguyên nào để học Python không?

Đúng. Dưới đây là các tài nguyên tôi cung cấp:

  1. Blog này sau đó.comafternerd.com
  2. Bản tin của tôi.
  3. [Mới] Kênh YouTube của tôi.
  4. [Mới] Các khóa học cao cấp của tôi.

Và ngoài tôi, có rất nhiều tài nguyên khác trực tuyến.

Các bài viết

  • Con đường học tập Python (từ người mới bắt đầu đến thành thạo)
  • Học khoa học máy tính (từ số không đến anh hùng)
  • Hướng dẫn chuẩn bị phỏng vấn mã hóa
  • Hướng dẫn lập trình viên về đầu tư thị trường chứng khoán
  • Làm thế nào để bắt đầu blog lập trình của bạn?

Bạn đang bắt đầu sự nghiệp lập trình của mình?

Tôi cung cấp nội dung tốt nhất của tôi cho người mới bắt đầu trong bản tin.

  • Mẹo Python cho người mới bắt đầu, cấp trung cấp và nâng cao.
  • Lời khuyên và lời khuyên về nghề nghiệp CS.
  • Giảm giá đặc biệt cho các khóa học cao cấp của tôi khi chúng ra mắt.

Và nhiều hơn nữa…

Theo dõi ngay. Nó miễn phí.

Tôi nên học những gì trước tiên ở Python?

Năm điều cần biết trước khi học Python..
1: Python là một ngôn ngữ được giải thích ..
2: Python là định hướng đối tượng, nhưng không độc quyền ..
3: Python không được gõ mạnh (đó là một thanh kiếm hai lưỡi).
4: Vấn đề khoảng trắng trong Python ..
5: Sử dụng môi trường ảo để ngăn chặn xung đột phụ thuộc ..
Conclusion..

Tôi nên bắt đầu Python cho người mới bắt đầu từ đâu?

Python.org Đây là một trong những hướng dẫn Python trực tuyến miễn phí.Theo Python.org, bạn sẽ nhận được rất nhiều tài liệu tham khảo và tài liệu để làm việc với ngôn ngữ.Nó sẽ dạy bạn ngay từ các khái niệm cơ bản.Sau đó, bạn cũng có thể tìm hiểu về một số chủ đề nâng cao cũng như thư viện Python. It is one of the free online Python tutorials. Under Python.org, you will get a lot of references and materials to work with the language. It will teach you right from the basic concepts. Later, you can also learn about some advanced topics as well such as Python libraries.

Tôi có thể học Python trong 4 ngày không?

Trung bình, có thể mất từ năm đến 10 tuần để tìm hiểu những điều cơ bản của lập trình Python, bao gồm lập trình hướng đối tượng, cú pháp Python cơ bản, kiểu dữ liệu, vòng lặp, biến và chức năng.it can take anywhere from five to 10 weeks to learn the basics of Python programming, including object-oriented programming, basic Python syntax, data types, loops, variables, and functions.

Tôi có thể học Python trong 15 ngày không?

Nếu bạn chỉ muốn tìm hiểu những điều cơ bản của Python, nó chỉ có thể mất vài tuần.Tuy nhiên, nếu bạn đang theo đuổi sự nghiệp khoa học dữ liệu ngay từ đầu, bạn có thể hy vọng sẽ mất bốn đến mười hai tháng để tìm hiểu đủ Python tiên tiến để sẵn sàng cho công việc.. However, if you're pursuing a data science career from the beginning, you can expect it to take four to twelve months to learn enough advanced Python to be job-ready.