Khái niệm cơ bản về Python trong nháy mắt. Giới thiệu về lập trình Python

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

trên 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 nhau để 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 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.

Chỉ vài thập kỷ trước, các lập trình viên dường như giống như một loại pháp sư biết điều gì đó mà người khác không thể tiếp cận được. Đôi khi người ta học lập trình bằng cách quỳ gối, viết nguệch ngoạc mã trên một tờ giấy, vì “mức độ tập trung thiết bị máy tính trên đầu người” là cực kỳ thấp. Bây giờ bạn khó có thể tìm thấy một người không có máy tính để bàn hoặc máy tính xách tay ở nhà. Công nghệ giáo dục cũng không đứng yên.

Một ít lịch sử

Ngôn ngữ lập trình Python bắt đầu được phát triển bởi Guido van Rossum vào cuối những năm 1980. Guido lúc đó là nhân viên của Viện CWI Hà Lan. Anh ấy đã viết ngôn ngữ này trong thời gian rảnh rỗi, đưa vào đó một số ý tưởng về ngôn ngữ ABC mà anh ấy đã tham gia vào công việc.

Lưỡi không được đặt theo tên của loài bò sát. Trên thực tế, cái tên này được lấy cảm hứng từ một chương trình hài kịch nổi tiếng của Anh từ những năm 70 có tên là Rạp xiếc bay của Monty Python, mặc dù Python vẫn thường được so sánh với một con rắn hơn, bằng chứng là logo trên trang web chính thức (nó có hai đầu rắn) .

Trực giác thiết kế của Van Rossum không phải là lý do duy nhất khiến ngôn ngữ lập trình Python trở nên phổ biến. Học từ đầu trở thành một công việc thú vị và dễ dàng nhờ sự hiện diện của một cộng đồng người dùng thân thiện.

Cách đây không lâu, vào năm 2008, phiên bản đầu tiên của Python 3000 (3.0), đã được thử nghiệm trong một thời gian dài, đã được phát hành, trong đó nhiều thiếu sót về kiến ​​​​trúc đã được loại bỏ. Đồng thời, các nhà phát triển đã cố gắng duy trì khả năng tương thích với các phiên bản trước của ngôn ngữ. Mặc dù đã có phiên bản mới hơn nhưng cả hai nhánh (2.x và 3.x) đều được hỗ trợ.

Ngôn ngữ lập trình ngắn gọn

Python có một số lợi thế so với các ngôn ngữ khác. Nó có thể hiểu được gần như trực quan và có cú pháp “minh bạch”. Điều này có nghĩa là mã chương trình bằng ngôn ngữ này dễ đọc hơn nhiều, giúp giảm thời gian không chỉ cho việc viết mã mà còn cho các sửa đổi và kiểm tra khác nhau.

Tất nhiên, một lập trình viên “trường phái cũ” sẽ nói rằng bạn chắc chắn cần phải biết một số ngôn ngữ, nhưng bạn thậm chí có thể bắt đầu bằng cách nghiên cứu mã máy. Nhưng bằng cách hoàn thành khóa học lập trình Python, một người sẽ không chỉ nhận được kiến ​​​​thức cụ thể mà còn có cơ hội nhận ra bản chất sáng tạo của mình bằng cách tạo ra các ứng dụng và chương trình hữu ích. Có lẽ lập trình sẽ sớm trở nên cần thiết như việc biết ngoại ngữ.

Thiếu tự tin

Cần loại bỏ quan niệm sai lầm rằng lập trình là khó. Không, lập trình thú vị hơn nhiều so với tưởng tượng; Các hoạt động khác và cái gọi là “thiếu thời gian” hoặc sự lười biếng có thể gây trở ngại.

Tài liệu cơ bản sẽ giúp bạn nhanh chóng học lập trình bằng Python. Khóa đào tạo nên bắt đầu bằng việc đọc hai cuốn sách để bạn có thể thu thập những kiến ​​thức cơ bản. Đầu tiên là "Lập trình Python" của Mark Lutz và thứ hai là "Lập trình Python 3" của Mark Summerfield. Cuốn sách của Lutz mô tả chi tiết, thậm chí đôi khi quá nhiều, tất cả các nguyên tắc cơ bản mà ngôn ngữ được xây dựng dựa trên đó. Một số người khuyên đọc Mark Lutz không phải để nắm vững mà để đào sâu kiến ​​thức cơ bản. Cuốn sách của Summerfield giải thích mọi thứ ngắn gọn hơn, tác giả không khiến người đọc sợ hãi với bất kỳ sự phức tạp nào. Có những tài liệu khác, nhưng những cuốn sách giáo khoa này là hữu ích và nhiều thông tin nhất.

Khóa học giới thiệu

Chúng ta hãy nhớ trường tiểu học. Theo quy luật, ngay cả một đứa trẻ cũng bước vào lớp một với một số kiến ​​​​thức tối thiểu: một số được cha mẹ dạy, một số khác thì bằng không. Đào tạo về ngôn ngữ lập trình Python cũng được cung cấp. Nó thực sự tiện lợi và “minh bạch”, nhưng nếu không có kiến ​​thức tối thiểu về nguyên lý cơ bản của chương trình thì việc học sẽ khó khăn. Nó giống như học bản nhạc mà không cần nghe nhạc. Vì vậy, những người chưa từng học lập trình nên làm quen với “mức cơ bản tối thiểu”.

Các bài giảng CS50 sẽ hữu ích. Đây là khóa học của Đại học Harvard dành riêng cho lập trình bằng Java Script, nhưng các bài giảng đầu tiên giải thích sự tương tác giữa máy tính và các chương trình nói chung theo cách dễ tiếp cận và dễ hiểu. Người dùng nói tiếng Nga có quyền truy cập vào các bản ghi video của khóa học này cùng với bản dịch, tài liệu bổ sung, phiên bản văn bản của bài giảng và bài tập thực hành. Bạn có thể tìm thấy video ở hầu hết mọi nơi, chẳng hạn như trên YouTube, nhưng toàn bộ tài liệu có thể được tìm thấy trên trang web Java Script.

Trên mạng

Ngôn ngữ lập trình Python ngày càng phổ biến nên từ lâu đã xuất hiện nhiều cổng thông tin với rất nhiều tài liệu tự học. Ví dụ: "Python 3 dành cho người mới bắt đầu". Trang web này có rất nhiều tài liệu dành cho người mới bắt đầu; nó có thể được sử dụng như một bảng ghi chú. Ngoài ra còn có một lượng lớn thông tin về chủ đề này với quyền truy cập miễn phí trên trang web Codecademy.

Giao tiếp trên diễn đàn cũng rất quan trọng. Học một mình luôn khó hơn, vì vậy đừng bỏ bê các cộng đồng khác nhau.

Các khóa học trả phí

Bạn luôn có thể sử dụng các khóa học trả phí, nhưng điều này đôi khi tốn rất nhiều tiền và kết quả có thể không đạt yêu cầu. Vì vậy, tất nhiên nên chọn các khóa học có bài tập dùng thử miễn phí. Ví dụ: có một khóa học chuyên sâu về “Cơ bản về lập trình Python” trên GeekBrains. Lớp học miễn phí và được tổ chức 10 ngày một lần. Để đăng ký, bạn phải đăng nhập vào trang web.

Lời khuyên: Dù bạn chọn khóa học nào, trước tiên hãy làm quen với những điều cơ bản của ngôn ngữ để không lãng phí thời gian vào thứ gì đó mà bạn có thể dễ dàng tự học. Chỉ cần đọc những cuốn sách nêu trên là đủ.

Tất nhiên, khi đã nắm vững lý thuyết thì bạn mới muốn thực hành. Những bài giảng của Nick Parlante cần được nhắc tới ở đây. Chúng bằng tiếng Anh, mặc dù nhìn chung rất nhiều tài liệu giáo dục hay đều bằng tiếng Anh, và điều này không có gì đáng ngạc nhiên. Trong các bài giảng của mình, Nick không chỉ dạy ngôn ngữ lập trình Python mà còn đưa ra những bài toán thực tế xuất sắc.

Cách sử dụng

Ngôn ngữ lập trình Python đã được sử dụng để tạo ra nhiều ứng dụng được nhiều người sử dụng hàng ngày. Ví dụ: đây là phiên bản thứ sáu của ứng dụng khách torrent BitTorrent. Python cũng được sử dụng trong trình soạn thảo đồ họa raster Gimp. Nó được sử dụng để tạo các mô-đun, bộ lọc bổ sung chẳng hạn. Phần lớn Civilization IV và Batterfield 2 được viết bằng ngôn ngữ này.

Python được sử dụng bởi các công ty như Google, Facebook, Instagram, Dropbox và Pinterest. Nó cũng hoạt động trong lõi của ứng dụng Yandex Disk. Khoảng 10% nhân viên của công ty viết bằng Python và nhiều lập trình viên gọi đó là ngôn ngữ yêu thích của họ.

Làm thế nào để bắt đầu

Không có mã nào có thể hoạt động “trong không khí”; ngôn ngữ lập trình Python cũng tuân theo quy tắc này. Mặc dù việc đào tạo từ đầu bắt đầu bằng lý thuyết, nhưng trên thực tế, người ta có thể nói, nó bắt đầu bằng việc cài đặt môi trường làm việc trên máy tính cá nhân. Làm thế nào để làm nó? Thật đơn giản: bạn cần nhấp vào liên kết của trang web Python chính thức, tải xuống và chạy trình cài đặt, sau đó cẩn thận làm theo các bước mà nó gợi ý.

Lưu ý bạn phải tải file phù hợp với hệ điều hành cài đặt trên máy tính nhé!

Nếu quá trình cài đặt thành công, hãy mở bảng điều khiển (thông thường việc này có thể được thực hiện bằng phím tắt “ctrl+alt+T”). Bây giờ bạn có thể viết chương trình đầu tiên của mình. Ví dụ: nhập "python3". Nếu bảng điều khiển hiển thị “thông báo chào mừng” trong đó phiên bản chương trình được chỉ định (ví dụ: 3.4.0), thì mọi thứ đều theo thứ tự, nếu không, thì bạn cần cài đặt phiên bản thứ ba của Python bằng lệnh: “sudo apt -get cài đặt python3”.
Tuy nhiên, điều này là không cần thiết. Bạn có thể viết mã bằng bất kỳ trình soạn thảo văn bản thuận tiện nào, sau đó chạy mã đó qua bảng điều khiển hoặc bạn có thể sử dụng môi trường phát triển IDLE đi kèm với bản phân phối.

Khởi chạy IDLE. Để tạo một chương trình nhỏ, bạn chỉ cần viết một dòng mã.

print("Xin chào thế giới!")

Nhập mã này vào cửa sổ IDLE và nhấn Enter. Môi trường sẽ phản hồi ngay lập tức bằng hành động - hiển thị văn bản được yêu cầu trên màn hình. Chương trình đầu tiên đã sẵn sàng.

Ngày 27 tháng 8 năm 2012 lúc 03:18 chiều

Học Python hiệu quả

  • Python

Xin chào tất cả mọi người!

Cú pháp dễ đọc, dễ học, ngôn ngữ cấp cao, ngôn ngữ lập trình hướng đối tượng (OOP), chế độ tương tác mạnh mẽ, nhiều thư viện. Nhiều lợi ích khác... Và tất cả điều này chỉ bằng một ngôn ngữ.
Đầu tiên, chúng ta hãy đi sâu vào các khả năng và tìm hiểu xem Python có thể làm được những gì?

Tại sao tôi cần Python của bạn?

Nhiều lập trình viên mới hỏi những câu hỏi tương tự. Giống như mua một chiếc điện thoại, hãy cho tôi biết tại sao tôi nên mua chiếc điện thoại này mà không phải chiếc điện thoại này?
Chất lượng phần mềm
Đối với nhiều người, bao gồm cả tôi, ưu điểm chính là cú pháp dễ đọc. Không có nhiều ngôn ngữ có thể tự hào về nó. Mã Python dễ đọc hơn, điều đó có nghĩa là việc sử dụng lại và duy trì nó dễ dàng hơn nhiều so với việc sử dụng mã bằng các ngôn ngữ kịch bản lệnh khác. Python chứa các cơ chế hiện đại nhất để sử dụng lại mã chương trình, đó là OOP.
Thư viện hỗ trợ
Python đi kèm với một số lượng lớn chức năng được biên dịch và di động được gọi là thư viện chuẩn. Thư viện này cung cấp cho bạn rất nhiều tính năng được yêu cầu trong các chương trình ứng dụng, từ tìm kiếm văn bản theo mẫu đến các chức năng mạng. Python có thể được mở rộng bởi cả thư viện của riêng bạn và thư viện do các nhà phát triển khác tạo ra.
Tính di động của chương trình
Hầu hết các chương trình Python chạy không thay đổi trên tất cả các nền tảng chính. Việc chuyển mã chương trình từ Linux sang Windows chỉ đơn giản là sao chép các tệp chương trình từ máy này sang máy khác. Python cũng mang đến cho bạn rất nhiều cơ hội để tạo giao diện đồ họa di động.
Tốc độ phát triển
So với các ngôn ngữ được biên dịch hoặc gõ mạnh như C, C++ hoặc Java, Python tăng năng suất của nhà phát triển lên nhiều lần. Mã Python thường có kích thước bằng 1/3 hoặc thậm chí 1/5 kích thước của mã C++ hoặc Java tương đương, nghĩa là gõ ít hơn, ít thời gian gỡ lỗi hơn và ít nỗ lực bảo trì hơn. Ngoài ra, các chương trình Python chạy ngay lập tức mà không cần thực hiện các bước biên dịch và liên kết tốn thời gian như một số ngôn ngữ lập trình khác, giúp tăng thêm năng suất của lập trình viên.

Python được sử dụng ở đâu?

  • Google sử dụng Python trong công cụ tìm kiếm của mình và trả tiền cho người tạo ra Python, Guido van Rossum.
  • Các công ty như Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm và IBM sử dụng Python để kiểm tra phần cứng
  • Dịch vụ chia sẻ video của YouTube phần lớn được triển khai bằng Python
  • NSA sử dụng Python để mã hóa và phân tích thông tin tình báo
  • JPMorgan Chase, UBS, Getco và Citadel sử dụng Python để dự báo thị trường tài chính
  • Chương trình BitTorrent phổ biến để trao đổi tệp trên mạng ngang hàng được viết bằng Python
  • Khung web App Engine phổ biến của Google sử dụng Python làm ngôn ngữ lập trình ứng dụng
  • NASA, Los Alamos, JPL và Fermilab sử dụng Python cho tính toán khoa học.
và các công ty khác cũng sử dụng ngôn ngữ này.

Văn học

Vì vậy, chúng tôi đã hiểu rõ hơn về ngôn ngữ lập trình Python. Có thể nói riêng rằng ưu điểm của Python là nó có nhiều tài liệu chất lượng cao. Không phải mọi ngôn ngữ đều có thể tự hào về điều này. Ví dụ, ngôn ngữ lập trình JavaScript không thể làm hài lòng người dùng với nhiều tài liệu, mặc dù ngôn ngữ này thực sự tốt.

Dưới đây là những nguồn sẽ giúp bạn hiểu rõ hơn về Python và có thể trở thành Guido van Rossum trong tương lai.
* Một số nguồn có thể bằng tiếng Anh. Điều này không có gì đáng ngạc nhiên, hiện nay có rất nhiều tác phẩm văn học xuất sắc được viết bằng tiếng Anh. Và để tự lập trình bạn cần biết ít nhất kiến ​​thức cơ bản về tiếng Anh.

Tôi thực sự khuyên bạn nên đọc cuốn sách này trước - Mark Lutz. Học Python, tái bản lần thứ 4. Sách đã được dịch sang tiếng Nga nên đừng lo nếu bạn đột nhiên không biết tiếng Anh. Nhưng đây là phiên bản thứ tư.

Đối với những người biết tiếng Anh, bạn có thể đọc tài liệu trên trang web chính thức của Python. Mọi thứ đều được mô tả ở đó khá rõ ràng.

Và nếu bạn thích thông tin từ video thì tôi có thể giới thiệu các bài học từ Google, do Nick Parlante, một sinh viên đến từ Stanford, giảng dạy. Sáu video bài giảng trên YouTube. Nhưng có một giọt thuốc mỡ trong thùng thuốc mỡ... Anh ấy thực hiện nó bằng tiếng Anh với phụ đề tiếng Anh. Nhưng tôi hy vọng rằng điều này sẽ dừng lại một số.

Đọc sách nhưng không biết vận dụng kiến ​​thức thì phải làm sao?

Không hoảng loạn!
Tôi khuyên bạn nên đọc cuốn sách của Mark Lutz. Lập trình Python (Ấn bản thứ 4). Trước đây là “học”, nhưng ở đây là “Lập trình”. Trong phần “Học” - bạn có được kiến ​​thức về Python, trong phần “Lập trình” - Mark dạy bạn cách áp dụng nó vào các chương trình tương lai của bạn. Cuốn sách rất hữu ích. Và tôi nghĩ một cái là đủ cho bạn.

Tôi muốn luyện tập!

Một cách dễ dàng.
Ở trên tôi đã viết về các video bài giảng của Nick Parlante trên YouTube, nhưng họ cũng có một số video

Ngày xửa ngày xưa, trên một diễn đàn kín, tôi đã thử dạy Python. Nói chung, mọi thứ đã bị đình trệ ở đó. Tôi cảm thấy tiếc vì những bài học đã được viết ra và tôi quyết định đăng chúng ra công chúng. Cho đến nay là lần đầu tiên, đơn giản nhất. Những gì xảy ra tiếp theo sẽ thú vị hơn, nhưng có lẽ sẽ không thú vị. Nói chung bài này sẽ là bong bóng thử nghiệm, nếu bạn thích thì mình sẽ đăng tiếp.

Python cho người mới bắt đầu. Chương đầu tiên. "Chúng ta đang nói về điều gì vậy"

Đề phòng, một chút “truyền giáo” nhàm chán. Nếu bạn chán anh ấy, bạn có thể bỏ qua một vài đoạn văn.
Python (phát âm là "Python" chứ không phải "python") là một ngôn ngữ kịch bản được phát triển bởi Guido van Rossum như một ngôn ngữ đơn giản, dễ học cho người mới bắt đầu.
Ngày nay, Python là ngôn ngữ được sử dụng rộng rãi trong nhiều lĩnh vực:
- Phát triển phần mềm ứng dụng (ví dụ: tiện ích Linux yum, pirut, system-config-*, Gajim IM client và nhiều tiện ích khác)
- Phát triển các ứng dụng web (máy chủ ứng dụng mạnh nhất Zope và CMS Plone được phát triển trên cơ sở đó, chẳng hạn như trang web CIA vận hành và rất nhiều khuôn khổ để phát triển ứng dụng nhanh chóng Plones, Django, TurboGears và nhiều ứng dụng khác)
- Sử dụng làm ngôn ngữ kịch bản nhúng trong nhiều trò chơi và không chỉ (trong bộ văn phòng OpenOffice.org, trình soạn thảo Blender 3d, Postgre DBMS)
- Sử dụng trong tính toán khoa học (với gói SciPy và numPy để tính toán và PyPlot để vẽ đồ thị, Python gần như có thể so sánh được với các gói như MatLab)

Và tất nhiên, đây không phải là danh sách đầy đủ các dự án sử dụng ngôn ngữ tuyệt vời này.

1. Bản thân trình thông dịch, bạn có thể lấy nó ở đây (http://python.org/download/).
2. Môi trường phát triển. Không cần thiết phải bắt đầu và IDLE có trong bản phân phối phù hợp cho người mới bắt đầu, nhưng đối với các dự án nghiêm túc, bạn cần thứ gì đó nghiêm túc hơn.
Đối với Windows, tôi sử dụng PyScripter nhẹ tuyệt vời (http://tinyurl.com/5jc63t), dành cho Linux - Komodo IDE.

Mặc dù đối với bài học đầu tiên, chỉ cần lớp vỏ tương tác của Python là đủ.

Chỉ cần chạy python.exe. Dấu nhắc nhập liệu sẽ không mất nhiều thời gian để xuất hiện, nó trông như thế này:

Bạn cũng có thể viết chương trình vào các tệp có phần mở rộng py trong trình soạn thảo văn bản yêu thích của mình, phần mở rộng này không thêm các ký tự đánh dấu riêng vào văn bản (không có Word sẽ không hoạt động). Điều mong muốn là trình soạn thảo này có thể tạo các “tab thông minh” và không thay thế khoảng trắng bằng các tab.
Để khởi chạy các tệp để thực thi, bạn có thể nhấp đúp vào chúng. Nếu cửa sổ console đóng quá nhanh, hãy chèn dòng sau vào cuối chương trình:

Sau đó trình thông dịch sẽ đợi bạn nhấn enter khi kết thúc chương trình.

Hoặc liên kết các tệp py trong Far với Python và mở bằng cách nhấn enter.

Cuối cùng, bạn có thể sử dụng một trong nhiều IDE tiện lợi dành cho Python, cung cấp khả năng sửa lỗi, tô sáng cú pháp và nhiều “tiện ích” khác.

Một chút lý thuyết.

Để bắt đầu, Python là một ngôn ngữ được gõ động mạnh mẽ. Điều đó có nghĩa là gì?

Có những ngôn ngữ có kiểu gõ mạnh (pascal, java, c, v.v.), trong đó loại của biến được xác định trước và không thể thay đổi, và có những ngôn ngữ có kiểu gõ động (python, Ruby, vb ), trong đó loại biến được diễn giải tùy thuộc vào giá trị được gán.
Ngôn ngữ gõ động có thể chia thành 2 loại nữa. Loại nghiêm ngặt không cho phép chuyển đổi loại ẩn (Python) và loại lỏng lẻo thực hiện chuyển đổi loại ngầm (ví dụ: VB, trong đó bạn có thể dễ dàng thêm chuỗi "123" và số 456).
Sau khi xử lý xong việc phân loại của Python, chúng ta hãy thử “chơi” một chút với trình thông dịch.

>>> a = b = 1 >>> a, b (1, 1) >>> b = 2 >>> a, b (1, 2) >>> a, b = b, a >>> a , b (2, 1)

Vì vậy, chúng ta thấy phép gán được thực hiện bằng dấu =. Bạn có thể gán giá trị cho nhiều biến cùng một lúc. Khi bạn chỉ định tên biến cho trình thông dịch một cách tương tác, nó sẽ in giá trị của nó.

Điều tiếp theo bạn cần biết là cách xây dựng các đơn vị thuật toán cơ bản - các nhánh và vòng lặp. Để bắt đầu, cần có một chút trợ giúp. Trong Python không có dấu phân cách đặc biệt cho các khối mã; thụt lề đóng vai trò của chúng. Nghĩa là, những gì được viết với cùng một vết lõm là một khối lệnh. Lúc đầu, điều này có vẻ lạ, nhưng sau một thời gian làm quen, bạn nhận ra rằng biện pháp “bắt buộc” này cho phép bạn có được mã rất dễ đọc.
Vậy điều kiện.

Điều kiện được chỉ định bằng câu lệnh if kết thúc bằng “:”. Các điều kiện thay thế sẽ được đáp ứng nếu lần kiểm tra đầu tiên không thành công được chỉ định bởi toán tử Elif. Cuối cùng, else chỉ định một nhánh sẽ được thực thi nếu không có điều kiện nào được đáp ứng.
Lưu ý rằng sau khi gõ if, trình thông dịch sử dụng dấu nhắc "..." để cho biết rằng nó đang chờ nhập thêm. Để nói với anh ấy rằng chúng ta đã hoàn thành, chúng ta phải nhập một dòng trống.

(Ví dụ với các nhánh vì lý do nào đó đã phá vỡ đánh dấu trên trung tâm, mặc dù có sự thay đổi với thẻ trước và thẻ mã. Xin lỗi vì sự bất tiện này, tôi đã ném nó vào đây http://pastebin.com/f66af97ba, nếu ai đó cho tôi biết có chuyện gì, tôi sẽ rất biết ơn)

Chu kỳ.

Trường hợp đơn giản nhất của vòng lặp là vòng lặp while. Nó lấy một điều kiện làm tham số và được thực thi miễn là nó đúng.
Đây là một ví dụ nhỏ.

>>> x = 0 >>> trong khi x<=10: ... print x ... x += 1 ... 0 1 2 ........... 10

Xin lưu ý rằng vì cả print x và x+=1 đều được viết với cùng một mức thụt lề, nên chúng được coi là phần thân của vòng lặp (bạn có nhớ những gì tôi đã nói về các khối không? ;-)).

Loại vòng lặp thứ hai trong Python là vòng lặp for. Nó tương tự như vòng lặp foreach trong các ngôn ngữ khác. Cú pháp của nó đại khái như sau.

Đối với biến trong danh sách:
đội

Tất cả các giá trị từ danh sách sẽ lần lượt được gán cho biến (trên thực tế, không chỉ có một danh sách mà còn có bất kỳ trình vòng lặp nào khác, nhưng bây giờ chúng ta đừng lo lắng về điều đó).

Đây là một ví dụ đơn giản. Danh sách sẽ là một chuỗi, không gì khác hơn là một danh sách các ký tự.

>>> x = "Xin chào, Python!" >>> for char in x: ... print char ... H e l ........... !

Bằng cách này chúng ta có thể phân tách chuỗi thành các ký tự.
Phải làm gì nếu chúng ta cần một vòng lặp lặp lại một số lần nhất định? Rất đơn giản, chức năng phạm vi sẽ ra tay giải cứu.

Ở đầu vào nó lấy từ một đến ba tham số, ở đầu ra nó trả về một danh sách các số mà chúng ta có thể “đi qua” bằng toán tử for.

Dưới đây là một số ví dụ về việc sử dụng hàm phạm vi để giải thích vai trò của các tham số của nó.

>>> phạm vi (10) >>> phạm vi (2, 12) >>> phạm vi (2, 12, 3) >>> phạm vi (12, 2, -2)

Và một ví dụ nhỏ với một chu trình.

>>> cho x trong khoảng(10): ... print x ... 0 1 2..... 9

Đầu ra đầu vào

Điều cuối cùng bạn nên biết trước khi bắt đầu sử dụng Python một cách đầy đủ là cách thực hiện đầu vào-đầu ra trong đó.

Đối với đầu ra, lệnh print được sử dụng để in tất cả các đối số của nó ở dạng người có thể đọc được.

Đối với đầu vào bảng điều khiển, hàm raw_input(prompt) được sử dụng, hàm này hiển thị lời nhắc và chờ người dùng nhập, trả về giá trị mà người dùng đã nhập.

X = int(raw_input("Nhập một số:")) print "Bình phương của số này là ", x * x

Chú ý! Bất chấp sự tồn tại của hàm input() với hành động tương tự, bạn không nên sử dụng nó trong các chương trình vì trình thông dịch cố gắng thực thi các biểu thức cú pháp được nhập bằng cách sử dụng nó, đây là một lỗ hổng nghiêm trọng trong tính bảo mật của chương trình.

Buổi học đầu tiên thế là xong.

Bài tập về nhà.

1. Viết chương trình tính cạnh huyền của một tam giác vuông. Chiều dài của chân được yêu cầu từ người dùng.
2. Viết chương trình tìm nghiệm của phương trình bậc hai ở dạng tổng quát. Các hệ số được yêu cầu từ người dùng.
3. Viết chương trình hiển thị bảng nhân với số M. Bảng được biên dịch từ M * a, thành M * b, trong đó M, a, b được người dùng yêu cầu. Đầu ra phải được thực hiện trong một cột, một ví dụ trên mỗi dòng theo dạng sau (ví dụ):
5 x 4 = 20
5 x 5 = 25
Và như thế.

Python là một ngôn ngữ kịch bản phổ biến và mạnh mẽ mà bạn có thể làm bất cứ điều gì bạn muốn. Ví dụ: bạn có thể thu thập dữ liệu các trang web và thu thập dữ liệu từ chúng, tạo mạng và công cụ, thực hiện tính toán, lập trình cho Raspberry Pi, phát triển chương trình đồ họa và thậm chí cả trò chơi điện tử. Trong Python, bạn có thể \\ viết các chương trình hệ thống độc lập với nền tảng.

Trong bài viết này, chúng ta sẽ xem xét những kiến ​​thức cơ bản về lập trình Python, chúng tôi sẽ cố gắng đề cập đến tất cả các tính năng cơ bản mà bạn cần để bắt đầu sử dụng ngôn ngữ này. Chúng ta sẽ xem xét việc sử dụng các lớp và phương thức để giải quyết các vấn đề khác nhau. Giả định rằng bạn đã quen thuộc với những điều cơ bản và cú pháp của ngôn ngữ.

Python là gì?

Mình sẽ không đi sâu vào lịch sử hình thành và phát triển của ngôn ngữ này, các bạn có thể dễ dàng tìm hiểu qua video sẽ đính kèm bên dưới. Điều quan trọng cần lưu ý là Python là ngôn ngữ kịch bản. Điều này có nghĩa là mã của bạn được kiểm tra lỗi và được thực thi ngay lập tức mà không cần biên dịch hoặc làm lại thêm. Cách tiếp cận này còn được gọi là có thể giải thích được.

Điều này làm giảm năng suất nhưng lại rất thuận tiện. Có một trình thông dịch trong đó bạn có thể nhập lệnh và xem ngay kết quả của chúng. Công việc tương tác như vậy giúp ích rất nhiều cho việc học.

Làm việc trong phiên dịch viên

Chạy trình thông dịch Python rất dễ dàng trên mọi hệ điều hành. Ví dụ: trên Linux, chỉ cần gõ lệnh python trong terminal:

Trong lời nhắc trình thông dịch mở ra, chúng ta thấy phiên bản Python hiện đang được sử dụng. Ngày nay, hai phiên bản Python 2 và Python 3 đều rất phổ biến, cả hai đều phổ biến vì phiên bản đầu tiên có nhiều chương trình và thư viện được phát triển, còn phiên bản thứ hai có nhiều tính năng hơn. Do đó, các bản phân phối bao gồm cả hai phiên bản. Theo mặc định, phiên bản thứ hai được khởi chạy. Nhưng nếu bạn cần phiên bản 3 thì bạn cần làm:

Đây là phiên bản thứ ba sẽ được xem xét trong bài viết này. Bây giờ hãy xem các tính năng chính của ngôn ngữ này.

Hoạt động chuỗi

Chuỗi trong Python là bất biến; bạn không thể thay đổi một trong các ký tự trong chuỗi. Mọi thay đổi về nội dung đều yêu cầu tạo một bản sao mới. Mở trình thông dịch và làm theo các ví dụ được liệt kê bên dưới để hiểu rõ hơn mọi nội dung được viết:

1. Nối chuỗi

str = "chào mừng" + "đến với trăn"
in(str)

2. Phép nhân chuỗi

str = "Mất" * 2
in(str)

3. Hợp nhất với sự biến đổi

Bạn có thể nối một chuỗi với một số hoặc một giá trị boolean. Nhưng đối với điều này, bạn cần phải sử dụng một phép biến đổi. Có một hàm str() cho việc này:

str = "Đây là số kiểm tra" + str(15)
in(str)

4. Tìm kiếm chuỗi con

Bạn có thể tìm thấy một ký tự hoặc chuỗi con bằng phương thức find:

str = "Chào mừng đến với trang web"
print(str.find("site"))

Phương thức này hiển thị vị trí xuất hiện đầu tiên của trang chuỗi con nếu nó được tìm thấy; nếu không tìm thấy gì thì giá trị -1 sẽ được trả về. Hàm bắt đầu tìm kiếm ở ký tự đầu tiên, nhưng bạn có thể bắt đầu ở ký tự thứ n, ví dụ 26:

str = "Chào mừng đến với trang web"
print(str.find("losst",26))

Trong biến thể này, hàm sẽ trả về -1 vì không tìm thấy chuỗi.

5. Lấy chuỗi con

Chúng ta đã có được vị trí của chuỗi con mà chúng ta đang tìm kiếm, và bây giờ làm cách nào để có được chính chuỗi con đó và điều gì xảy ra sau chuỗi đó? Để làm điều này, hãy sử dụng cú pháp này [bắt đầu:kết thúc], chỉ cần xác định hai số hoặc chỉ số đầu tiên:

str = "Một hai ba"
in(str[:2])
in(str)
in(str)
in(str[-1])

Dòng đầu tiên sẽ in một chuỗi con từ ký tự đầu tiên đến ký tự thứ hai, dòng thứ hai - từ ký tự thứ hai đến cuối. Xin lưu ý rằng việc đếm ngược bắt đầu từ số 0. Để đếm ngược, hãy sử dụng số âm.

6. Thay thế chuỗi con

Bạn có thể thay thế một phần của chuỗi bằng phương thức thay thế:

str = "Trang web này nói về Linux"
str2 = str.replace("Linux", "Windows")
in(str2)

Nếu có nhiều lần xuất hiện thì bạn chỉ có thể thay thế lần đầu tiên:

str = "Đây là trang web về Linux và tôi đã đăng ký trang này"
str2 = str.replace("trang", "trang",1)
in(str2)

7. Làm sạch dây

Bạn có thể xóa khoảng trắng thừa bằng chức năng dải:

str = "Đây là trang web về Linux"
print(str.strip())

Bạn cũng có thể xóa các khoảng trắng thừa chỉ ở phía bên phải bằng rstrip hoặc chỉ ở phía bên trái bằng lstrip.

8. Thay đổi sổ đăng ký

Có các chức năng đặc biệt để thay đổi kiểu chữ:

str="Chào mừng đến với Lost"
print(str.upper())
print(str.low())

9. Chuyển đổi chuỗi

Có một số hàm để chuyển đổi một chuỗi thành các kiểu số khác nhau, đó là int(), float(), long() và các hàm khác. Hàm int() chuyển đổi thành số nguyên và float() chuyển đổi thành số dấu phẩy động:

str="10"
str2="20"
in(str+str2)
in(int(str)+int(str2))

10. Độ dài của dòng

Bạn có thể sử dụng các hàm min(), max(), len() để tính số ký tự trong một dòng:

str="Chào mừng đến với trang web Losst"
in(phút(str))
in(max(str))
in(len(str))

Cái đầu tiên hiển thị kích thước ký tự tối thiểu, cái thứ hai là kích thước tối đa và cái thứ ba là tổng chiều dài của dòng.

11. Lặp lại một chuỗi

Bạn có thể truy cập từng ký tự của một chuỗi bằng vòng lặp for:

str="Chào mừng đến với trang web"
cho tôi trong phạm vi(len(str)):
in(str[i])

Để giới hạn vòng lặp, chúng tôi đã sử dụng hàm len(). Hãy chú ý đến vết lõm. Lập trình Python dựa trên điều này, không có dấu ngoặc đơn để sắp xếp các khối, chỉ thụt lề.

Các thao tác với số

Các số trong Python khá dễ khai báo hoặc sử dụng trong các phương thức. Bạn có thể tạo số nguyên hoặc số dấu phẩy động:

số 1 ​​= 15
số2 = 3,14

1. Làm tròn số

Bạn có thể làm tròn một số bằng hàm round, chỉ cần xác định số chữ số bạn muốn để lại:

a=15,5652645
in(vòng(a,2))

2. Tạo số ngẫu nhiên

Bạn có thể nhận số ngẫu nhiên bằng mô-đun ngẫu nhiên:

nhập khẩu ngẫu nhiên
in(random.random())

Theo mặc định, số được tạo từ phạm vi 0,0 đến 1,0. Nhưng bạn có thể đặt phạm vi của riêng mình:

nhập khẩu ngẫu nhiên
số=
print(random.choice(số))

Các thao tác với ngày và giờ

Ngôn ngữ lập trình Python có mô-đun DateTime cho phép bạn thực hiện nhiều thao tác khác nhau với ngày và giờ:

nhập ngày giờ
cur_date = datetime.datetime.now()
in(cur_date)
in(cur_date.year)
in(cur_date.day)
print(cur_date.weekday())
in(cur_date.month)
in(cur_date.time())

Ví dụ cho thấy cách trích xuất giá trị mong muốn từ một đối tượng. Bạn có thể nhận được sự khác biệt giữa hai đối tượng:

nhập ngày giờ
time1 = datetime.datetime.now()
time2 = datetime.datetime.now()
thời gian = time2 - time1
in (timediff.microseconds)

Bạn có thể tự tạo các đối tượng ngày tháng với một giá trị tùy ý:

time1 = datetime.datetime.now()
time2 = datetime.timedelta(ngày=3)
thời gian3=thời gian1+thời gian2
in(time3.date())

1. Định dạng ngày giờ

Phương thức strftime cho phép bạn thay đổi định dạng ngày và giờ tùy theo định dạng chuẩn hoặc được chỉ định đã chọn. Dưới đây là các ký tự định dạng cơ bản:

  • %Một- ngày trong tuần, tên viết tắt;
  • %MỘT- ngày trong tuần, tên đầy đủ;
  • %w- số ngày trong tuần, từ 0 đến 6;
  • %d- Ngày trong tháng;
  • %b- tên viết tắt của tháng;
  • %B- tên đầy đủ của tháng;
  • %m- số tháng;
  • %Y- số năm;
  • %H- giờ trong ngày ở định dạng 24 giờ;
  • %l- giờ trong ngày ở định dạng 12 giờ;
  • %P- Sáng hoặc chiều;
  • %M- phút;
  • %S- thứ hai.

nhập ngày giờ
date1 = datetime.datetime.now()
print(date1.strftime("%d. %B %Y %I:%M%p"))

2. Tạo ngày từ một chuỗi

Bạn có thể sử dụng hàm strptime() để tạo đối tượng ngày từ một chuỗi:

nhập ngày giờ
date1=datetime.datetime.strptime("21-11-2016", "%Y-%m-%d")
date2=datetime.datetime(năm=2015, tháng=11, ngày=21)
in (ngày 1);
in (ngày2);

Hoạt động của hệ thống tập tin

Quản lý tệp rất dễ dàng bằng ngôn ngữ lập trình Python, đây là ngôn ngữ tốt nhất để làm việc với tệp. Và nhìn chung, có thể nói Python là ngôn ngữ đơn giản nhất.

1. Sao chép tập tin

Để sao chép tập tin, bạn cần sử dụng các chức năng từ mô-đun subutil:

nhập khẩu
new_path = Shutil.copy("file1.txt", "file2.txt")

new_path = Shutil.copy("file1.txt", "file2.txt", follow_symlinks=False)

2. Di chuyển tập tin

Việc di chuyển tập tin được thực hiện bằng chức năng di chuyển:

Shutil.move("file1.txt", "file3.txt")

Chức năng đổi tên từ mô-đun os cho phép bạn đổi tên tệp:

hệ điều hành nhập khẩu
os.rename("file1.txt", "file3.txt")

3. Đọc và ghi file văn bản

Bạn có thể sử dụng các hàm dựng sẵn để mở tệp, đọc hoặc ghi dữ liệu vào chúng:

fd = open("file1.txt")
nội dung = fd.read()
in (nội dung)

Đầu tiên bạn cần mở file để làm việc bằng chức năng open. Để đọc dữ liệu từ file, hàm read được sử dụng, văn bản đọc được sẽ được lưu vào một biến. Bạn có thể chỉ định số byte cần đọc:

fd = open("file1.txt")
nội dung = fd.read(20)
in (nội dung)

Nếu tệp quá lớn, bạn có thể chia nó thành các dòng và xử lý như sau:

nội dung = fd.readlines()
in (nội dung)

Để ghi dữ liệu vào một tập tin, trước tiên nó phải được mở để ghi. Có hai chế độ hoạt động - ghi đè và thêm vào cuối tệp. Chế độ ghi âm:

fd = open("file1.txt","w")

Và thêm vào cuối tập tin:

fd = open("file1.txt","a")
nội dung = fd.write("Nội dung mới")

4. Tạo thư mục

Để tạo thư mục, hãy sử dụng hàm mkdir từ mô-đun os:

hệ điều hành nhập khẩu
os.mkdir("./thư mục mới")

5. Lấy thời gian sáng tạo

Bạn có thể sử dụng các hàm getmtime(), getatime() và getctime() để biết thời gian được sửa đổi, truy cập và tạo lần cuối. Kết quả sẽ xuất ra ở định dạng Unix nên cần phải chuyển đổi sang dạng có thể đọc được:

hệ điều hành nhập khẩu
nhập ngày giờ
tim=os.path.getctime("./file1.txt")
print(datetime.datetime.fromtimestamp(tim))

6. Danh sách tập tin

Với hàm listdir() bạn có thể lấy danh sách các tệp trong một thư mục:

hệ điều hành nhập khẩu
files= os.listdir(".")
in (tập tin)

Để giải quyết vấn đề tương tự, bạn có thể sử dụng mô-đun toàn cầu:

nhập khẩu quả địa cầu
files=glob.glob("*")
in (tập tin)

7. Tuần tự hóa các đối tượng Python

nhập khẩu dưa chua
fd = open("myfile.pk", "wb")
dưa chua.dump(mydata,fd)

Sau đó để khôi phục đối tượng sử dụng:

nhập khẩu dưa chua
fd = open("myfile.pk", "rb")
mydata = dưa chua.load(fd)

8. Nén tập tin

Thư viện chuẩn Python cho phép bạn làm việc với nhiều định dạng lưu trữ khác nhau, ví dụ: zip, tar, gzip, bzip2. Để xem nội dung của một tập tin, hãy sử dụng:

nhập tệp zip
my_zip = zipfile.ZipFile("my_file.zip", mode="r")
print(file.namelist())

Và để tạo một kho lưu trữ zip:

nhập tệp zip
file=zipfile.ZipFile("files.zip","w")
file.write("file1.txt")
tập tin.close()

Bạn cũng có thể giải nén kho lưu trữ:

nhập tệp zip
file=zipfile.ZipFile("files.zip","r")
tập tin.extractall()
tập tin.close()

Bạn có thể thêm tệp vào kho lưu trữ như thế này:

nhập tệp zip
file=zipfile.ZipFile("files.zip","a")
file.write("file2.txt")
tập tin.close()

9. Phân tích tệp CSV và Excel

Sử dụng mô-đun gấu trúc, bạn có thể xem và phân tích nội dung của bảng CSV và Excel. Trước tiên, bạn cần cài đặt mô-đun bằng pip:

sudo pip cài đặt gấu trúc

Sau đó để phân tích, gõ:

nhập khẩu gấu trúc
data=pandas.read_csv("file.csv)

Theo mặc định, pandas sử dụng cột đầu tiên cho tiêu đề của mỗi hàng. Bạn có thể chỉ định một cột cho chỉ mục bằng tham số index_col hoặc chỉ định Sai nếu không cần thiết. Để ghi các thay đổi vào một tệp, hãy sử dụng hàm to_csv:

data.to_csv("file.csv)

Bạn có thể phân tích tệp Excel theo cách tương tự:

dữ liệu = pd.read_excel("file.xls", sheetname="Sheet1")

Nếu bạn cần mở tất cả các bảng, hãy sử dụng:

dữ liệu = pd.ExcelFile("file.xls")

Sau đó, bạn có thể viết lại tất cả dữ liệu:

data.to_excel("file.xls", sheet="Sheet1")

Kết nối mạng trong Python

Lập trình Python 3 thường liên quan đến kết nối mạng. Thư viện chuẩn Python bao gồm các khả năng ổ cắm để truy cập mạng cấp thấp. Điều này là cần thiết để hỗ trợ nhiều giao thức mạng.

ổ cắm nhập khẩu
máy chủ = "192.168.1.5"
cổng = 4040
my_sock = socket.create_connection((máy chủ, cổng))

Mã này kết nối với cổng 4040 trên máy 192.168.1.5. Khi ổ cắm mở, bạn có thể gửi và nhận dữ liệu:

my_sock.sendall(b"Xin chào thế giới")

Chúng ta cần viết ký tự b trước dòng vì cần truyền dữ liệu ở chế độ nhị phân. Nếu tin nhắn quá lớn, bạn có thể lặp lại:

msg = b"Tin nhắn dài hơn ở đây"
mesglen = len(tin nhắn)
tổng cộng = 0
trong khi tổng cộng< msglen:
đã gửi = my_sock.send(tin nhắn)
tổng cộng = tổng cộng + đã gửi

Để nhận dữ liệu, bạn cũng cần mở socket nhưng sử dụng phương thức my_sock_recv:

data_in = my_sock.recv(2000)

Ở đây chúng tôi chỉ ra số lượng dữ liệu cần nhận - 20000, dữ liệu sẽ không được chuyển sang biến cho đến khi nhận được 20000 byte dữ liệu. Nếu tin nhắn lớn hơn thì để nhận được nó, bạn cần tạo một vòng lặp:

bộ đệm = bytearray(b" " * 2000)
my_sock.recv_into(bộ đệm)

Nếu bộ đệm trống, tin nhắn nhận được sẽ được ghi vào đó.

Làm việc với thư

Thư viện chuẩn Python cho phép bạn nhận và gửi email.

1. Nhận thư từ máy chủ POP3

Để nhận tin nhắn, chúng tôi sử dụng máy chủ POP:

nhập getpass,poplib
pop_serv = poplib.POP3("192.168.1.5")
pop_serv.user("myuser")
pop_serv.pass_(getpass.getpass())

Mô-đun getpass cho phép bạn lấy mật khẩu của người dùng một cách an toàn để nó không hiển thị trên màn hình. Nếu máy chủ POP sử dụng kết nối an toàn thì bạn cần sử dụng lớp POP3_SSL. Nếu kết nối thành công, bạn có thể tương tác với máy chủ:

msg_list = pop_serv.list() # để liệt kê các tin nhắn
msg_count = pop_serv.msg_count()

Để hoàn thành công việc sử dụng:

2. Nhận thư từ máy chủ IMAP

Để kết nối và làm việc với máy chủ IMAP, hãy sử dụng mô-đun imaplib:

nhập imaplib, getpass
my_imap = imaplib.IMAP4("imap.server.com")
my_imap.login("myuser", getpass.getpass())

Nếu máy chủ IMAP của bạn sử dụng kết nối an toàn, bạn cần sử dụng lớp IMAP4_SSL. Để có được danh sách tin nhắn, hãy sử dụng:

data = my_imap.search(Không có, "TẤT CẢ")

Sau đó, bạn có thể lặp qua danh sách đã chọn và đọc từng tin nhắn:

msg = my_imap.fetch(email_id, "(RFC822)")

Tuy nhiên, đừng quên đóng kết nối:

my_imap.close()
my_imap.logout()

3. Gửi thư

Để gửi thư, giao thức SMTP và mô-đun smtplib được sử dụng:

nhập smtplib, getpass
my_smtp = smtplib.SMTP(smtp.server.com")
my_smtp.login("myuser", getpass.getpass())

Như trước đây, hãy sử dụng SMTP_SSL để có kết nối an toàn. Khi kết nối được thiết lập, bạn có thể gửi tin nhắn:

từ_addr = " [email được bảo vệ]"
to_addr = " [email được bảo vệ]"
tin nhắn = "Từ: [email được bảo vệ]\r\nTới: [email được bảo vệ]\r\n\r\nXin chào, đây là tin nhắn kiểm tra"
my_smtp.sendmail(from_addr, to_addr, msg)

Làm việc với các trang web

Lập trình Python thường được sử dụng để viết các tập lệnh khác nhau để làm việc với web.

1. Thu thập thông tin trên web

Mô-đun urllib cho phép bạn truy vấn các trang web theo nhiều cách khác nhau. Để gửi một yêu cầu thông thường, hãy sử dụng lớp yêu cầu. Ví dụ: hãy thực hiện một yêu cầu trang bình thường:

nhập urllib.request
my_web = urllib.request.urlopen("https://www.google.com")
in(my_web.read())

2. Sử dụng phương thức POST

Nếu cần gửi biểu mẫu web, bạn phải sử dụng yêu cầu POST thay vì GET:

nhập urllib.request
mydata = b"Dữ liệu của bạn ở đây"
my_req = urllib.request.Request("http://localhost", data=mydata,method="POST")
my_form = urllib.request.urlopen(my_req)
in(my_form.status)

3. Tạo một máy chủ web

Bằng cách sử dụng lớp Socket, bạn có thể chấp nhận các kết nối đến, nghĩa là bạn có thể tạo một máy chủ web với khả năng tối thiểu:

ổ cắm nhập khẩu
máy chủ = ""
cổng = 4242
my_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
my_server.bind((máy chủ, cổng))
my_server.listen(1)

Khi máy chủ được tạo. bạn có thể bắt đầu chấp nhận kết nối:

addr = my_server.accept()
print("Đã kết nối từ máy chủ", addr)
dữ liệu = conn.recv(1024)

Và đừng quên đóng kết nối:

Đa luồng

Giống như hầu hết các ngôn ngữ hiện đại, Python cho phép bạn chạy nhiều luồng song song, điều này có thể hữu ích khi bạn cần thực hiện các phép tính phức tạp. Thư viện chuẩn có một mô-đun luồng chứa lớp Therad:

nhập luồng
def print_message():
print("Thư được in từ thread khác")
my_thread = threading.Thread(target=print_message)
my_thread.start()

Nếu hàm này chạy quá lâu, bạn có thể kiểm tra xem mọi thứ có ổn không bằng cách sử dụng hàm is_alive(). Đôi khi chủ đề của bạn cần truy cập tài nguyên toàn cầu. Khóa được sử dụng cho việc này:

nhập luồng
số = 1
my_lock = threading.Lock()
định nghĩa my_func():
số toàn cầu, my_lock
my_lock.acquire()
tổng = số + 1
in (tổng)
my_lock.release()
my_thread = threading.Thread(target=my_func)
my_thread.start()

kết luận

Trong bài viết này, chúng tôi đã trình bày những điều cơ bản về lập trình python. Bây giờ bạn đã biết hầu hết các hàm thường dùng và có thể sử dụng chúng trong các chương trình nhỏ của mình. Bạn sẽ thích lập trình bằng Python 3, nó rất dễ dàng! Nếu bạn có bất kỳ câu hỏi nào, hãy hỏi trong phần bình luận!

Để kết thúc bài viết, có một bài giảng rất hay về Python: