Ứng dụng ngôn ngữ Python. Ngôn ngữ lập trình Python: Khái niệm cơ bản, tính năng và ví dụ

Kể từ khi bắt đầu dạy Python vào năm 2011, tôi đã tìm thấy một số tài nguyên mà tôi sử dụng thường xuyên. Khi tôi mới bắt đầu học ngôn ngữ này, tôi đã rất ngạc nhiên trước sự chào đón của cộng đồng Python. Bằng chứng cho điều này là số lượng lớn tài liệu chất lượng cao, miễn phí có sẵn. Dưới đây tôi sẽ đưa ra ví dụ về những tài nguyên sẽ không tồn tại nếu không có sự hỗ trợ của cộng đồng.

1. Phát minh trò chơi máy tính của riêng bạn bằng Python

Có thể bạn đã có cuốn sách Python yêu thích của riêng mình, nhưng tôi khuyến khích bạn đọc cuốn sách này. Bạn có thể mua nó, đọc trực tuyến hoặc tải xuống miễn phí dưới dạng PDF. Tôi thích cấu trúc giống nhau của các chương: đầu tiên vấn đề được đặt ra, sau đó là các ví dụ về giải pháp cho vấn đề kèm theo lời giải thích chi tiết. Cùng một tác giả đã viết thêm 3 cuốn sách tuyệt vời.

2. Điêu khắc

Tôi đã làm việc ở những trường học mà vì lý do này hay lý do khác (thường là lý do bảo mật) Python không có sẵn. Skulpt chạy các tập lệnh Python trong trình duyệt và bao gồm một số ví dụ. Cái đầu tiên sử dụng mô-đun Rùa để hiển thị các hình dạng hình học. Tôi thường dùng nó để kiểm tra kiến ​​thức của học sinh.

3. Đoán số

8. Ngẫu nhiên

Python có một số hàm tích hợp hữu ích, chẳng hạn như in và nhập liệu. Mặt khác, mô-đun ngẫu nhiên cần phải được nhập trước khi sử dụng. Nó cho phép sinh viên thêm một chút khó đoán vào dự án của họ.

Nhập xu ngẫu nhiên = ['ngửa','đuôi'] lật = ngẫu nhiên.choice(xu) in(lật)

9. Chống trọng lực

Tôi hiếm khi sử dụng mô-đun chống trọng lực. Nhưng khi tôi phải làm điều này, tôi hỏi học sinh điều gì sẽ xảy ra khi họ nhập nó. Thông thường, tôi nhận được nhiều câu trả lời khác nhau, đôi khi họ thậm chí còn gợi ý rằng hiệu ứng không trọng lượng thực sự sẽ bắt đầu - họ nghĩ rằng Python rất mạnh :) Bạn có thể tự mình dùng thử và cung cấp nó cho học sinh của mình.

Nhập khẩu phản lực hấp dẫn

10. Phá hoại

Thử thách lớn nhất đối với tôi với tư cách là một giáo viên là tìm ra lỗi cú pháp trong chương trình của học sinh. May mắn thay, trước khi kiệt sức hoàn toàn, tôi đã nghĩ ra

Là một ngôn ngữ lập trình được thiết kế tốt, Python rất phù hợp để giải quyết các vấn đề trong thế giới thực mà các nhà phát triển phải đối mặt hàng ngày. Nó được sử dụng trong nhiều ứng dụng - vừa là công cụ để quản lý các thành phần phần mềm khác vừa để thực hiện các chương trình độc lập. Trên thực tế, phạm vi vai trò mà Python có thể đảm nhiệm như một ngôn ngữ lập trình đa mục đích thực tế là không giới hạn: nó có thể được sử dụng để triển khai

bất cứ thứ gì từ trang web và chương trình trò chơi đến điều khiển robot và tàu vũ trụ.

Tuy nhiên, việc sử dụng Python ngày nay có thể được chia thành nhiều loại lớn. Một số phần tiếp theo mô tả các cách sử dụng Python phổ biến nhất hiện nay, cũng như các công cụ được sử dụng trong từng lĩnh vực. Chúng ta sẽ không có cơ hội nghiên cứu các công cụ được đề cập ở đây. Nếu bạn quan tâm đến bất kỳ điều nào trong số này, vui lòng truy cập trang web Dự án Python để biết thêm

Lập trình hệ thống

Các giao diện tích hợp của Python để truy cập các dịch vụ hệ điều hành khiến nó trở nên lý tưởng để tạo các chương trình di động và tiện ích quản trị hệ thống (đôi khi được gọi là công cụ shell). Các chương trình Python có thể tìm kiếm các tập tin và thư mục, chạy các chương trình khác, thực hiện các phép tính song song bằng cách sử dụng nhiều tiến trình và luồng, đồng thời thực hiện

nhiều hơn nữa.

Thư viện chuẩn Python hoàn toàn tuân thủ các tiêu chuẩn POSIX và hỗ trợ tất cả các công cụ hệ điều hành điển hình: biến môi trường, tệp, ổ cắm, đường ống, quy trình, mô hình thực thi đa luồng, khớp mẫu bằng biểu thức chính quy, đối số dòng lệnh, giao diện chuẩn để truy cập luồng dữ liệu, chạy lệnh shell, nối thêm tên tệp, v.v.

Ngoài ra, giao diện hệ thống trong Python được thiết kế để có thể mang theo được, chẳng hạn như tập lệnh sao chép cây thư mục, không yêu cầu sửa đổi cho dù nó được sử dụng trên hệ điều hành nào. Hệ thống Stackless Python được EVE Online sử dụng cũng cung cấp các giải pháp xử lý song song được cải tiến.

GUI

Tính đơn giản và tốc độ phát triển nhanh của Python khiến nó trở thành một công cụ phát triển GUI tuyệt vời. Python bao gồm giao diện hướng đối tượng tiêu chuẩn cho API Tk GUI được gọi là tkinter (B Python 2.6 được gọi là Tkinter) cho phép các chương trình Python triển khai giao diện đồ họa di động với sự xuất hiện của hệ điều hành. GUI dựa trên Python/

tkinter có thể được sử dụng mà không cần sửa đổi trong MS Windows, X Window (trên hệ thống UNIX và Linux) và Mac OS (cả ở phiên bản cổ điển và OS X). Gói mở rộng PMW miễn phí chứa các thành phần trực quan bổ sung cho bộ tkinter. Ngoài ra, còn có API GUI wxPython, dựa trên thư viện C++, cung cấp một bộ công cụ thay thế để xây dựng GUI di động bằng Python.

Các công cụ cấp cao như PythonCard và Dabot được xây dựng dựa trên các API như wxPython và tkinter. Bằng cách chọn thư viện thích hợp, bạn cũng sẽ có thể sử dụng các công cụ GUI khác như Qt (sử dụng PyQt), GTK (sử dụng PyGtk), MFC (sử dụng PyWin32), .NET (sử dụng IronPython), Swing (sử dụng Jython - phần triển khai) của ngôn ngữ Python trong Java, được mô tả trong Chương 2 hoặc JPype). Để phát triển các ứng dụng dựa trên web hoặc các ứng dụng không có yêu cầu cao về giao diện người dùng, bạn có thể sử dụng Jython, khung web Python và tập lệnh CGI, được mô tả trong phần tiếp theo và cung cấp các khả năng bổ sung để tạo giao diện người dùng.

Tập lệnh web

Trình thông dịch Python đi kèm với các mô-đun Internet tiêu chuẩn cho phép các chương trình thực hiện nhiều hoạt động mạng khác nhau ở cả chế độ máy khách và máy chủ. Các tập lệnh có thể tương tác qua các socket, trích xuất thông tin từ các biểu mẫu được gửi đến các tập lệnh CGI phía máy chủ; truyền tập tin qua FTP; xử lý các tệp XML; truyền, nhận, tạo và phân tích

email; tải các trang web từ các URL được chỉ định; phân tích đánh dấu HTML và XML của các trang web nhận được; thực hiện các tương tác bằng cách sử dụng các giao thức XML-RPC, SOAP và Telnet, v.v.

Các thư viện đi kèm với Python giúp việc thực hiện các tác vụ như vậy trở nên dễ dàng một cách đáng ngạc nhiên.

Ngoài ra, có một bộ sưu tập khổng lồ các công cụ của bên thứ ba để tạo các chương trình mạng bằng Python có thể tìm thấy trên Internet. Ví dụ: hệ thống HTMLGen cho phép bạn tạo các trang HTML dựa trên định nghĩa lớp Python. Gói mod_python được thiết kế để chạy các tập lệnh Python trong máy chủ web Apache và hỗ trợ các mẫu công cụ Python Server Pages. Hệ thống Jython cung cấp

tích hợp Python/Java liền mạch và hỗ trợ các ứng dụng phía máy chủ chạy ở phía máy khách.

Ngoài ra, còn có các gói phát triển web chính thức dành cho Python như Django, TurboGears, web2py, Pylons, Zope và WebWare hỗ trợ khả năng nhanh chóng tạo các trang web chất lượng cao, đầy đủ chức năng trong Python. Nhiều trong số chúng bao gồm các tính năng như ánh xạ quan hệ đối tượng, kiến ​​trúc Model/View/Controller, kịch bản phía máy chủ, hỗ trợ mẫu và công nghệ AJAX, cung cấp

Giải pháp hoàn chỉnh và đáng tin cậy để phát triển ứng dụng web.

Tích hợp thành phần

Khả năng tích hợp các thành phần phần mềm vào một ứng dụng bằng Python đã được thảo luận ở trên khi chúng ta nói về Python như một ngôn ngữ điều khiển. Khả năng mở rộng và tích hợp của Python vào

hệ thống trong C và C++ làm cho nó trở thành ngôn ngữ thuận tiện và linh hoạt để mô tả hành vi của các hệ thống và thành phần khác. Ví dụ: việc tích hợp với thư viện C cho phép Python kiểm tra và chạy các thành phần thư viện, đồng thời việc nhúng Python vào các sản phẩm phần mềm cho phép tùy chỉnh các sản phẩm phần mềm mà không cần phải xây dựng lại sản phẩm hoặc gửi chúng cùng với mã nguồn.

Các công cụ như Swing và SIP, tự động tạo mã, có thể tự động hóa các bước liên kết các thành phần đã biên dịch trong Python để sử dụng sau này trong các tập lệnh và hệ thống Cython cho phép lập trình viên trộn mã Python và mã C. Các nền tảng Python lớn như hỗ trợ COM

trong MS Windows, Jython - triển khai Java, IronPython - triển khai .NET và nhiều triển khai CORBA khác nhau cung cấp các cách khác để tổ chức các tương tác với các thành phần phần mềm. Ví dụ: trên hệ điều hành Windows, tập lệnh Python có thể sử dụng các nền tảng kiểm soát ứng dụng như MS Word và Excel.

Ứng dụng cơ sở dữ liệu

Python có giao diện để truy cập tất cả các cơ sở dữ liệu quan hệ chính - Sybase, Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLite và nhiều cơ sở dữ liệu khác. Trong thế giới Python, cũng có API cơ sở dữ liệu di động để truy cập cơ sở dữ liệu SQL từ các tập lệnh Python nhằm thống nhất quyền truy cập vào các cơ sở dữ liệu khác nhau. Ví dụ: khi sử dụng API di động, tập lệnh được thiết kế để hoạt động với cơ sở dữ liệu MySQL miễn phí có thể hoạt động với các hệ thống cơ sở dữ liệu khác (chẳng hạn như Oracle) mà hầu như không cần sửa đổi. Tất cả những gì bạn phải làm để thực hiện việc này là thay thế giao diện cấp thấp được sử dụng.

Mô-đun dưa chua tiêu chuẩn triển khai một hệ thống lưu trữ đối tượng đơn giản cho phép các chương trình lưu và khôi phục các đối tượng Python trong các tệp hoặc các đối tượng chuyên dụng. Bạn cũng có thể tìm thấy hệ thống của bên thứ ba trên Internet có tên ZODB.

Nó là một cơ sở dữ liệu hoàn toàn hướng đối tượng

để sử dụng trong các tập lệnh Python. Cũng có

các công cụ như SQLObject và SQLAlchemy hiển thị

các bảng quan hệ vào mô hình lớp Python. Kể từ Python 2.5,

Cơ sở dữ liệu SQLite đã trở thành một phần tiêu chuẩn của Python.

Tạo mẫu nhanh

Trong các chương trình Python, các thành phần được viết bằng Python và C trông giống nhau. Điều này cho phép bạn tạo nguyên mẫu hệ thống đầu tiên bằng Python, sau đó chuyển các thành phần đã chọn sang các ngôn ngữ biên dịch như C và C++. Không giống như một số công cụ tạo mẫu khác, Python không yêu cầu hệ thống phải được viết lại hoàn toàn sau khi nguyên mẫu được gỡ lỗi. Các bộ phận của hệ thống không yêu cầu hiệu quả thực thi mà C++ cung cấp có thể

hãy để nó bằng Python, điều này sẽ đơn giản hóa đáng kể việc bảo trì và sử dụng một hệ thống như vậy.

Lập trình toán học

và tính toán khoa học

Tiện ích mở rộng toán học NumPy được đề cập ở trên bao gồm các phần tử mạnh mẽ như đối tượng mảng, giao diện với thư viện toán học tiêu chuẩn, v.v. Việc mở rộng NumPy—bằng cách tích hợp với các thư viện toán học được viết bằng ngôn ngữ lập trình biên dịch—biến Python thành một công cụ lập trình toán học phức tạp nhưng tiện lợi, thường có thể thay thế mã hiện có được viết bằng các ngôn ngữ biên dịch truyền thống như FORTRAN và C++.

Các công cụ toán học bổ sung cho Python hỗ trợ khả năng tạo hiệu ứng hoạt hình và đối tượng 3D, cho phép bạn tổ chức các phép tính song song, v.v. Ví dụ: các tiện ích mở rộng SciPy và ScientificPython phổ biến cung cấp các thư viện bổ sung cho tính toán khoa học và tận dụng các khả năng của tiện ích mở rộng NumPy.

Trò chơi, hình ảnh, trí tuệ nhân tạo,

Robot XML và hơn thế nữa

Ngôn ngữ lập trình Python có thể được sử dụng để giải quyết nhiều vấn đề hơn những vấn đề có thể được đề cập ở đây. Ví dụ:

Tạo chương trình trò chơi và video hoạt hình bằng cách sử dụng

hệ thống pygame

Trao đổi dữ liệu với máy tính khác qua serial

cổng sử dụng tiện ích mở rộng PySerial

Xử lý hình ảnh bằng phần mở rộng PIL, PyOpenGL,

Máy xay sinh tố, Maya và những người khác

Điều khiển robot bằng công cụ PyRo

Phân tích tài liệu XML bằng gói xml, xmlrp- module

clib và tiện ích mở rộng của bên thứ ba

Lập trình trí tuệ nhân tạo bằng cách sử dụng bộ mô phỏng thần kinh

mạng và vỏ hệ thống chuyên gia

Phân tích các cụm từ ngôn ngữ tự nhiên bằng gói NLTK.

Bạn thậm chí có thể chơi solitaire bằng PySol. Hỗ trợ cho nhiều lĩnh vực ứng dụng khác có thể được tìm thấy trên trang web PyPI hoặc bằng cách sử dụng các công cụ tìm kiếm (tìm kiếm liên kết bằng Google hoặc http://www.python.org).

Nói chung, nhiều cách sử dụng Python này chỉ là các biến thể của cùng một vai trò được gọi là tích hợp thành phần. Việc sử dụng Python làm giao diện cho các thư viện thành phần được viết bằng C giúp có thể viết các tập lệnh Python để giải quyết các vấn đề trong nhiều lĩnh vực ứng dụng. Là ngôn ngữ lập trình đa năng, đa năng hỗ trợ tích hợp, Python có thể được sử dụng rất rộng rãi.

Nhân tiện, bạn có đang gặp vấn đề với nguồn điện của máy tính xách tay không? Chúng tôi khuyên bạn nên mua bộ nguồn laptop với giá rất phải chăng. Trên trang web của công ty darrom.com.ua, bạn sẽ tìm thấy bộ nguồn cho bất kỳ máy tính xách tay nào.

Hãy chuyển sang phần lý thuyết và thực hành và bắt đầu với định nghĩa phiên dịch viên là gì.

Thông dịch viên

Thông dịch viên là một chương trình thực thi các chương trình khác. Khi bạn viết một chương trình bằng Python, trình thông dịch sẽ đọc chương trình của bạn và thực hiện các hướng dẫn trong đó. Trong thực tế, trình thông dịch là một lớp logic chương trình giữa mã chương trình và phần cứng máy tính của bạn.

Tùy thuộc vào phiên bản Python bạn đang sử dụng, bản thân trình thông dịch có thể được triển khai dưới dạng chương trình C, dưới dạng một tập hợp các lớp Java hoặc dưới một số dạng khác, nhưng sẽ nói thêm về điều đó sau.

Chạy tập lệnh trong bảng điều khiển

Hãy chạy trình thông dịch trong bảng điều khiển:

Bây giờ nó đang chờ nhập lệnh, hãy nhập hướng dẫn sau vào đó:

In "xin chào thế giới!"

yay, chương trình đầu tiên của chúng tôi! :D

Chạy tập lệnh từ một tập tin

Tạo một tệp "test.py", với nội dung:

# print "hello world" print "hello world" # in 2 lũy thừa 10 in 2 ** 10

và thực thi tập tin này:

# python /path/to/test.py

Biên dịch động và mã byte

Sau khi bạn chạy tập lệnh, trước tiên nó sẽ biên dịch nguồn tập lệnh thành mã byte cho máy ảo. biên soạn chỉ đơn giản là một bước dịch và mã byte là sự thể hiện cấp độ thấp, độc lập với nền tảng của văn bản nguồn của chương trình. Python dịch từng lệnh trong mã nguồn tập lệnh thành các nhóm hướng dẫn mã byte để cải thiện tốc độ thực thi chương trình vì mã byte thực thi nhanh hơn nhiều. Sau khi biên dịch thành mã byte, một tệp có phần mở rộng ".pyc" bên cạnh văn bản script gốc.

Lần tiếp theo bạn chạy chương trình, trình thông dịch sẽ bỏ qua giai đoạn biên dịch và tạo ra một tệp đã biên dịch có phần mở rộng ".pyc" để thực thi. Tuy nhiên, nếu bạn thay đổi nguồn của chương trình, bước biên dịch sang mã byte sẽ xảy ra lần nữa vì Python tự động theo dõi ngày sửa đổi của tệp mã nguồn.

Nếu Python không thể ghi tệp mã byte, chẳng hạn như do thiếu quyền ghi vào đĩa, thì chương trình sẽ không bị ảnh hưởng, mã byte sẽ chỉ được thu thập trong bộ nhớ và bị xóa khỏi đó khi chương trình thoát.

Máy ảo Python (PVM)

Sau khi quá trình biên dịch diễn ra, mã byte được chuyển tới một cơ chế gọi là máy ảo, sẽ thực thi các hướng dẫn từ mã byte. Máy ảo là một cơ chế thời gian chạy, nó luôn hiện diện trong hệ thống Python và là một thành phần cực đoan của hệ thống được gọi là “Trình thông dịch Python”.

Để củng cố những gì chúng ta đã học, hãy làm rõ tình huống một lần nữa: quá trình biên dịch thành mã byte được thực hiện tự động và PVM chỉ là một phần của hệ thống Python mà bạn đã cài đặt cùng với trình thông dịch và trình biên dịch. Mọi thứ diễn ra một cách minh bạch với người lập trình và bạn không phải thực hiện các thao tác này một cách thủ công.

Hiệu suất

Các lập trình viên có kinh nghiệm về các ngôn ngữ như C và C++ có thể nhận thấy một số khác biệt trong mô hình thực thi của Python. Đầu tiên là không có bước build hay gọi tiện ích "make", chương trình Python có thể chạy ngay sau khi viết mã nguồn. Điểm khác biệt thứ hai là mã byte không phải là mã máy nhị phân (ví dụ: hướng dẫn cho bộ vi xử lý Intel), nó là biểu diễn bên trong của chương trình Python.

Vì những lý do này, các chương trình trong Python không thể thực thi nhanh như trong C/C++. Các hướng dẫn được truyền qua bởi hệ thống ảo chứ không phải bộ vi xử lý và để thực thi mã byte yêu cầu diễn giải bổ sung, các hướng dẫn này mất nhiều thời gian hơn hướng dẫn máy của bộ vi xử lý.

Tuy nhiên, mặt khác, không giống như các trình thông dịch truyền thống, chẳng hạn như trong PHP, có một giai đoạn biên dịch bổ sung - trình thông dịch không cần phải phân tích văn bản nguồn của chương trình mỗi lần.

Kết quả là hiệu năng của Python nằm giữa các ngôn ngữ lập trình biên dịch truyền thống và ngôn ngữ lập trình phiên dịch truyền thống.

Triển khai Python thay thế

Những gì đã nói ở trên về trình biên dịch và máy ảo là điển hình cho việc triển khai Python tiêu chuẩn, cái gọi là CPython (triển khai trong ANSI C). Tuy nhiên, cũng có những triển khai thay thế như Jython và IronPython, sẽ được thảo luận ngay bây giờ.

Đây là cách triển khai Python tiêu chuẩn và nguyên bản, được đặt tên như vậy vì nó được viết bằng ANSI C. Đây là những gì chúng tôi đã cài đặt khi chọn gói Python hoạt động hoặc được cài đặt từ BSD miễn phí cổng. Vì đây là một triển khai tham khảo nên nhìn chung hoạt động nhanh hơn, ổn định hơn và tốt hơn hơn các triển khai thay thế.

Jython

Tên gốc JPython, mục đích chính - tích hợp chặt chẽ với ngôn ngữ lập trình Java. Việc triển khai Jython bao gồm các lớp Java biên dịch mã Python thành mã byte Java và sau đó truyền mã byte kết quả Máy ảo Java (JVM).

Mục tiêu của Jython là cho phép các chương trình Python kiểm soát các ứng dụng Java, giống như CPython có thể kiểm soát các thành phần C/C++. Việc triển khai này có sự tích hợp liền mạch với Java. Vì mã Python được dịch sang mã byte Java nên nó hoạt động chính xác như một chương trình Java thực trong thời gian chạy. Các chương trình Jython có thể hoạt động như các applet và servlet, tạo giao diện đồ họa bằng cơ chế Java, v.v. Hơn nữa, Jython còn cung cấp hỗ trợ cho khả năng nhập và sử dụng các lớp Java trong mã Python.

Tuy nhiên, do việc triển khai Jython chậm hơn và kém mạnh mẽ hơn CPython nên các nhà phát triển Java cần một ngôn ngữ kịch bản lệnh làm giao diện cho mã Java rất quan tâm.

Việc triển khai được thiết kế để cung cấp khả năng tích hợp các chương trình Python với các ứng dụng được xây dựng để chạy trên Microsoft .NET Framework của hệ điều hành Windows, cũng như Mono, mã nguồn mở tương đương với Linux. .NET framework và thời gian chạy C# được thiết kế để cho phép khả năng tương tác giữa các đối tượng phần mềm—bất kể ngôn ngữ lập trình được sử dụng—theo tinh thần của mô hình COM trước đó của Microsoft.

IronPython cho phép các chương trình Python hoạt động như cả thành phần máy khách và máy chủ có thể truy cập được từ các ngôn ngữ lập trình .NET khác. Bởi vì việc phát triển được thực hiện bởi Microsoft, người ta sẽ mong đợi sự tối ưu hóa hiệu suất đáng kể từ IronPython, cùng với những thứ khác.

Công cụ tối ưu hóa tốc độ thực thi

Có các triển khai khác, bao gồm trình biên dịch động Tâm thần và trình dịch Shedskin C++, cố gắng tối ưu hóa mô hình thực thi cơ bản.

Trình biên dịch động Psyco

Hệ thống tâm lý là thành phần mở rộng mô hình thực thi mã byte, cho phép các chương trình chạy nhanh hơn. Tâm thần là một phần mở rộng PVM, thu thập và sử dụng thông tin loại để dịch các phần mã byte của chương trình thành mã máy nhị phân thực sự, thực thi nhanh hơn nhiều. Bản dịch này không yêu cầu thay đổi mã nguồn hoặc biên dịch bổ sung trong quá trình phát triển.

Trong quá trình thực hiện chương trình, Psyco thu thập thông tin về các loại đối tượng và thông tin này sau đó được sử dụng để tạo mã máy hiệu quả cao được tối ưu hóa cho loại đối tượng đó. Mã máy được tạo ra sau đó sẽ thay thế các phần mã byte tương ứng, từ đó tăng tốc độ thực thi.

Lý tưởng nhất là một số phần của mã chương trình dưới sự kiểm soát của Psyco có thể chạy nhanh như mã C đã biên dịch.

Psyco cung cấp tốc độ tăng từ 2 đến 100 lần, nhưng thường là 4 lần, khi sử dụng trình thông dịch Python chưa sửa đổi. Nhược điểm duy nhất của Psyco là hiện tại nó chỉ có khả năng tạo mã máy cho kiến ​​trúc Intel x86.

Psyco không đạt tiêu chuẩn; nó phải được tải xuống và cài đặt riêng. Ngoài ra còn có một dự án PyPy, đại diện cho một nỗ lực để viết lại PVMđể tối ưu hóa mã như trong Tâm thần, dự án PyPy sẽ hấp thụ nhiều hơn của dự án Tâm thần.

Trình dịch Shedskin C++

Lột da là một hệ thống chuyển đổi mã nguồn Python thành mã nguồn C++, sau đó có thể được biên dịch thành mã máy. Ngoài ra, hệ thống còn triển khai cách tiếp cận độc lập với nền tảng để thực thi mã Python.

Mã nhị phân đông lạnh

Đôi khi bạn cần tạo các tệp thực thi độc lập từ các chương trình Python của mình. Điều này là cần thiết cho việc đóng gói và phân phối các chương trình.

Các tệp nhị phân cố định kết hợp mã byte, PVM của chương trình và các tệp hỗ trợ mà chương trình cần vào một tệp gói duy nhất. Kết quả là một tệp thực thi duy nhất, chẳng hạn như tệp có phần mở rộng ".exe" dành cho Windows.

Ngày nay có ba công cụ chính để tạo "các tệp nhị phân bị đóng băng":

  • py2exe- nó có thể tạo các chương trình độc lập cho Windows sử dụng thư viện Tkinter, PMW, wxPython và PyGTK để tạo giao diện đồ họa, các chương trình sử dụng phần mềm tạo trò chơi PyGame, chương trình máy khách win32com và nhiều chương trình khác;
  • Trình cài đặt Py- giống py2exe, nhưng cũng chạy trên Linux và UNIX và có khả năng tạo các tệp thực thi tự cài đặt;
  • đông cứng- phiên bản gốc.

Bạn cần tải xuống các công cụ này riêng biệt với Python, chúng miễn phí.

Các tệp nhị phân cố định khá lớn vì chúng chứa PVM, nhưng theo tiêu chuẩn hiện đại, chúng vẫn không lớn bất thường. Vì trình thông dịch Python được tích hợp trực tiếp vào các tệp nhị phân cố định nên không cần phải cài đặt nó để chạy các chương trình ở đầu nhận.

Bản tóm tắt

Đó là tất cả cho ngày hôm nay, trong bài viết tiếp theo, tôi sẽ nói về các kiểu dữ liệu tiêu chuẩn trong Python và trong các bài viết tiếp theo, chúng ta sẽ xem xét từng loại riêng biệt, cũng như các hàm và toán tử để làm việc với các kiểu này.

Python 3 là một ngôn ngữ hiện đại giúp việc viết chương trình trở nên dễ dàng và thú vị.

Để in các giá trị, Python có hàm print(). Bên trong dấu ngoặc đơn, cách nhau bằng dấu phẩy, chúng ta viết những gì chúng ta muốn xuất ra. Đây là một chương trình thực hiện một số phép tính:

Print(5 + 10) print(3 * 7, (17 - 2) * 8) print(2 ** 16) # hai dấu hoa thị nghĩa là lũy thừa print(37 / 3) # một dấu gạch chéo nghĩa là phép chia với một phân số print(37 // 3) # hai dấu gạch chéo tính thương của cả một phép chia # điều này giống như phép toán div trong các ngôn ngữ khác print(37 % 3) # phần trăm tính toán phần còn lại của cả một phép chia # điều này giống như phép toán mod trong những ngôn ngữ khác

Để nhập dữ liệu vào chương trình, chúng ta sử dụng hàm input(). Nó đọc một dòng.

Đây là chương trình đọc tên người dùng và chào anh ấy:

Peter print("Tên bạn là gì?") name = input() # đọc chuỗi và đặt nó vào biến name print("Xin chào, " + name + "!")

Chúng ta sẽ viết các chương trình đọc dữ liệu, xử lý dữ liệu và đưa ra một số kết quả. Khi chạy trên máy tính, các chương trình như vậy sẽ đọc dữ liệu người dùng nhập từ bàn phím và hiển thị kết quả trên màn hình.

Hãy thử viết một chương trình đọc hai số và hiển thị tổng của chúng. Để làm điều này, chúng ta đếm hai số và lưu chúng vào các biến a và b, sử dụng toán tử gán =. Bên trái toán tử gán trong chương trình Python là tên biến - ví dụ: một chuỗi các chữ cái Latinh. Bất kỳ biểu thức nào cũng có thể được đặt ở bên phải của toán tử gán. Tên sẽ cho biết kết quả đánh giá biểu thức. Chạy chương trình này và xem kết quả:

5 7 a = input() b = input() s = a + b bản in

Chúng ta thấy rằng chương trình xuất ra 57, mặc dù trong thực tế 5 + 7 sẽ là 12. Điều này xảy ra vì Python ở dòng thứ ba đã “thêm” hai chuỗi chứ không phải hai số. Trong Python, hai dòng được thêm vào như sau: dòng thứ hai được thêm vào dòng đầu tiên.

Lưu ý rằng trong trình hiển thị trực quan, nội dung của biến a và b được đặt trong dấu ngoặc kép. Điều này có nghĩa là a và b chứa chuỗi chứ không phải số.

Trong Python, tất cả dữ liệu được gọi là đối tượng. Số 2 được biểu thị bằng đối tượng “số 2”, chuỗi “hello” chính là đối tượng “chuỗi “hello””.

Mỗi đối tượng thuộc về một loại nào đó. Các chuỗi được lưu trữ trong các đối tượng thuộc loại str , số nguyên được lưu trữ trong các đối tượng thuộc loại int , số phân số (số thực) được lưu trữ trong các đối tượng thuộc loại float . Loại đối tượng xác định những hành động nào có thể được thực hiện với các đối tượng thuộc loại đó. Ví dụ: nếu biến thứ nhất và thứ hai chứa các đối tượng thuộc loại int thì chúng có thể được nhân lên, nhưng nếu chúng chứa các đối tượng thuộc loại str thì chúng không thể được nhân lên:

Đầu tiên = 5 giây = 7 bản in (đầu tiên * giây) đầu tiên = "5" giây = "7" in (đầu tiên * giây)

Để chuyển đổi một chuỗi số thành số nguyên, chúng ta sẽ sử dụng hàm int(). Ví dụ: int("23") sẽ trả về số 23 .

Đây là một ví dụ về một chương trình đúng đọc hai số và in tổng của chúng:

5 7 a = int(input()) b = int(input()) s = a + b print(s)

  • Mục tiêu 1- trợ giúp về link, tài liệu dành cho những bạn đang có ý định học lập trình và lấy Python làm ngôn ngữ đầu tiên. Hãy chứng tỏ rằng nó không khó như bạn tưởng.
  • Mục tiêu 2- thu thập các liên kết đến các tài liệu hữu ích và thú vị về chủ đề này trong phần bình luận.

0. Liệu tôi có thành công không?

Ngay từ đầu tôi đã nghi ngờ rằng mình có thể làm được gì hơn Hello World. Đối với tôi, việc lập trình dường như cực kỳ khó khăn và vô cùng kỳ diệu. Ngoài ra, còn có công việc, sở thích, gia đình sẽ khiến bạn mất tập trung vào việc học tập đầy đủ.

Lẽ ra tôi không nên sợ hãi và tôi không khuyên bạn điều đó. Lập trình có lẽ sẽ không bao giờ trở thành nghề chính của tôi, nhưng đó là một cách tuyệt vời để sáng tạo. Đây là cờ vua và nền văn minh trong một chai.

Mọi thứ đơn giản hơn nó tưởng và thú vị hơn nhiều.

1. Văn học

Mark Lutz “Lập trình Python”- nên đọc nó trên nhiều diễn đàn và khóa học. Đối với tôi, nó có vẻ quá chi tiết và quá tải đối với người mới bắt đầu. Đọc nhiều, lập trình ít. Sẽ hữu ích hơn nhiều nếu đọc nó sau khi đã thành thạo Python.

Mark Summerfield “Lập trình Python 3”- năng động, với các ví dụ và nhiệm vụ xuất sắc. Không có chiều sâu không cần thiết, điều này chỉ làm phức tạp mọi thứ ngay từ đầu. Tôi khuyên bạn nên bắt đầu với cuốn sách này; nó sẽ giúp bạn nhanh chóng hiểu được mà không khiến bạn sợ hãi trước những khó khăn.

Tất cả những cuốn sách khác hóa ra lại ít hữu ích và ít thông tin hơn. Nói chung, rất khó để tìm và mua tài liệu hay về chủ đề này ở cửa hàng hoặc ở phiên bản kỹ thuật số.

2. Đọc gì trên Internet

http://pythonworld.ru/ - nói về những điều cơ bản của ngôn ngữ bằng ngôn ngữ đơn giản và dễ hiểu, thường được sử dụng như một bảng cheat.

Sau hai tháng nữa, tôi đã có thể tạo ứng dụng Django đầu tiên của mình. Nhưng cái chính là bây giờ tôi đã có đủ kiến ​​thức để phát triển và học tập độc lập. Điều khó khăn nhất là đạt đến điểm này.

Một tháng sau, tôi tham gia hai dự án trên GitHub và đang tham gia vào chúng. Tất nhiên, tôi vẫn giải quyết được những vấn đề đơn giản nhưng bù lại tôi nhận được lời khuyên và đào tạo.

Tags: đào tạo python, đào tạo lập trình