Hướng dẫn pros and cons of modules in python - ưu và nhược điểm của các mô-đun trong python

Thời gian đọc: 14 phút 14 minutes

Bạn đã bao giờ tự hỏi tại sao Python được gọi là Py Python? SPOILER ALERT - Nó không liên quan gì đến con rắn. Câu chuyện diễn ra như sau: Khi Guido Van Rossum (cha của Python) bắt đầu thực hiện ngôn ngữ, ông đang đọc kịch bản được xuất bản của loạt phim hài BBC từ thập niên 70 có tên Monty Python. Như bạn đã đoán được rồi, chính từ chương trình này, anh ấy đã lấy cảm hứng cho cái tên này.

Nếu bạn muốn biết thêm về Python, & nbsp; Đọc tiếp. Trong bài viết này, bạn sẽ tìm hiểu về lịch sử, ưu và nhược điểm của nó, nơi nó được áp dụng, cách nó vượt qua các ngôn ngữ phổ biến khác và cách bạn có thể bắt đầu học nó.

Python là gì?

Python là một ngôn ngữ lập trình cấp cao, được giải thích, định hướng đối tượng, cấp cao với ngữ nghĩa động. Nhưng những điều khoản này có nghĩa là gì? Hãy để chúng phá vỡ chúng riêng lẻ.

Mục đích chung. Python không liên quan đến một ngành hoặc miền cụ thể. Nó bao gồm một loạt các nhiệm vụ và thường được sử dụng trên nhiều lĩnh vực, bao gồm cả Python is not associated with a particular industry or domain. It covers a wide range of tasks and is commonly used across numerous fields, including

  • phát triển web,
  • phân tích dữ liệu,
  • học máy,
  • DevOps và quản trị hệ thống,
  • automated-testing,
  • tạo mẫu phần mềm và
  • nhiều người khác.

Hướng dẫn pros and cons of modules in python - ưu và nhược điểm của các mô-đun trong python

Làm thế nào Python được sử dụng. Nguồn: Kết quả khảo sát nhà phát triển Python 2020.

Điều này phân biệt Python với các ngôn ngữ dành riêng cho miền như HTML và CSS giới hạn ở thiết kế web hoặc SQL được tạo để truy cập dữ liệu trong các hệ thống quản lý cơ sở dữ liệu quan hệ.

Giải thích. Trong Python, mã nguồn được biên dịch thành định dạng trung gian được gọi là mã byte. Ngôn ngữ cấp thấp, nhỏ gọn này chạy trên máy ảo Python (PVM), là phần mềm bắt chước công việc của phần cứng thực sự. Lần lượt, PVM hoạt động như một trình thông dịch: nó dịch các hướng dẫn bytecode từng cái một thành mã máy, trực tiếp vào thời gian chạy. In Python, the source code is compiled into the intermediate format called bytecode. This compact, low-level language runs on a Python virtual machine (PVM), which is software that mimics the work of the real hardware. The PVM, in turn, acts as an interpreter: It translates bytecode instructions one by one into machine code, directly at runtime.

Mặc dù Python có một bước biên dịch, nhưng nó không giống như trong các ngôn ngữ được biên dịch như C ++ hoặc Swift Work. Phần sau biên dịch trực tiếp vào mã máy trong một mảnh, trước khi thực hiện, không có bước trung gian.

Hướng dẫn pros and cons of modules in python - ưu và nhược điểm của các mô-đun trong python

Được biên dịch so với các ngôn ngữ lập trình được giải thích

Hướng đối tượng. Tương tự như Java, Ruby, C ++ và nhiều ngôn ngữ lập trình phổ biến khác, Python hỗ trợ lập trình hướng đối tượng (OOP) tập trung vào các thực thể hoặc các nhà phát triển đối tượng sẽ làm việc. Một đối tượng đại diện cho một điều ngoài đời thực hoặc đơn vị trừu tượng, với các thuộc tính duy nhất (trạng thái) và hành vi (phương thức.) Similar to Java, Ruby, C++, and many other popular programming languages, Python supports object-oriented programming (OOP) that concentrates on entities or objects developers will work with. An object represents a real-life thing or abstract unit, with its unique properties (state) and behavior (methods.)

Tuy nhiên, thường được xem là ngôn ngữ OOP thuần túy, Python cho phép lập trình chức năng, tập trung vào những gì cần phải thực hiện (chức năng.) Trong các cơ sở mã lớn, có thể có chuyển đổi giữa hai mô hình, tùy thuộc vào mục tiêu cụ thể.

Cấp độ cao. Python thuộc về các ngôn ngữ lập trình cấp cao giống với ngôn ngữ tự nhiên và không được gắn với một bộ xử lý máy tính cụ thể. Ngược lại, một ngôn ngữ cấp thấp cung cấp rất ít hoặc không có yếu tố nào có thể đọc được, vì nó nằm gần phần cứng và thường được tối ưu hóa cho một CPU cụ thể (đơn vị xử lý trung tâm.) Python belongs to high-level programming languages that resemble natural language and is not tied to a particular computer’s processor. By contrast, a low-level language offers little to no human-readable elements, as it sits close to hardware and is often optimized for a specific CPU (central processing unit.)

Ngữ nghĩa năng động. Python sử dụng gõ động, có nghĩa là các nhà phát triển không phải khai báo loại biến. Nó sẽ được tự động nhận dạng trong thời gian chạy dựa trên giá trị được gán cho biến trong câu hỏi. Biến tương tự có thể thay đổi loại của nó nhiều lần trong quá trình thực hiện chương trình, điều này là không thể với các ngôn ngữ được đánh giá theo thống kê. Python uses dynamic typing, which means developers don’t have to declare a variable’s type. It will be automatically recognized at runtime based on the value assigned to the variable in question. The same variable can change its type many times during program execution, which is impossible with statically-typed languages.

Bây giờ chúng ta đã biết Python là gì, hãy để một cái nhìn ngắn gọn về lịch sử của nó.

Lịch sử ngắn gọn về ngôn ngữ lập trình Python

Python là một trong những ngôn ngữ lập trình hàng đầu trên thế giới ngay bây giờ. Chính xác, nó đứng thứ ba, dưới đây chỉ có JavaScript và HTML/CSS, trong số các công nghệ phổ biến nhất trong khảo sát Overflow Stack. Tuy nhiên, nó không phải lúc nào cũng phổ biến, đã vượt qua các cấp bậc theo thời gian.

Hướng dẫn pros and cons of modules in python - ưu và nhược điểm của các mô-đun trong python

2021 Khảo sát Stack Overflow về các công nghệ phổ biến nhất.

Câu chuyện về Python bắt đầu vào cuối những năm 80 với ngôn ngữ lập trình ABC. Nó được tạo ra ở Amsterdam tại Centrum Wiskunde & Informatica (CWI) để cho phép mọi người không có đủ kinh nghiệm để bắt đầu mã hóa cho máy tính khá nhanh. Thật không may, ABC đã làm việc như mong đợi. Sau đó, một trong những nhà phát triển của nó, Guido van Rossum đã sử dụng ngôn ngữ thất bại để xây dựng Python.in the late 80s with the programming language ABC. It was created in Amsterdam at the Centrum Wiskunde & Informatica (CWI) to enable people without sufficient experience to start coding for computers pretty quickly. Unfortunately, ABC didn’t work as expected. Later, one of its developers, Guido van Rossum used the failed language to build Python.

Tôi đã quyết định cố gắng thiết kế một ngôn ngữ kịch bản đơn giản sở hữu một số tài sản tốt hơn của ABC, nhưng không có vấn đề của nó, thì Guido liên quan đến một trong các cuộc phỏng vấn của anh ấy. Vì vậy, tôi bắt đầu gõ. Tôi đã tạo một máy ảo đơn giản, trình phân tích cú pháp đơn giản và thời gian chạy đơn giản. Tôi đã tạo phiên bản của riêng mình về các bộ phận ABC khác nhau mà tôi thích. Tôi đã tạo một cú pháp cơ bản, thụt lề được sử dụng để nhóm câu lệnh thay vì niềng răng xoăn hoặc các khối bắt đầu và phát triển một số lượng nhỏ các loại dữ liệu mạnh mẽ: bảng băm (hoặc từ điển, như chúng tôi gọi là), một danh sách, chuỗi và số. ”

Ngày sinh của Python chính thức là ngày 20 tháng 2 năm 1991, khi Guido xuất bản phiên bản đầu tiên 0.9.0. Nó đi kèm với tất cả các loại dữ liệu chính, chức năng, hỗ trợ cho OOP và hệ thống mô -đun.February 20th, 1991, when Guido published the first version 0.9.0. It came with all key data types, functions, support for OOP, and module system.

Vào tháng 1 năm 1994, & NBSP; Python phiên bản 1.0 đã được ra mắt với các công cụ để lập trình chức năng (Lambda, Map, Filter và giảm).January 1994, Python version 1.0 was launched with tools for functional programming (lambda, map, filter, and reduce).

Vào tháng 10 năm 2000, Python phiên bản 2.0 đã giới thiệu các cải tiến quan trọng như hỗ trợ cho Unicode và bộ thu gom rác để quản lý bộ nhớ. Tính năng tự động phát hành bộ nhớ không còn được sử dụng, làm cho nó có sẵn cho các mục đích khác. October 2000, Python version 2.0 introduced important improvements such as a support for Unicode and a garbage collector for memory management. The feature automatically releases memory that is no longer in use, making it available for other purposes.

Cuối cùng, tháng 12 năm 2008 đã chứng kiến ​​sự giới thiệu của Python phiên bản 3.0, không phải là một bản cập nhật mà là một dự án hoàn toàn mới, không tương thích với các bản phát hành 2.x. Do mã byte và máy ảo khác nhau, bạn không thể chạy Python 2 trên Python 3 VM và ngược lại. Bản phát hành mới cũng loại bỏ nhiều tính năng và cấu trúc lỗi thời được tích lũy trong những năm tồn tại ngôn ngữ. Nhưng phải đến tháng 4 năm 2020 khi Python 2 mất hỗ trợ và chính thức nghỉ hưu.December 2008 saw the introduction of Python version 3.0, which was not an update but rather a completely new project, incompatible with 2.x releases. Due to the different bytecode and virtual machine, you couldn’t run Python 2 on the Python 3 VM and vice versa. The fresh release also got rid of many obsolete features and structures accumulated over the years of the language’s existence. But it was not until April 2020 when Python 2 lost support and officially retired.

Quay trở lại Guido, anh là nhà phát triển chính của dự án cho đến tháng 7 năm 2018, khi anh tuyên bố kỳ nghỉ vĩnh viễn từ trách nhiệm của mình với tư cách là nhà độc tài nhân từ của Python trong cuộc sống. Một vài năm sau đó, anh gia nhập bộ phận nhà phát triển tại Microsoft. Chắc chắn, nó sẽ làm cho việc sử dụng Python tốt hơn chắc chắn (và không chỉ trên Windows), đã hứa với lập trình viên Hà Lan trong tweet của mình. till July 2018, when he announced his permanent vacation from his responsibilities as Python’s “Benevolent dictator for life.” A couple of years later, he joined the Developer Division at Microsoft. “It’ll make using of Python better for sure (and not just on Windows),” promised the Dutch programmer in his tweet.

Hướng dẫn pros and cons of modules in python - ưu và nhược điểm của các mô-đun trong python

Tác giả Python tweet từ ngày 12 tháng 11 năm 2020.

Trong khi đó, Python được cai trị bởi một hội đồng 5 thành viên, được bầu sau khi cộng đồng Python nghỉ hưu Guido. Cùng với hàng triệu nhà phát triển trên toàn thế giới, họ tiếp tục làm việc về ngôn ngữ, tăng cường ưu điểm và thanh trừng khuyết điểm của nó.

Ưu điểm của Python

Chúng tôi đã đề cập ngắn gọn về một số lợi thế của Python khi mô tả các đặc điểm chính của nó và về cơ bản là Python. Bây giờ, hãy để Lừa lên những lời khen ngợi chi tiết hơn.

Đường cong học tập trơn tru

Python cực kỳ thân thiện với người mới bắt đầu và tương đối dễ học. Không có gì ngạc nhiên khi hầu hết các trường đại học đều dạy Python như một ngôn ngữ giới thiệu. Nhờ vào cú pháp giống như tiếng Anh, nó cho phép người mới tập trung vào các nguyên tắc cơ bản, khái niệm và thực tiễn mã hóa tốt hơn là sự phức tạp của cấu trúc ngôn ngữ. Do đó, sinh viên nhanh chóng áp dụng một suy nghĩ của nhà phát triển cụ thể.

Tốc độ phát triển cao

Cú pháp rõ ràng, súc tích đơn giản hóa và tăng tốc không chỉ học Python mà còn xây dựng phần mềm với nó. Ngoài ra, thư viện tiêu chuẩn của nó cung cấp rất nhiều tính năng được xây dựng sẵn cho phép các lập trình viên làm việc với các giao thức Internet, quản lý hệ điều hành, thao tác dữ liệu hoặc tích hợp các dịch vụ web với ít nỗ lực hơn.

Do đó, cùng một chương trình có thể sẽ có ít dòng mã hơn trong Python hơn là nhiều Java hoặc C ++ dài hơn. Điều này làm cho nó trở thành một công nghệ được tìm kiếm để tạo mẫu phần mềm: bạn có thể kiểm tra và chứng minh ý tưởng của mình nhanh hơn (và rẻ hơn) so với các ngôn ngữ khác.

Hiệu suất phát triển được tăng cường hơn nữa bởi các khung Python có sẵn cung cấp các thành phần được mã hóa sẵn. Thay vì tạo ra mọi thứ từ đầu, các lập trình viên có thể tận dụng các khối xây dựng sẵn sàng sử dụng.

Trong số các khung Python phổ biến nhất để phát triển ứng dụng web nhanh chóng là

  • Django. Nó cung cấp gần 10.000 gói, bao gồm hầu hết mọi khía cạnh của thiết kế ứng dụng web - kết nối cơ sở dữ liệu, mẫu HTML, xác thực người dùng, bảo vệ CAPTCHA, API, hệ thống quản lý nội dung và nhiều hơn nữa. Facebook và Instagram sử dụng Django cho phụ trợ của họ.
  • Bình giữ nhiệt. Công nghệ nhẹ, dễ được thiết lập này được phân loại thành một bộ vi tính. Flask thiếu nhiều tính năng được xây dựng được cung cấp bởi các khung doanh nghiệp chính thức như Django. Thay vào đó, nó mang lại cho các nhà phát triển sự tự do để cấu trúc một ứng dụng như họ thích và sử dụng các thư viện của bên thứ ba mà họ chọn. Bình được cho là phù hợp hơn cho các ứng dụng web nhỏ. Đồng thời, nó thúc đẩy các dự án lớn như LinkedIn và Pinterest.
  • Chim ưng. Một khung tối giản khác tập trung vào việc xây dựng các API Web hiệu suất cao và phụ trợ ứng dụng. Danh sách người dùng Falcon bao gồm phần mềm PayPal và Opera.

Python cũng là một thành phần của ngăn xếp đèn, là viết tắt của Linux, Apache, MySQL và Python, PHP hoặc Perl (tất cả các ngôn ngữ được tính năng động.) Nó cung cấp một cách xây dựng các ứng dụng web tiêu chuẩn và trưởng thành, tiết kiệm thời gian phát triển.

Tính di động và khả năng mở rộng cho các ngôn ngữ khác

Python là một nền tảng-không chính xác: bạn có thể chạy cùng một mã nguồn trên các hệ điều hành, có thể là macOS, windows hoặc linux. Tính di động đạt được do mã byte và máy ảo Python (PVM) đóng vai trò trung gian giữa một nhà phát triển và CPU thực tế thực hiện chương trình.

Bên cạnh đó, Python dễ dàng hợp tác với các ngôn ngữ khác bằng cách sử dụng các phần mở rộng như Cython cho C, Gython cho Go, Jython cho Java và Ironpython cho .NET. Họ cho phép các nhà phát triển trộn các ngôn ngữ, mượn chức năng công nghệ chính của họ thiếu và chạy mã ‘nước ngoài bên trong các ứng dụng của họ.

Tính linh hoạt cộng với bộ công cụ rộng lớn cho hầu hết mọi thứ

Python có thể được áp dụng cho một loạt các nhiệm vụ ngoài sự phát triển phần mềm. Cụ thể, nó tạo điều kiện cho công việc của các nhà nghiên cứu, nhà khoa học dữ liệu, kỹ sư dữ liệu, kỹ sư QA và chuyên gia DevOps. Nó cũng là một trong những công cụ phổ biến nhất để phân tích tài chính. Số lượng thư viện Python thúc đẩy các đệ trình nêu trên và những người khác đạt 137.000. Dưới đây, chúng tôi sẽ xem xét các trường hợp sử dụng phổ biến nhất của ngôn ngữ và các công cụ đằng sau chúng.

Học sâu và AI. Python dẫn đầu gói học tập sâu nhờ vào bộ sưu tập lớn các thư viện chuyên dụng. Trong số đó làPython leads the pack in deep learning thanks to the vast collection of dedicated libraries. Among them are

  • Tensorflow, được tạo bởi nhóm Google Brain để đào tạo và chạy các mạng lưới thần kinh sâu (DNNS);
  • Keras, làm việc trên Tenorflow, tập trung vào trải nghiệm người dùng và đơn giản hóa việc xây dựng DNN; và
  • Pytorch, Facebook Giới thiệu Phòng thí nghiệm nghiên cứu AI AI (FARA) được sử dụng để thúc đẩy tầm nhìn máy tính và các dự án xử lý ngôn ngữ tự nhiên.

Lập trình khoa học và khoa học dữ liệu. Các nhà khoa học, kỹ sư, nhà phân tích tài chính, nhà toán học và các chuyên gia khác tham gia vào nghiên cứu dựa trên dữ liệu là những người sử dụng chính của hệ sinh thái SCIPY dựa trên Python. Nó chứa các công cụ mạnh mẽ như vậy để phân tích dữ liệu và trực quan hóa như gấu trúc, numpy, scikit-learn và matplotlib.. Scientists, engineers, financial analysts, mathematicians, and other experts involved in data-driven research are the key users of the Python-based SciPy ecosystem. It contains such powerful tools for data analysis and visualization as pandas, NumPy, scikit-learn, and matplotlib.

Tự động hóa quá trình robot. Python là ngôn ngữ để viết các chương trình nhẹ-tập lệnh-để tự động hóa các nhiệm vụ kinh doanh trần tục (tự động hóa quá trình robot hoặc RPA). Ví dụ về các hoạt động như vậy là điền vào các biểu mẫu trực tuyến, đọc và ghi tệp, tạo và xóa các thư mục, gửi email và thông báo, quét web và yêu cầu dữ liệu qua API.. Python is a go-to language for writing lightweight programs — scripts — for automating mundane business tasks (robotic process automation, or RPA). Examples of such operations are filling out online forms, reading and writing files, creating and removing folders, sending emails and notifications, web scraping, and requesting data via APIs.

Một số công cụ thường được sử dụng để xây dựng các ứng dụng RPA với Python

  • Súp đẹp để trích xuất các yếu tố cụ thể từ các tệp XML và HTML,
  • Khung RPA, với bộ sưu tập các thư viện cho hầu hết các tác vụ lặp đi lặp lại phổ biến,
  • Scrapy, một trong những khung phổ biến nhất để xây dựng các trình thu thập thông tin web - bot một cách có hệ thống duyệt các trang web và cạo chúng; và
  • PYAUTOGUI để tự động hóa các nhấp chuột và tổ hợp phím lặp đi lặp lại.

Kiểm tra tự động hóa. Python nổi tiếng với rất nhiều khung thử nghiệm nhằm tăng tốc độ kiểm tra chất lượng mã của bạn ở mọi giai đoạn của vòng đời phát triển phần mềm. Kỹ sư QA có thể tận dụng lợi thế củaPython has a reputation for a plethora of test frameworks that speed up checking the quality of your code at every stage of the software development life cycle. QA engineers can take advantage of

  • Pyunit, một phần của thư viện tiêu chuẩn Python;
  • pytest, một công cụ ưa thích cho cơ sở dữ liệu, giao diện người dùng và đặc biệt là kiểm tra API;
  • Locust để kiểm tra tải;
  • Splinter để thử nghiệm các ứng dụng web;
  • Giả thuyết về thử nghiệm dựa trên tài sản khi mã của bạn được kiểm tra so với hàng trăm kịch bản khác nhau; và
  • nhiều công cụ khác.

Tự động hóa thử nghiệm là một yếu tố quan trọng của phương pháp DevOps, dựa trên ý tưởng hợp nhất phát triển, đảm bảo chất lượng và hoạt động CNTT thành một chu kỳ lặp đi lặp lại để tăng tốc độ phân phối phần mềm.

DevOps. DevOps là tất cả về tối ưu hóa và tự động hóa trong vòng đời phát triển phần mềm, và đây là nơi có các tập lệnh có cấu trúc và có thể đọc được trong Python Shine. Nhiều công cụ DevOps dựa trên Python, bao gồm cảDevOps is all about optimization and automation across the software development life cycle, and this is where structured and readable scripts written in Python shine. Many DevOps tools are Python-based, including

  • Scons và PyBuilder để tự động hóa bản dựng (chuyển đổi mã nguồn thành một chương trình thực thi);
  • Ansible cho quản lý cấu hình; và
  • Buildbot để tích hợp liên tục (CI).

Các công cụ DevOps phổ biến khác có hỗ trợ ngoài hộp cho Python. Trong số đó có một công cụ và nền tảng xây dựng Gradle để phân phối và tích hợp liên tục (CI/CD) như Travis CI, Strider CD & NBSP; (triển khai liên tục) và TeamCity.

Công nghệ miễn phí với một nhóm tài năng lớn và cộng đồng toàn cầu rộng lớn

Python là nguồn mở và miễn phí cho tất cả mọi người, ngay cả khi sử dụng thương mại. Với tất cả các điểm mạnh khác, nó không có gì lạ khi ngôn ngữ này thích nhóm tài năng lớn nhất. Tính đến năm 2019, có 8.2 triệu nhà phát triển Python trong khi các lập trình viên sử dụng Java chỉ có 7,6 triệu. Kể từ đó, cộng đồng đã tăng lên nhiều hơn, với Python giữ danh hiệu ngôn ngữ bị truy nã nhất giữa các lập trình viên trong năm thứ năm liên tiếp.

Có hơn 1.600 nhóm người dùng Python chính thức trên 37 quốc gia, với tổng số thành viên vượt quá 860 nghìn. Bạn cũng có thể nhận được sự giúp đỡ từ các đồng nghiệp và nâng cao kỹ năng lập trình của mình thông qua Stack Overflow, tự hào với hơn 1,8 triệu câu hỏi được gắn thẻ Python, một cộng đồng Reddit gồm 859.000 Pythonistas hoặc trò chuyện Slack Python thực sự.

Cons of Python

As great as it is, Python doesn’t fit every project. Here are its key disadvantages to keep in mind when choosing the right technology for your case.

Speed limitations

You already know that Python is a champion of development speed. Yet, it can’t boast the same results in speed of execution, lagging behind C ++ and Java.

You most likely remember that the Python program is interpreted at runtime, line by line, instead of being compiled to the machine code in one piece. While this brings advantages in terms of debugging, it comes at a price of the runtime performance.

Another inherent delay factor is dynamic semantics. It simplifies things for programmers, as they don’t need to declare types of variables and can do with fewer lines of code. Instead of the developer, the interpreter has to check and assign types as a program runs, making it slower.

No multithreading

Python uses a mechanism called a Global Interpreter Lock, or GIL for short, that allows only one sequence of bytecode instructions (thread) to be executed at a time. GIL brings important benefits as it

  • ensures thread safety,
  • enhances the performance of single-threaded programs, and
  • simplifies the integration of non-thread-safe C libraries with Python.

At the same time, the GIL creates a bottleneck for multithreaded programs designed to run multiple workflows simultaneously. This prevents you from taking full advantage of modern multicore processors, which can execute several tasks concurrently.

There has been a lot of debate about removing the GIL. However, no feasible solution has been detailed because too many Python features, modules, and packages are tied to it. Besides that, throwing out the GIL would degrade the performance of software with single-threaded architecture.

To overcome the GIL’s limitation, you can use Python’s multiprocessing package that enables the use of numerous subprocesses instead of threads. In this scenario, each process uses its own interpreter and memory space while the operating system schedules the parallel execution of jobs across different CPU cores. In fact, we still use separate threads for every process; while in multithreading, all processes executed in parallel share the same memory space.

But parallelism comes with one big disadvantage: It devours a lot of memory resources.

High memory consumption

Python is often criticized for high usage of resources, even when multiprocessing isn’t involved. Its objects come with a huge overhead and can gobble up ten times as much memory as is needed to store information we actually require.

While Python has a garbage collector to manage memory, it doesn’t return resources to the system immediately after the object becomes unnecessary. Besides that, if your code holds any references on this outdated object, it can’t be deleted at all.

Due to these factors, Python programs tend to run out of memory. Developers have to make an extra effort to pinpoint the sources of the problem and enhance memory management, especially when it comes to processing large amounts of data.

Hassles with mobile and front-end development

No smartphone natively runs Python: native Android app development is done with Java or Kotlin while iOS gets along with Objective C and Swift. Developers can still build for mobile in Python with Kivy and BeeWare cross-platform frameworks. However, these tools are less popular than Microsoft-owned Xamarin, React Native by Facebook, and Google’s Flutter.

Despite all the advantages, Python fails to get traction in the growing mobile market. Why? It consumes too much memory and energy compared to what mobile hardware and operating systems can afford.

“Python is big and slow,” explains Python’s creator Guido van Rossum in his video interview for Microsoft Reactor. “It uses a lot of battery charge, so if you’re coding in Python, you would probably very quickly run down your battery and quickly run out of memory.”

For the same reason, the chances are slim that the popular web backend language will ever dominate on the client-side. Yet, Pythonistas don’t give up. Currently, volunteer contributors are actively maintaining Pyodide, the project aiming to bring Python and its scientific stack to the browser. The tool compiles the Python interpreter to WebAssembly, a low-level language that runs on the web browser with near-native speed.

Python vs. other programming languages

Now, let us take a look at how Python fares when compared to other well-known and high-level languages:

R vs. Python

Both of these languages are open-source and extensively used in data science. And that’s where the similarity almost ends. Inversely to multi-paradigm and beginner-friendly Python, R was created by statisticians for statisticians to run statistical analysis and data visualization. As such, it enjoys a larger ecosystem for data science than Python. Researchers appreciate R for outstanding visualizing abilities: You can immediately illustrate the analysis results with graphs, plots, or charts.

Python tập trung chủ yếu vào phát triển và triển khai phần mềm, cho phép các lập trình viên chạy phân tích dữ liệu và học máy trong môi trường sản xuất. Python giới thiệu hầu hết các tính năng AI trước R. Hiện tại, cả hai ngôn ngữ đều hỗ trợ các mạng thần kinh sâu và bạn có thể sử dụng TensorFlow, Keras và Torch dựa trên Python cho R để xây dựng các mô hình ML trong R. R.

Java so với Python

Python và Java có nhiều điểm chung. Chúng là các ngôn ngữ được tôn vinh theo thời gian, độc lập với nền tảng, cấp cao được sử dụng rộng rãi để phát triển phụ trợ. Cả hai đều hỗ trợ lập trình hướng đối tượng và biên dịch thành mã byte để được chạy trên máy ảo. Nhưng Python thực hiện nó vào thời gian chạy, trong khi Java thực hiện tất cả các phép biến đổi trước đó. Một sự khác biệt lớn khác là Python được gõ động và Java dính vào việc gõ tĩnh khi loại được gán cho giá trị một lần và mãi mãi.

Hai yếu tố này tác động đến cách bạn viết và thực thi mã trong Java và Python. Như chúng tôi đã đề cập, Python đánh bại Java về tốc độ phát triển, vì nó có cú pháp rõ ràng và cần ít dòng mã hơn. Đổi lại, Java nhanh hơn và hiệu quả hơn khi thực hiện. Nó sử dụng cơ chế biên dịch chỉ trong thời gian (JIT) giúp tăng hiệu suất ứng dụng. Bên cạnh đó, Java cho phép lập trình đa luồng - thứ mà Python có thể đủ khả năng do những hạn chế của kiến ​​trúc của nó.

Hướng dẫn pros and cons of modules in python - ưu và nhược điểm của các mô-đun trong python

Java so với mã Python. Nguồn: reddit.com/r/programmerhumor

JavaScript so với Python

Mục tiêu ban đầu của JavaScript (JS) là làm cho các trang web tương tác. Cùng với HTML và CSS, nó tạo ra ba lần phát triển lớn. Tuy nhiên, kể từ khi ra mắt môi trường NodeJS, JS đã mở rộng sang phần phụ trợ, cho phép phát triển toàn bộ ngăn xếp với một ngôn ngữ. Và React bản địa đã đưa JS đến thế giới di động.

Python có thể tự hào về sự toàn năng như vậy, gắn bó với phía máy chủ. Đồng thời, JS Pales so với Python liên quan đến phân tích dữ liệu và các nhiệm vụ học máy. Nó cũng đáng chú ý rằng theo Khảo sát nhà phát triển Python năm 2020, JS là ngôn ngữ phổ biến nhất được ghép nối với Python.

Cách bắt đầu với Python

Giả sử rằng bạn đã quyết định rằng Python là ngôn ngữ lập trình mà bạn muốn học và làm việc cùng, thì đây là một vài bước để bạn bắt đầu.

Truy cập trang web chính thức của Python, để tải xuống phiên bản ngôn ngữ mới nhất. Có các tùy chọn cho Windows, Linux/Unix, MacOS và các nền tảng khác.

Nhìn qua trang tài liệu nơi bạn có thể tìm thấy một hướng dẫn của người mới bắt đầu, Câu hỏi thường gặp về Python, danh sách các cuốn sách Python, tài liệu Python 3 và các tài nguyên hữu ích khác để hiểu rõ hơn và làm chủ ngôn ngữ.

Python đi kèm với môi trường học tập và phát triển tích hợp (IDLE). Tuy nhiên, tùy thuộc vào nhu cầu của bạn, bạn có thể cài đặt và sử dụng các IDE khác - chẳng hạn như

  • Thonny cho người mới Python,
  • Pycharm cho các nhà phát triển chuyên nghiệp và
  • Spyder cho phân tích dữ liệu, các nhà khoa học dữ liệu và kỹ sư. IDE được tích hợp sẵn với các thư viện thiết yếu của nó để phân tích dữ liệu (Numpy, matplotlib).

Tất nhiên, sự lựa chọn rộng hơn thế nhiều. Bạn có thể làm quen với nhiều biên tập viên Python ở đây. Danh sách các IDE Python kết hợp chỉnh sửa, gỡ lỗi, biên dịch và các khả năng khác ở đây.

Tương lai của Python, hay còn Python 4 thì sao?

Hiện tại, Python nhiên liệu phụ trợ của các dự án lớn, được biết đến rộng rãi như Reddit, Dropbox, Yahoo Maps, Google, Pinterest, Facebook và YouTube, để đặt tên cho một số. Và đó là lý do tại sao ngôn ngữ khó có thể nhìn thấy phiên bản 4. Nhóm phát triển Python đã học được những bài học từ quá trình chuyển đổi trước đó sang Python 3. Đó là một giai đoạn đau đớn, kéo dài trong vài năm và mất nhiều nỗ lực hơn dự kiến.

Ngay bây giờ, nó gần như là điều cấm kỵ khi nói về Python 4 theo nghĩa nghiêm trọng, anh đã thừa nhận Guido Van Rossum trong video được đề cập ở trên. Bây giờ chúng tôi có một lịch trình phát hành hàng năm nghiêm ngặt, vì vậy sau Python 3.10 sẽ là 3.11 và sau đó sẽ là 3,12, v.v. Chúng ta có thể lên tới 3,99 trước khi chúng ta phải thêm một chữ số khác. Thêm một chữ số khác không hoàn toàn tầm thường, nhưng vẫn tốt hơn nhiều so với đi từ phiên bản 3 đến 4.

Bây giờ, nhóm Dev đang tập trung vào tốc độ Python. Những cải tiến đáng chú ý sẽ đi kèm với phiên bản 3.11, dự kiến ​​vào tháng 10 năm 2022: Nó sẽ nhanh hơn nhiều so với bản phát hành trước đó. Sau đó, chúng tôi sẽ tăng tốc nó nhiều hơn trong 3.12 và 3.13, v.v., đã hứa với Van Rossum. Chúng tôi chỉ có thể chờ đợi và xem.

Bài đăng này & nbsp; là một phần của loạt bài Good The Good và Bad của chúng tôi. Để biết thêm thông tin về những ưu và nhược điểm của các công nghệ phổ biến nhất, hãy xem các bài viết khác từ loạt bài:

Tốt và xấu của lập trình C#

Tốt và xấu của lập trình khung .NET

Tốt và xấu của lập trình java

Ngôn ngữ lập trình OD Swift tốt và xấu

Tốt và cái xấu của sự phát triển góc cạnh

Tốt và xấu của TypeScript

Tốt và cái xấu của sự phát triển phản ứng

Tốt và xấu của sự phát triển ứng dụng bản địa của React

Tốt và cái xấu của lập trình khung Vue.js

Điều tốt và xấu của phát triển ứng dụng web Node.js

Sự phát triển ứng dụng xấu của abd xấu

Tốt và xấu của Xamarin Mobile Development

Tốt và xấu của sự phát triển di động ion

Tốt và xấu của phát triển ứng dụng Android

Công cụ kiểm tra tự động hóa tốt và xấu của Katalon Studio

Tốt và xấu của phần mềm tự động hóa thử nghiệm selenium

Công cụ tự động hóa thử nghiệm GUI GUI tốt và xấu

Tốt và xấu của nền tảng thông minh kinh doanh SAP

Các dịch vụ phụ trợ tốt và xấu của Firebase

Tốt và xấu của kiến ​​trúc không có máy chủ

Những lợi thế của các mô -đun Python là gì?

Với sự trợ giúp của các mô -đun, chúng tôi có thể tổ chức các chức năng, lớp hoặc bất kỳ khối mã nào liên quan trong cùng một tệp. Vì vậy, nó được coi là một thông lệ tốt nhất trong khi viết các mã lớn hơn cho các dự án cấp sản xuất trong khoa học dữ liệu là chia các khối mã trăn lớn thành các mô-đun chứa tới 300 dòng mã400.organize related functions, classes, or any code block in the same file. So, It is considered a best practice while writing bigger codes for production-level projects in Data Science is to split the large Python code blocks into modules containing up to 300–400 lines of code.

Những ưu và nhược điểm trong Python là gì?

Ưu điểm của Python..
Python rất dễ học và đọc. ....
Python tăng cường năng suất. ....
Python có một bộ sưu tập thư viện khổng lồ. ....
Python là miễn phí, nguồn mở và có một cộng đồng sôi động. ....
Python là một ngôn ngữ lập trình di động. ....
Python là một ngôn ngữ được giải thích. ....
Nhược điểm của ngôn ngữ lập trình Python ..

Một lợi thế của việc sử dụng các mô -đun là gì?

Một mô-đun chương trình có khả năng được sử dụng lại trong một chương trình giúp giảm thiểu sự phát triển của các mã dự phòng.Nó cũng thuận tiện hơn để sử dụng lại một mô -đun hơn là viết một chương trình từ START.Nó cũng đòi hỏi rất ít mã để được viết.Có một chương trình được chia thành các chương trình con nhỏ hơn cho phép quản lý dễ dàng hơn.minimizes the development of redundant codes. It is also more convenient to reuse a module than to write a program from start. It also requires very little code to be written. Having a program broken into smaller sub-programs allows for easier management.

Nhược điểm của Python là gì?

Nhược điểm của lập trình Python..
Hiệu quả bộ nhớ kém.Để làm cho nó đơn giản cho nhà phát triển, Python cần rất nhiều không gian bộ nhớ;Đây có thể là một vấn đề khó khăn nếu bạn muốn phát triển các ứng dụng nơi bạn cần tối ưu hóa bộ nhớ ..
Tốc độ chậm.....
Truy cập cơ sở dữ liệu.....
Yếu trong điện toán di động.....
Lỗi thời gian chạy ..