Python là ngôn ngữ lập trình cấp cao, thông dịch, tương tác, hướng đối tượng và có mục đích chung. Nó được tạo ra bởi Guido van Rossum trong khoảng thời gian 1985-1990. Giống như Perl, mã nguồn Python cũng có sẵn theo Giấy phép Công cộng GNU [GPL]. Python được đặt tên theo một chương trình truyền hình có tên ëMonty Pythonís Flying Circusí chứ không phải theo Python-con rắn
Trăn 3. 0 được phát hành vào năm 2008. Mặc dù phiên bản này được cho là không tương thích ngược, nhưng sau đó, nhiều tính năng quan trọng của nó đã được nhập lại để tương thích với phiên bản 2. 7. Hướng dẫn này cung cấp đủ kiến thức về ngôn ngữ lập trình phiên bản Python 3. Vui lòng tham khảo liên kết này để biết hướng dẫn Python 2 của chúng tôi
Tại sao nên học Python 3?
Python là một ngôn ngữ kịch bản cấp cao, thông dịch, tương tác và hướng đối tượng. Python được thiết kế để rất dễ đọc. Nó sử dụng các từ khóa tiếng Anh thường xuyên trong khi các ngôn ngữ khác sử dụng dấu câu và nó có ít cấu trúc cú pháp hơn các ngôn ngữ khác
Python là BẮT BUỘC đối với sinh viên và các chuyên gia đang đi làm để trở thành một Kỹ sư phần mềm tuyệt vời, đặc biệt khi họ đang làm việc trong Miền phát triển web. Tôi sẽ liệt kê một số lợi ích chính của việc học Python
Python được thông dịch - Python được xử lý trong thời gian chạy bởi trình thông dịch. Bạn không cần phải biên dịch chương trình của mình trước khi thực hiện nó. Điều này tương tự với PERL và PHP
Python có tính tương tác — Bạn thực sự có thể ngồi tại dấu nhắc Python và tương tác trực tiếp với trình thông dịch để viết chương trình của mình
Python hướng đối tượng − Python hỗ trợ phong cách hướng đối tượng hoặc kỹ thuật lập trình đóng gói mã trong các đối tượng
Python là ngôn ngữ dành cho người mới bắt đầu − Python là ngôn ngữ tuyệt vời dành cho các lập trình viên mới bắt đầu và hỗ trợ phát triển nhiều loại ứng dụng từ xử lý văn bản đơn giản đến trình duyệt WWW cho đến trò chơi
Đặc điểm của Python
Sau đây là các đặc điểm quan trọng của python -
Nó hỗ trợ các phương pháp lập trình chức năng và cấu trúc cũng như OOP
Nó có thể được sử dụng như một ngôn ngữ kịch bản hoặc có thể được biên dịch thành mã byte để xây dựng các ứng dụng lớn
Nó cung cấp các kiểu dữ liệu động mức rất cao và hỗ trợ kiểm tra kiểu động
Nó hỗ trợ thu gom rác tự động
Nó có thể dễ dàng tích hợp với C, C++, COM, ActiveX, CORBA và Java
Xin chào thế giới bằng Python
Để mang đến cho bạn một chút hứng thú về Python, tôi sẽ cung cấp cho bạn một chương trình Python Hello World thông thường nhỏ, Bạn có thể dùng thử bằng liên kết Demo
print "Hello, Python!"
Các ứng dụng của Python
Như đã đề cập trước đây, Python là một trong những ngôn ngữ được sử dụng rộng rãi nhất trên web. Tôi sẽ liệt kê một vài trong số họ ở đây
Dễ học – Python có ít từ khóa, cấu trúc đơn giản và cú pháp được xác định rõ ràng. Điều này cho phép học sinh tiếp thu ngôn ngữ một cách nhanh chóng
Dễ đọc – Mã Python được xác định rõ ràng hơn và dễ nhìn hơn
Dễ bảo trì − Mã nguồn của Python khá dễ bảo trì
Một thư viện tiêu chuẩn rộng rãi - Phần lớn thư viện của Python rất di động và tương thích đa nền tảng trên UNIX, Windows và Macintosh
Chế độ tương tác - Python có hỗ trợ chế độ tương tác cho phép thử nghiệm tương tác và gỡ lỗi các đoạn mã
Portable − Python có thể chạy trên nhiều nền tảng phần cứng khác nhau và có giao diện giống nhau trên tất cả các nền tảng
Có thể mở rộng - Bạn có thể thêm các mô-đun cấp thấp vào trình thông dịch Python. Các mô-đun này cho phép các lập trình viên thêm vào hoặc tùy chỉnh các công cụ của họ để hiệu quả hơn
Cơ sở dữ liệu - Python cung cấp giao diện cho tất cả các cơ sở dữ liệu thương mại chính
Lập trình GUI − Python hỗ trợ các ứng dụng GUI có thể được tạo và chuyển đến nhiều lệnh gọi hệ thống, thư viện và hệ thống cửa sổ, chẳng hạn như Windows MFC, Macintosh và hệ thống X Window của Unix
Có thể mở rộng - Python cung cấp cấu trúc và hỗ trợ tốt hơn cho các chương trình lớn so với shell scripting
Sự tiếp kiến
Hướng dẫn này được thiết kế cho các lập trình viên phần mềm muốn nâng cấp các kỹ năng Python của họ lên Python 3. Hướng dẫn này cũng có thể được sử dụng để học ngôn ngữ lập trình Python từ đầu
điều kiện tiên quyết
Bạn nên có hiểu biết cơ bản về thuật ngữ Lập trình máy tính. Hiểu biết cơ bản về bất kỳ ngôn ngữ lập trình nào là một lợi thế
Python 2 ra mắt năm 2000 với những thay đổi lớn đối với việc lưu trữ mã nguồn. Nó giới thiệu nhiều tính năng mong muốn như hỗ trợ unicode, hiểu danh sách và thu gom rác. Một lát sau, Python 2. 2 đã giới thiệu sự hợp nhất của các loại và lớp dưới một hệ thống phân cấp, cho phép Python thực sự hướng đối tượng
Vào khoảng thời gian này, nhiều lập trình viên đã sử dụng Python làm ngôn ngữ kịch bản thay thế. Vì Java đang thống trị thế giới ứng dụng quy mô doanh nghiệp nên Python được sử dụng trong các ứng dụng nhỏ hơn, thích hợp hơn
Ngay cả các nhà phát triển Java cũng bắt đầu sử dụng Python để tăng tốc độ viết mã của họ do khả năng tương tác của nó
bảng chữ cái
Trăn 2. 0 đã giới thiệu kiểu dữ liệu chuỗi Unicode phân bổ các số 16 bit để biểu thị các ký tự thay vì các chuỗi 8 bit tiêu chuẩn. Điều này bổ sung thêm 65.000 ký hiệu được hỗ trợ từ các ngôn ngữ chữ viết không phải chữ Latinh như tiếng Nga, tiếng Trung hoặc tiếng Ả Rập. Nó cũng thêm hỗ trợ cho các ký tự không phải chữ cái như biểu tượng cảm xúc
Cú pháp cho chuỗi Unicode là
u`unicode string`
Bạn cũng có thể sử dụng unicode để mã hóa các chuỗi của riêng mình thành một ký hiệu duy nhất. Việc gọi ký hiệu duy nhất đó sau này trong mã của bạn cho phép bạn tham chiếu cùng một chuỗi được mã hóa đó mà không cần sử dụng thêm khoảng trống hoặc lưu nó vào một biến
Sau đây viết một chuỗi unicode vào tệp và mã hóa nó thành
u`unicode string`
6import codecs
unistr = u'\u0660\u2000ab ...'
[UTF8_encode, UTF8_decode,
UTF8_streamreader, UTF8_streamwriter] = codecs.lookup['UTF-8']
output = UTF8_streamwriter[ open[ '/tmp/output', 'wb'] ]
output.write[ unistr ]
output.close[]
Sau đó, bạn có thể đọc tệp được mã hóa đó sau bằng cách sử dụng
input = UTF8_streamreader[ open[ '/tmp/output', 'rb'] ]
print repr[input.read[]]
input.close[]
Hiểu danh sách
Khả năng hiểu danh sách được sử dụng để tạo danh sách mới từ các lần lặp khác. Khả năng hiểu danh sách nhận và trả về danh sách, cho phép bạn cắt bớt danh sách theo một tiêu chí nhất định hoặc tạo danh sách mới với các phần tử mới được thao tác
Cú pháp để hiểu danh sách là
new_list = [expression for_loop_one_or_more conditions]
Phần sau đây cho thấy cách bạn có thể sử dụng khả năng hiểu danh sách để trả về một danh sách mới chỉ có các phần tử có trong cả hai danh sách đã chuyển
list_a = [1, 2, 3, 4]
list_b = [2, 3, 4, 5]
common_num = [a for a in list_a for b in list_b if a == b]
print[common_num] # Output: [2, 3, 4]
Chu kỳ thu gom rác
Trăn 2. 0 đại tu hệ thống thu gom rác bằng cách chuyển từ hệ thống dựa trên bộ đếm sang hệ thống dựa trên chu kỳ
Trong hệ thống cũ, mỗi đối tượng sẽ chứa một bộ đếm ghi lại có bao nhiêu đối tượng khác đang trỏ đến nó. Sau đó, đối tượng sẽ tự động bị xóa khi bộ đếm đó về 0. Tuy nhiên, nó sẽ không xóa các đối tượng được trỏ đến nhưng không thể truy cập được, dẫn đến rò rỉ bộ nhớ
Trăn 2. 0 khắc phục điều này bằng các chu kỳ định kỳ gọi trình thu gom rác để xóa các đối tượng không thể truy cập. Các chu kỳ sử dụng chi phí bổ sung nhưng giảm nguy cơ rò rỉ bộ nhớ. Kể từ đó, chi phí chung của các chu kỳ xóa đã giảm do tối ưu hóa
Bài tập tăng cường
Trăn 2. 0 cũng thêm hỗ trợ cho các toán tử gán tăng cường thực hiện thao tác trên biến đã chọn và trả về biến đó. Ví dụ:
u`unicode string`
7 thêm 1 vào giá trị của u`unicode string`
8. Nó là một phiên bản ngắn hơn của tuyên bố u`unicode string`
9Danh sách đầy đủ các toán tử gán được hỗ trợ là
import codecs
unistr = u'\u0660\u2000ab ...'
[UTF8_encode, UTF8_decode,
UTF8_streamreader, UTF8_streamwriter] = codecs.lookup['UTF-8']
output = UTF8_streamwriter[ open[ '/tmp/output', 'wb'] ]
output.write[ unistr ]
output.close[]
0, import codecs
unistr = u'\u0660\u2000ab ...'
[UTF8_encode, UTF8_decode,
UTF8_streamreader, UTF8_streamwriter] = codecs.lookup['UTF-8']
output = UTF8_streamwriter[ open[ '/tmp/output', 'wb'] ]
output.write[ unistr ]
output.close[]
0, import codecs
unistr = u'\u0660\u2000ab ...'
[UTF8_encode, UTF8_decode,
UTF8_streamreader, UTF8_streamwriter] = codecs.lookup['UTF-8']
output = UTF8_streamwriter[ open[ '/tmp/output', 'wb'] ]
output.write[ unistr ]
output.close[]
1, import codecs
unistr = u'\u0660\u2000ab ...'
[UTF8_encode, UTF8_decode,
UTF8_streamreader, UTF8_streamwriter] = codecs.lookup['UTF-8']
output = UTF8_streamwriter[ open[ '/tmp/output', 'wb'] ]
output.write[ unistr ]
output.close[]
2, import codecs
unistr = u'\u0660\u2000ab ...'
[UTF8_encode, UTF8_decode,
UTF8_streamreader, UTF8_streamwriter] = codecs.lookup['UTF-8']
output = UTF8_streamwriter[ open[ '/tmp/output', 'wb'] ]
output.write[ unistr ]
output.close[]
3, import codecs
unistr = u'\u0660\u2000ab ...'
[UTF8_encode, UTF8_decode,
UTF8_streamreader, UTF8_streamwriter] = codecs.lookup['UTF-8']
output = UTF8_streamwriter[ open[ '/tmp/output', 'wb'] ]
output.write[ unistr ]
output.close[]
4, import codecs
unistr = u'\u0660\u2000ab ...'
[UTF8_encode, UTF8_decode,
UTF8_streamreader, UTF8_streamwriter] = codecs.lookup['UTF-8']
output = UTF8_streamwriter[ open[ '/tmp/output', 'wb'] ]
output.write[ unistr ]
output.close[]
5, import codecs
unistr = u'\u0660\u2000ab ...'
[UTF8_encode, UTF8_decode,
UTF8_streamreader, UTF8_streamwriter] = codecs.lookup['UTF-8']
output = UTF8_streamwriter[ open[ '/tmp/output', 'wb'] ]
output.write[ unistr ]
output.close[]
6, import codecs
unistr = u'\u0660\u2000ab ...'
[UTF8_encode, UTF8_decode,
UTF8_streamreader, UTF8_streamwriter] = codecs.lookup['UTF-8']
output = UTF8_streamwriter[ open[ '/tmp/output', 'wb'] ]
output.write[ unistr ]
output.close[]
7, import codecs
unistr = u'\u0660\u2000ab ...'
[UTF8_encode, UTF8_decode,
UTF8_streamreader, UTF8_streamwriter] = codecs.lookup['UTF-8']
output = UTF8_streamwriter[ open[ '/tmp/output', 'wb'] ]
output.write[ unistr ]
output.close[]
8 và import codecs
unistr = u'\u0660\u2000ab ...'
[UTF8_encode, UTF8_decode,
UTF8_streamreader, UTF8_streamwriter] = codecs.lookup['UTF-8']
output = UTF8_streamwriter[ open[ '/tmp/output', 'wb'] ]
output.write[ unistr ]
output.close[]
9