Python là ngôn ngữ hướng đối tượng và được gõ động

Theo Viện Python, “Python là ngôn ngữ lập trình cấp cao, được giải thích, hướng đối tượng và được sử dụng rộng rãi với ngữ nghĩa động, được sử dụng cho mục đích lập trình đa năng. ” Nói cách khác, Python là ngôn ngữ lập trình rất phổ biến, nó cũng là ngôn ngữ được thông dịch, nghĩa là mã không cần được biên dịch trước cho hệ thống đích mà được dịch bởi trình thông dịch khi nó chạy. Để làm cho khái niệm này rõ ràng hơn, hãy tưởng tượng bạn là một khách du lịch ở nước ngoài và chỉ đường dẫn đến một địa điểm thu hút khách du lịch được tìm kiếm nhiều được viết bằng tiếng nước ngoài. Bạn nhờ trợ lý khách sạn hiểu tiếng Anh dịch trước tất cả các hướng dẫn sang tiếng Anh để bạn có thể tự mình theo dõi; . Nếu cần thay đổi, thì bạn phải biên dịch lại để thay đổi có hiệu lực. Ví dụ về các ngôn ngữ lập trình biên dịch là C++, C, COBOL và GO. Mặt khác, một ngôn ngữ thông dịch hoạt động hơi khác một chút. Nếu chúng ta sử dụng phép loại suy tương tự về một khách du lịch ở nước ngoài, khách du lịch trong trường hợp này trả tiền cho trợ lý khách sạn đi cùng họ và yêu cầu trợ lý dịch từng hướng dẫn khi họ lái xe đến điểm du lịch thay vì trước. Trình thông dịch dịch từng dòng một sang ngôn ngữ của hệ thống đích

Trong những trường hợp nào thì một ngôn ngữ thông dịch sẽ được ưu tiên hơn một ngôn ngữ lập trình được biên dịch? . Trong khi đó, đối với một ngôn ngữ được biên dịch, mã chỉ có thể chạy cho một hệ thống mà nó đã được biên dịch cho. Ví dụ về các ngôn ngữ lập trình thông dịch khác là JavaScript, PHP và Perl

Đặc điểm khác của Python là nó là ngôn ngữ hướng đối tượng, nghĩa là trong Python mọi thứ đều là đối tượng, giống như trong thế giới thực. Một ví dụ điển hình là định nghĩa một đối tượng có tên là Person; . Người đó có thể có chiều cao, màu da, tuổi, giới tính, tên và họ. Người đó cũng sẽ có các khả năng, như đi lại, nói chuyện và ăn uống. Các đặc điểm hoặc biến của một đối tượng trong Python được gọi là thuộc tính và khả năng hoặc chức năng được gọi là phương thức. Do tính chất hướng đối tượng này của Python, việc truyền đạt ý tưởng và khái niệm từ thế giới thực sang mã Python sẽ thuận tiện hơn nhiều và do đó giải quyết vấn đề đơn giản hơn nhiều

Python cũng được nhập động, nghĩa là bạn không phải khai báo các loại biến trong mã của mình, Python sẽ tự động chọn loại đối tượng mà nó có trong thời gian chạy. Ví dụ: nếu tuổi của một người là một số hoặc số nguyên, bạn không cần phải nói với Python rằng đó là một số vì ngay khi bạn gán một số, Python sẽ coi biến đó là một số. Trái ngược với các ngôn ngữ được nhập động, các ngôn ngữ được nhập tĩnh, như C++, cần khai báo loại biến trước khi biên dịch và kiểm tra được thực hiện trong quá trình biên dịch để đảm bảo rằng các quy tắc loại đối tượng không bị vi phạm. Nó có xu hướng viết mã nhanh hơn bằng ngôn ngữ được nhập động khi lập trình viên không cần khai báo rõ ràng các loại. Tuy nhiên, lợi thế của các ngôn ngữ được nhập tĩnh là nhiều lỗi hơn được bắt gặp trong thời gian biên dịch hơn là trong thời gian chạy

Là ngôn ngữ lập trình cấp cao, có nghĩa là Python được trừu tượng hóa cao khỏi ngôn ngữ tự nhiên của máy tính, là 1 và 0. Điều này cho phép lập trình viên sử dụng các hướng dẫn gần với tiếng Anh để tạo một chương trình máy tính mà trình biên dịch sẽ dịch sang các hướng dẫn cấp thấp của máy tính. Đặc điểm này cho phép Python hướng đối tượng, gõ động và thậm chí có các tính năng quản lý bộ nhớ tự động, do đó, việc lập trình bằng ngôn ngữ này trở nên dễ dàng hơn. Mã hóa bằng ngôn ngữ cấp cao chiếm một phần thời gian so với lập trình bằng ngôn ngữ cấp thấp và mã hóa bằng ngôn ngữ cấp thấp có thể khá cồng kềnh và dễ bị lỗi, do đó, ngôn ngữ lập trình cấp cao đủ tốt cho . Tuy nhiên, các nhà sản xuất thiết bị, nhà thiết kế hệ điều hành và nhà thiết kế trình biên dịch phải thành thạo lập trình cấp thấp vì phần mềm của họ ở gần máy.

Python được lên ý tưởng và phát triển bởi Guido van Rossum, một lập trình viên từng làm việc cho Centrum voor Wiskunde en Informatica (CWI) vào những năm 1980. Vào thời điểm đó, họ đang sử dụng một ngôn ngữ gọi là ABC, một ngôn ngữ đơn giản hơn và dễ tiếp thu hơn đối với người mới bắt đầu, tuy nhiên Guido van Rossum cảm thấy có nhiều lĩnh vực có thể được cải thiện đối với ngôn ngữ này. Vì vậy, vào tuần lễ Giáng sinh năm 1989, Guido van Rossum, bắt đầu một dự án khiến bản thân luôn bận rộn, mục tiêu là tạo ra một ngôn ngữ có những phần hay nhất của ABC và bổ sung thêm nhiều tính năng để tạo ra một ngôn ngữ tốt hơn. Vì anh ấy rất hâm mộ chương trình hài kịch trên truyền hình BBC có tên “Monty Python’s Flying Circus”, anh ấy quyết định gọi dự án là “Python”, và phần còn lại là lịch sử

Python đã đi một chặng đường dài kể từ phiên bản đầu tiên được phát hành vào năm 1991. Ngôn ngữ này phổ biến hơn bao giờ hết và chưa có dấu hiệu chậm lại, đặc biệt là trong cộng đồng khoa học dữ liệu. Một số lập trình viên có thể thắc mắc tại sao Python lại được sử dụng nhiều như vậy dù chậm hơn các ngôn ngữ lập trình như C++ hay Java. Thực tế đơn giản của vấn đề là người dùng hầu như không thể nhận thấy sự chậm chạp của Python vì nó là một phần nhỏ và lợi ích vượt xa sự chậm chạp. Thực tế là việc viết một chương trình Python cần ít dòng mã hơn để đạt được kết quả tương tự như nhiều dòng mã trong C ++ và nó gần giống với việc viết tiếng Anh hơn và nó là một ngôn ngữ được nhập động, khiến Python trở thành người chiến thắng rõ ràng về mặt . Hơn nữa, máy tính đã trở nên rẻ hơn và nhanh hơn so với khi Python mới ra mắt, và do đó mã Python có thể thực thi nhanh hơn. Đối với người dùng doanh nghiệp, thời gian cần thiết để phát triển chương trình bằng ngôn ngữ lập trình phức tạp hơn nhiều có thể tốn kém hơn so với sử dụng Python để có được kết quả tương tự trong một khoảng thời gian ngắn. Do đó, Python có giá tốt trong các ứng dụng tạo nguyên mẫu nhanh và các ứng dụng kinh doanh có mục đích chung. Nếu hiệu suất cao là một yêu cầu nghiêm ngặt, chẳng hạn như phát triển trò chơi, thì các ngôn ngữ như C# và C++ sẽ phù hợp hơn Python. Python rất phổ biến vì nhiều lý do đã được đề cập, nhưng nó đặc biệt phổ biến trong khoa học dữ liệu, không chỉ vì tính dễ sử dụng mà ngôn ngữ này còn có một cộng đồng nhà phát triển khổng lồ luôn sẵn sàng hỗ trợ trả lời các câu hỏi . Python cũng là mã nguồn mở, có nghĩa là mã nguồn của nó mở cho bất kỳ ai kiểm tra và tham gia phát triển. Python cũng có thể mở rộng bằng cách sử dụng các mô-đun hoặc gói python và khung đã được cộng đồng phát triển để cung cấp nhiều chức năng hơn. Tình cờ là có một số lượng đáng kể các gói đã được phát triển cho khoa học dữ liệu và học máy giúp các nhà khoa học dữ liệu chuyển sang Python để khám phá và phân tích dữ liệu dễ dàng hơn. Trí tuệ nhân tạo và Học máy đang ngày càng được nhiều doanh nghiệp áp dụng và điều này đã thúc đẩy nhu cầu về các kỹ năng phát triển Python và các tổ chức học thuật đang áp dụng nó như một phương tiện dạy cho người mới bắt đầu cách lập trình, tiếp tục thúc đẩy sự phổ biến của ngôn ngữ này. Bên cạnh ngôn ngữ có tên R, bạn sẽ khó tìm được một nhà khoa học dữ liệu nào không thể viết mã bằng Python