Hướng dẫn difference between python 2 and 3 in tabular form - sự khác biệt giữa python 2 và 3 ở dạng bảng

Ở đây bạn sẽ biết về sự khác biệt giữa Python 2 và 3.

Là một người mới, mọi người đều nhầm lẫn phiên bản Python nào nên học và sử dụng (Python 2.x hoặc 3.x, trong đó X có nghĩa là phiên bản). Hãy cùng xem sự khác biệt chính giữa chúng.

Hướng dẫn difference between python 2 and 3 in tabular form - sự khác biệt giữa python 2 và 3 ở dạng bảng

Nguồn hình ảnh

& nbsp;Python 2 Python 3
1. Phân chia số nguyênIn 9/2

>> 4

print(9/2)

>> 4.5

2. Chức năng inIn "Hello World"

>> Xin chào Thế giới

in (“Xin chào thế giới”)

>> Xin chào Thế giới

in (“Xin chào thế giới”)3. Unicode

loại in (unicode ("hello hello)))

>> & nbsp;

Loại in (B hèHello,)

>>

In ‘Xin chào, +& NBSP; thế giới bv

>> Xin chào Thế giới

Loại in (bytearray (B hèHello World,))

>> & nbsp;

in (‘\ u03bcnico \ u394e!

>> Giannico∆e!

Loại in (B hèHello,)

>>

In ‘Xin chào, +& NBSP; thế giới bv

>> Xin chào Thế giới

Loại in (B hèHello,)

>>In ‘Xin chào, +& NBSP; thế giới bv>> Xin chào Thế giới
Loại in (bytearray (B hèHello World,))>> & nbsp;

in (‘\ u03bcnico \ u394e!

>> Giannico∆e!

in (loại (b hèhello,))

in (‘Xin chàotry:

>> typeerror

in (loại (bytearray (b hèhello,))))

4. Hàm Xrange

Phạm vi hỗ trợ () và xrange () cả hai.

output:

Không có hàm xrange () nhưng hàm range () sẽ hoạt động như xrange () trong python 2.

5. Tăng ngoại lệ

try:

Nâng cao ioerror, tệp không tìm thấy tệp

>> ioerror: không tìm thấy tệp

Nâng cao ioerror (tệp không tìm thấy tệp

>> ioError: Tệp không tìm thấy & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

output:

Không có hàm xrange () nhưng hàm range () sẽ hoạt động như xrange () trong python 2.

5. Tăng ngoại lệ

Nâng cao ioerror, tệp không tìm thấy tệp>> ioerror: không tìm thấy tệp

Nâng cao ioerror (tệp không tìm thấy tệp

>> ioError: Tệp không tìm thấy & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

6. Xử lý ngoại lệ

Output:

& nbsp; In 4/0

ngoại trừ zerodivisionerror, err:

& nbsp; In

>> ioerror: không tìm thấy tệp

Nâng cao ioerror (tệp không tìm thấy tệp

>> ioError: Tệp không tìm thấy & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

6. Xử lý ngoại lệ

Output:

& nbsp; In 4/0

ngoại trừ zerodivisionerror, err:

& nbsp; In

& nbsp; in lỗi "" + "Có thể chia cho số không

Lỗi - phân chia số nguyên hoặc modulo theo số 0

& nbsp; In (4/0)

ngoại trừ zerodivisionerror là ERR:

& nbsp; In

ngoại trừ zerodivisionerror là ERR:

Output:

4

43

34

& nbsp; In

& nbsp; in (lỗi - lỗi - + + str (err))

& nbsp; In (4/0)

ngoại trừ zerodivisionerror là ERR:

& nbsp; In

& nbsp; In

Output:

4

43

34

& nbsp; in (lỗi - lỗi - + + str (err))Lỗi - phân chia theo 0

7. Rò rỉ các biến số vòng trong không gian tên toàn cầu

i = 1

in ‘trước: i =‘, tôi

In ‘Loop: xông, [Tôi cho tôi trong phạm vi (5)]

In ‘After: i =‘, tôi

Trước: i = 1

Vòng lặp: [0,1,2,3,4]

Sau: i = 4

in (‘trước: i = xông, i)

In (‘Loop: xông [Tôi cho tôi trong phạm vi (5)])

in (‘sau: i =‘, i)

Trước: i = 1.

Sau: i = 1

8. .Next () Phương thứcfor loop, these are range and xrange. They both provide a way to generate a list of integers. So for the most part, xrange and range are the exact same in terms of functionality. The only difference is that range returns a Python List object and xrange returns an xrange object. range function creates an array of integers, so it will take much memory if we create a range of millions, which can result MemoryError and crash your program. So xrange is the function to use if you’ve a really memory sensitive system such as cell phone.

Có hàm tiếp theo () và phương thức .next () cho phần tử tiếp theo lặp.xrange function, the range function will work as xrange in python 2.

Example:

list1 = [4, 43, 34, & nbsp; 32]

iterator = iter (list1)

in iterator.next ()

In Next (Iterator)

Chỉ có hàm tiếp theo ().

list1 = [4, 43, 34, 32]

in (tiếp theo (iterator))

1

2

3

4

5

6

7

8

 

in (tiếp theo (iterator))

9. Phương thức Input ()

Chúng ta có thể sử dụng cả phương thức Raw_Input () và Input ().

>> & nbsp;

in (‘\ u03bcnico \ u394e!

>> Giannico∆e!

in (loại (b hèhello,))

in (‘Xin chàoas keyword in python 3.

Trong Python 2, nó

ngoại trừ ioerror, err:

Trong Python 3, nó

ngoại trừ ioerror là ERR: & nbsp;

7. Rò rỉ các biến số vòng trong không gian tên toàn cầu:-

Trong Python 2, có một vấn đề rằng giá trị của một biến toàn cầu đã thay đổi trong khi sử dụng biến đó trong vòng lặp.

Nhưng trong Python 3, đối với các biến vòng lặp không bị rò rỉ vào không gian tên toàn cầu nữa!

8. .Next () Phương thức:-

Python có phương thức .next () và hàm tiếp theo () để tìm nạp phần tử tiếp theo của trình lặp.

Nhưng trong Python 3 .next () phương thức không còn nữa. Chúng ta chỉ phải sử dụng hàm tiếp theo () để lặp lại phần tử tiếp theo của trình lặp.

9.input () Phương thức:-

Python 2 có các phương thức đầu vào () và raw_input () để lấy đầu vào. Sự khác biệt giữa chúng raw_input () trả về một chuỗi và input () cố gắng chạy đầu vào dưới dạng biểu thức python.

Hầu hết tất cả chúng tôi muốn chuỗi làm đầu vào sau đó chúng tôi chuyển đổi nó thành bất kỳ kiểu dữ liệu nào như chúng tôi muốn.

Trong Python 3 không có phương thức Raw_Input (). Phương thức Raw_Input () được thay thế bằng đầu vào () trong Python 3. Nếu bạn vẫn muốn sử dụng phương thức đầu vào () như trong Python 2 thì chúng ta có thể sử dụng phương thức eval ().

Eval (Input (Nhập vào một cái gì đó:

Nó sẽ hoạt động giống như input () trong python 2.

Có nhiều sự khác biệt khác giữa Python 2 và Python 3 như

10. Mô-đun __future__:-

Như chúng ta biết, có rất nhiều điều mà Python 3 hỗ trợ nhưng Python 2 don lồng. Nếu bạn lên kế hoạch hỗ trợ Python 3 cho mã của bạn thì hãy sử dụng mô -đun __future__.

Hãy nói rằng chúng tôi muốn hành vi phân chia số nguyên của Python 3 trong chương trình Python 2 của chúng tôi thì chương trình của chúng tôi sẽ trông giống như

từ & nbsp; __future__ Bộ phận nhập khẩu

In 9/2

output:

4.5

không có __future__ Mô -đun

In 9/2

Output:

11. Thư viện:-

Ưu điểm để sử dụng Python 2 là nó có một số lượng lớn các thư viện. Python 2 vẫn là mặc định trong nhiều hệ điều hành như Ubuntu 14.04 và 16.04 LTS. Nhưng Python 3 cũng đang phát triển từng ngày, tất cả các phát triển trong tương lai sẽ được thực hiện trong Python 3 chứ không phải là Python 2.

Vì vậy, nếu bạn hoàn toàn mới bắt đầu thì chúng tôi khuyên bạn nên sử dụng Python 3 vì đó là tương lai của Python và thật dễ dàng như Python 2 để học và Python 3 có một số tính năng bổ sung (ví dụ: Ghi nhớ chức năng).

Nhận xét bên dưới nếu bạn có các truy vấn liên quan đến hướng dẫn trên để biết sự khác biệt giữa Python 2 và 3.

Sự khác biệt chính giữa Python 2 và 3 là gì?

Trong Python 2, hàm xrange () đã được xác định cho các lần lặp.Trong Python 3, hàm range () mới được giới thiệu để thực hiện lặp lại.Python 2 có cú pháp phức tạp hơn Python 3.Python 3 có cú pháp dễ dàng hơn so với Python 2.Python 2 has more complicated syntax than Python 3. Python 3 has an easier syntax compared to Python 2.

Cái nào tốt hơn Python 2 hoặc 3?

Mặc dù đây là một câu hỏi tranh luận vài năm trước, ngày nay, không còn nghi ngờ gì nữa, Python 3 là một lựa chọn tốt hơn.Đầu tiên, Python 2 không còn được hỗ trợ kể từ năm 2020. Vì vậy, thật hợp lý khi các dự án mới được viết bằng Python 3.Python 3 is a better choice. First, Python 2 is no longer supported since 2020. So it makes sense for new projects to be written in Python 3.

Python 2 hoặc 3 nhanh hơn là cái nào?

Vậy Python 3 nhanh hơn Python 2?Đúng!Trong hầu hết các bài kiểm tra.Các trường hợp ngoại lệ đáng chú ý là thử nghiệm Crypto_PAES, trong đó Python 3 chậm hơn 1,35 lần (vì các loại số nguyên), python_startup chậm hơn 1,39 lần.Python 3 faster than Python 2? Yes! in almost all tests. The notable exceptions were the crypto_paes test, where Python 3 was 1.35x slower (because of the integer types), python_startup as 1.39x slower.