Python được sử dụng ở đâu?
Nếu bạn đang nghĩ đến việc học Python — hoặc nếu bạn mới bắt đầu học nó — bạn có thể đang tự hỏi mình Show
“Chính xác thì tôi có thể sử dụng Python để làm gì?” Chà, đó là một câu hỏi khó trả lời, bởi vì có rất nhiều ứng dụng dành cho Python Nhưng theo thời gian, tôi quan sát thấy có 3 ứng dụng phổ biến chính cho Python
Hãy lần lượt nói về từng người trong số họ Phát triển webCác khung web dựa trên Python như Django và Flask gần đây đã trở nên rất phổ biến để phát triển web Các khung web này giúp bạn tạo mã phía máy chủ (mã phụ trợ) bằng Python. Đó là mã chạy trên máy chủ của bạn chứ không phải trên thiết bị và trình duyệt của người dùng (mã giao diện người dùng). Nếu bạn không quen thuộc với sự khác biệt giữa mã phụ trợ và mã đầu cuối, vui lòng xem chú thích của tôi bên dưới Nhưng chờ đã, tại sao tôi lại cần một web framework?Đó là bởi vì khung web giúp dễ dàng xây dựng logic phụ trợ chung hơn. Điều này bao gồm ánh xạ các URL khác nhau tới các đoạn mã Python, xử lý cơ sở dữ liệu và tạo các tệp HTML mà người dùng nhìn thấy trên trình duyệt của họ Tôi nên sử dụng khung web Python nào?Django và Flask là hai trong số các khung web Python phổ biến nhất. Tôi khuyên bạn nên sử dụng một trong số chúng nếu bạn mới bắt đầu Sự khác biệt giữa Django và Flask là gì?Có một bài báo xuất sắc về chủ đề này của Gareth Dwyer, vì vậy hãy để tôi trích dẫn nó ở đây tương phản chính
Có lẽ bạn nên chọn
Nói cách khác, nếu bạn là người mới bắt đầu, Flask có lẽ là lựa chọn tốt hơn vì nó có ít thành phần hơn để xử lý. Ngoài ra, Flask là lựa chọn tốt hơn nếu bạn muốn tùy chỉnh nhiều hơn Mặt khác, nếu bạn đang muốn xây dựng thứ gì đó ngay lập tức, Django có thể sẽ giúp bạn đạt được điều đó nhanh hơn Bây giờ, nếu bạn đang muốn học Django, tôi giới thiệu cuốn sách có tên Django cho người mới bắt đầu. bạn có thể tìm thấy nó ở đây Bạn cũng có thể tìm thấy các chương mẫu miễn phí của cuốn sách đó tại đây Được rồi, chúng ta hãy đi đến chủ đề tiếp theo Khoa học dữ liệu - bao gồm học máy, phân tích dữ liệu và trực quan hóa dữ liệuTrước hết, hãy xem lại học máy là gìTôi nghĩ cách tốt nhất để giải thích máy học là gì là đưa cho bạn một ví dụ đơn giản Giả sử bạn muốn phát triển một chương trình tự động phát hiện nội dung trong ảnh Vì vậy, đưa ra hình ảnh dưới đây (Hình 1), bạn muốn chương trình của mình nhận ra rằng đó là một con chó Bức tranh 1Đưa ra cái khác bên dưới (Hình 2), bạn muốn chương trình của mình nhận ra rằng đó là một bảng ảnh 2Bạn có thể nói, tốt, tôi chỉ có thể viết một số mã để làm điều đó. Ví dụ: có thể nếu có nhiều pixel màu nâu nhạt trong ảnh thì chúng ta có thể nói rằng đó là một con chó Hoặc có thể, bạn có thể tìm ra cách phát hiện các cạnh trong ảnh. Sau đó, bạn có thể nói, nếu có nhiều cạnh thẳng thì đó là một cái bàn Tuy nhiên, cách tiếp cận này trở nên phức tạp khá nhanh. Điều gì sẽ xảy ra nếu có một con chó trắng trong ảnh không có lông nâu? Đây là nơi máy học xuất hiện Học máy thường thực hiện một thuật toán tự động phát hiện một mẫu trong đầu vào đã cho Chẳng hạn, bạn có thể đưa 1.000 bức ảnh về một chú chó và 1.000 bức ảnh về một cái bàn cho một thuật toán máy học. Sau đó, nó sẽ học được sự khác biệt giữa một con chó và một cái bàn. Khi bạn đưa cho nó một hình ảnh mới về một con chó hoặc một cái bàn, nó sẽ có thể nhận ra đó là cái gì Tôi nghĩ điều này hơi giống với cách một em bé học những điều mới. Làm thế nào để một em bé biết rằng một thứ trông giống một con chó và một thứ khác giống cái bàn? Bạn có thể không nói rõ ràng với một em bé rằng “Nếu thứ gì đó có lông và có lông màu nâu nhạt thì đó có thể là một con chó. ” Có lẽ bạn sẽ chỉ nói, “Đó là một con chó. Đây cũng là một con chó. Và đây là một cái bàn. Cái đó cũng là cái bàn. ” Các thuật toán học máy hoạt động theo cùng một cách Bạn có thể áp dụng ý tưởng tương tự cho
trong số các ứng dụng khác Các thuật toán học máy phổ biến mà bạn có thể đã nghe nói bao gồm
Bạn có thể sử dụng bất kỳ thuật toán nào ở trên để giải quyết vấn đề ghi nhãn hình ảnh mà tôi đã giải thích trước đó Python cho máy họcCó các thư viện và khung máy học phổ biến cho Python Hai trong số những cái phổ biến nhất là scikit-learning và TensorFlow
Nếu bạn mới bắt đầu với một dự án máy học, tôi khuyên bạn nên bắt đầu với scikit-learning trước. Nếu bạn bắt đầu gặp phải các vấn đề về hiệu quả, thì tôi sẽ bắt đầu xem xét TensorFlow Tôi nên học máy học như thế nào?Để tìm hiểu các nguyên tắc cơ bản về học máy, tôi khuyên bạn nên tham gia khóa học học máy của Stanford hoặc Caltech Xin lưu ý rằng bạn cần có kiến thức cơ bản về giải tích và đại số tuyến tính để hiểu một số tài liệu trong các khóa học đó Sau đó, tôi sẽ thực hành những gì bạn đã học được từ một trong những khóa học đó với Kaggle. Đó là một trang web nơi mọi người cạnh tranh để xây dựng thuật toán học máy tốt nhất cho một vấn đề nhất định. Họ cũng có những hướng dẫn hay cho người mới bắt đầu Còn phân tích dữ liệu và trực quan hóa dữ liệu thì sao?Để giúp bạn hiểu những thứ này có thể trông như thế nào, hãy để tôi đưa cho bạn một ví dụ đơn giản ở đây Giả sử bạn đang làm việc cho một công ty bán một số sản phẩm trực tuyến Sau đó, với tư cách là nhà phân tích dữ liệu, bạn có thể vẽ biểu đồ thanh như thế này Từ biểu đồ này, chúng ta có thể biết rằng nam giới đã mua hơn 400 đơn vị sản phẩm này và phụ nữ đã mua khoảng 350 đơn vị sản phẩm này vào Chủ nhật cụ thể này Là một nhà phân tích dữ liệu, bạn có thể đưa ra một vài lời giải thích khả dĩ cho sự khác biệt này Một lời giải thích rõ ràng có thể là sản phẩm này phổ biến với nam giới hơn nữ giới. Một lời giải thích khả dĩ khác có thể là cỡ mẫu quá nhỏ và sự khác biệt này chỉ là ngẫu nhiên. Và một lời giải thích khả dĩ khác có thể là nam giới có xu hướng chỉ mua sản phẩm này nhiều hơn vào Chủ nhật vì một số lý do Để hiểu cách giải thích nào là đúng, bạn có thể vẽ một biểu đồ khác như thế này Thay vì chỉ hiển thị dữ liệu cho Chủ nhật, chúng tôi đang xem xét dữ liệu cho cả tuần. Như bạn có thể thấy, từ biểu đồ này, chúng ta có thể thấy rằng sự khác biệt này khá nhất quán qua các ngày khác nhau Từ phân tích nhỏ này, bạn có thể kết luận rằng lời giải thích thuyết phục nhất cho sự khác biệt này là sản phẩm này đơn giản là được nam giới ưa chuộng hơn nữ giới Mặt khác, nếu bạn thấy một biểu đồ như thế này thì sao? Sau đó, điều gì giải thích sự khác biệt vào Chủ nhật? Bạn có thể nói, có lẽ đàn ông có xu hướng mua nhiều sản phẩm này chỉ vào Chủ nhật vì một số lý do. Hoặc, có lẽ đó chỉ là sự trùng hợp ngẫu nhiên khi đàn ông mua nhiều hơn vào Chủ nhật Vì vậy, đây là một ví dụ đơn giản về phân tích dữ liệu có thể trông như thế nào trong thế giới thực Công việc phân tích dữ liệu tôi đã làm khi còn làm việc tại Google và Microsoft rất giống với ví dụ này — chỉ phức tạp hơn. Tôi thực sự đã sử dụng Python tại Google cho loại phân tích này, trong khi tôi sử dụng JavaScript tại Microsoft Tôi đã sử dụng SQL ở cả hai công ty đó để lấy dữ liệu từ cơ sở dữ liệu của chúng tôi. Sau đó, tôi sẽ sử dụng Python và Matplotlib (tại Google) hoặc JavaScript và D3. js (tại Microsoft) để trực quan hóa và phân tích dữ liệu này Phân tích/trực quan hóa dữ liệu với PythonMột trong những thư viện phổ biến nhất để trực quan hóa dữ liệu là Matplotlib Đó là một thư viện tốt để bắt đầu bởi vì
Tôi nên học phân tích/trực quan hóa dữ liệu với Python như thế nào? Trước tiên, bạn nên tìm hiểu các nguyên tắc cơ bản về phân tích và trực quan hóa dữ liệu. Khi tôi tìm kiếm các tài nguyên tốt cho điều này trực tuyến, tôi không thể tìm thấy bất kỳ. Vì vậy, cuối cùng tôi đã tạo một video YouTube về chủ đề này Tôi cũng đã hoàn thành một khóa học đầy đủ về chủ đề này trên Pluralsight, bạn có thể học miễn phí bằng cách đăng ký dùng thử miễn phí 10 ngày của họ Tôi muốn giới thiệu cả hai Sau khi học các nguyên tắc cơ bản về phân tích và trực quan hóa dữ liệu, việc học các nguyên tắc cơ bản về thống kê từ các trang web như Coursera và Khan Academy cũng sẽ hữu ích viết kịch bảnviết kịch bản là gì?Viết kịch bản thường đề cập đến việc viết các chương trình nhỏ được thiết kế để tự động hóa các tác vụ đơn giản Vì vậy, hãy để tôi cho bạn một ví dụ từ kinh nghiệm cá nhân của tôi ở đây Tôi đã từng làm việc tại một công ty khởi nghiệp nhỏ ở Nhật Bản, nơi chúng tôi có hệ thống hỗ trợ qua email. Đó là một hệ thống để chúng tôi trả lời các câu hỏi mà khách hàng đã gửi cho chúng tôi qua email Khi tôi làm việc ở đó, tôi có nhiệm vụ đếm số lượng email chứa các từ khóa nhất định để chúng tôi có thể phân tích các email chúng tôi nhận được Chúng tôi có thể thực hiện thủ công, nhưng thay vào đó, tôi đã viết một chương trình đơn giản/tập lệnh đơn giản để tự động hóa tác vụ này Trên thực tế, chúng tôi đã sử dụng Ruby cho việc này trước đó, nhưng Python cũng là một ngôn ngữ tốt cho loại nhiệm vụ này. Python phù hợp với loại nhiệm vụ này chủ yếu vì nó có cú pháp tương đối đơn giản và dễ viết. Nó cũng nhanh chóng để viết một cái gì đó nhỏ với nó và kiểm tra nó Còn các ứng dụng nhúng thì sao?Tôi không phải là chuyên gia về các ứng dụng nhúng, nhưng tôi biết rằng Python hoạt động với Rasberry Pi. Nó có vẻ giống như một ứng dụng phổ biến trong số những người yêu thích phần cứng Chơi game thì sao?Bạn có thể sử dụng thư viện có tên PyGame để phát triển trò chơi, nhưng nó không phải là công cụ chơi trò chơi phổ biến nhất hiện có. Bạn có thể sử dụng nó để xây dựng một dự án theo sở thích, nhưng cá nhân tôi sẽ không chọn nó nếu bạn nghiêm túc với việc phát triển trò chơi Thay vào đó, tôi khuyên bạn nên bắt đầu với Unity với C#, một trong những công cụ chơi game phổ biến nhất. Nó cho phép bạn xây dựng trò chơi cho nhiều nền tảng, bao gồm Mac, Windows, iOS và Android Còn các ứng dụng máy tính để bàn thì sao?Bạn có thể tạo một cái bằng Python bằng Tkinter, nhưng có vẻ như đó cũng không phải là lựa chọn phổ biến nhất Thay vào đó, có vẻ như các ngôn ngữ như Java, C# và C++ phổ biến hơn cho việc này Gần đây, một số công ty cũng đã bắt đầu sử dụng JavaScript để tạo các ứng dụng Máy tính để bàn Ví dụ: ứng dụng dành cho máy tính để bàn của Slack được xây dựng với thứ gọi là Electron. Nó cho phép bạn xây dựng các ứng dụng máy tính để bàn bằng JavaScript Cá nhân tôi, nếu tôi đang xây dựng một ứng dụng dành cho máy tính để bàn, tôi sẽ sử dụng tùy chọn JavaScript. Nó cho phép bạn sử dụng lại một số mã từ phiên bản web nếu bạn có nó Tuy nhiên, tôi cũng không phải là chuyên gia về các ứng dụng dành cho máy tính để bàn, vì vậy vui lòng cho tôi biết trong phần nhận xét nếu bạn không đồng ý hoặc đồng ý với tôi về điều này Python 3 hay Python 2?Tôi muốn giới thiệu Python 3 vì nó hiện đại hơn và là một tùy chọn phổ biến hơn vào thời điểm này chú thích cuối trang. Một lưu ý về mã back-end so với mã front-end (chỉ trong trường hợp bạn không quen thuộc với các điều khoản)Giả sử bạn muốn tạo một thứ gì đó giống như Instagram Sau đó, bạn cần tạo mã giao diện người dùng cho từng loại thiết bị mà bạn muốn hỗ trợ Bạn có thể sử dụng, ví dụ
Mỗi bộ code sẽ chạy trên từng loại thiết bị/trình duyệt. Đây sẽ là bộ mã xác định bố cục của ứng dụng sẽ như thế nào, các nút sẽ trông như thế nào khi bạn nhấp vào chúng, v.v. Tuy nhiên, bạn vẫn sẽ cần khả năng lưu trữ thông tin và ảnh của người dùng. Bạn sẽ muốn lưu trữ chúng trên máy chủ của mình chứ không chỉ trên thiết bị của người dùng để mỗi người theo dõi của người dùng có thể xem ảnh của họ Đây là nơi mã phụ trợ / mã phía máy chủ xuất hiện. Bạn sẽ cần viết một số mã phụ trợ để làm những việc như
Vì vậy, đây là sự khác biệt giữa mã phụ trợ và mã mặt trước Nhân tiện, Python không phải là lựa chọn tốt duy nhất để viết mã phụ trợ/mã phía máy chủ. Có nhiều lựa chọn phổ biến khác, bao gồm Node. js, dựa trên JavaScript Thích bài viết này?Tôi có một kênh YouTube về giáo dục lập trình tên là CS Dojo với hơn 440.000 người đăng ký, nơi tôi sản xuất nhiều nội dung hơn như bài viết này Ví dụ: bạn có thể thích những video này Dù sao cũng cảm ơn rất nhiều vì đã đọc bài viết của tôiQUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO Nếu bài viết này hữu ích, hãy tweet nó Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu Python là một ví dụ về cái gì?Python là một ngôn ngữ lập trình cấp cao, hướng đối tượng, được thông dịch với ngữ nghĩa động.
Python ứng dụng vào cuộc sống hàng ngày như thế nào?10 ví dụ sử dụng Python hàng đầu trong thế giới thực . Phát triển web Khoa học dữ liệu Trí tuệ nhân tạo và học máy Ứng dụng doanh nghiệp ngành giáo dục Ứng dụng quét web Sự phát triển trò chơi Phát triển phần mềm |