Phiên bản phổ biến nhất của python

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

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()

Then, you can read that encoded file later using

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ụ:

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 thêm 1 vào giá trị của
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. Nó là một phiên bản ngắn hơn của tuyên bố
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

Danh 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()
9,
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

Phiên bản Python nào được sử dụng nhiều nhất?

Phiên bản Python phổ biến nhất năm 2021 . Mặc dù được phát hành vào năm 2008, Python 3 đã mất một thời gian để được áp dụng phổ biến, hiện chiếm 95% thị phần vào năm 2021.

Phiên bản Python nào tốt nhất năm 2022?

Phiên bản thứ 7 3. 11. 0a7 hiện là phiên bản alpha mới nhất được phát hành vào ngày 17 tháng 4 năm 2022.

Là Python 3. 7 hoặc 3. 8 tốt hơn?

Tối ưu hóa. Trong trường hợp này, danh sách sử dụng bộ nhớ ít hơn khoảng 11% trong Python 3. 8 so với Python 3. 7. Các tối ưu hóa khác bao gồm hiệu suất tốt hơn trong quy trình con, sao chép tệp nhanh hơn với Shutil, cải thiện hiệu suất mặc định trong Pickle và toán tử nhanh hơn.

Python 2 hay 3 tốt hơn?

Mặc dù Python 2 đã có thời hoàng kim vào đầu những năm 2000, nhưng Python 3 là lựa chọn tốt nhất để học vào năm 2022 . Bạn có thể thấy một số trường hợp cần sử dụng Python 2, nhưng nhìn chung, Python 3 là ngôn ngữ phổ biến nhất. Kể từ khi Python 2 ngừng hoạt động vào năm 2020, Python 3 đã thống trị thế giới lập trình.