Python 2 in so với python 3

Nếu bạn vẫn còn băn khoăn về việc nên học Python 3 hay gắn bó với Python 2, thì đây là hướng dẫn nhanh về sự khác biệt giữa hai loại này. Trong bài viết này, chúng ta sẽ xem xét Mã hóa ký tự, Thư viện và Cú pháp. Sau đó, chúng ta sẽ đề cập đến Mã hóa ký tự và tương lai của Python 2. Python 2 vẫn được một số công ty sử dụng và nó vẫn là một lựa chọn tốt nếu bạn đang chuyển sang phiên bản ngôn ngữ mới nhất

Chuyển đến nội dung chính

Python trung gian

Nâng cao kỹ năng khoa học dữ liệu của bạn bằng cách tạo trực quan hóa bằng Matplotlib và thao tác với DataFrames bằng gấu trúc

Có liên quan

SQL so với Python. Bạn nên học cái nào?

Trong bài viết này, chúng tôi sẽ đề cập đến các tính năng chính của Python và SQL, những điểm tương đồng và khác biệt chính của chúng cũng như bạn nên chọn cái nào trước để bắt đầu hành trình khoa học dữ liệu của mình

Javier Canales Luna •

12 phút

Dữ liệu văn bản trong Python Cheat Sheet

Chào mừng bạn đến với bảng gian lận của chúng tôi để làm việc với dữ liệu văn bản trong Python. Chúng tôi đã biên soạn một danh sách các hàm và gói hữu ích nhất để dọn dẹp, xử lý và phân tích dữ liệu văn bản trong Python, cùng với các ví dụ và giải thích rõ ràng, vì vậy bạn sẽ có mọi thứ cần biết về cách làm việc với dữ liệu văn bản trong Python.

Hướng dẫn về tập hợp và lý thuyết tập hợp trong Python

Tìm hiểu về bộ Python. chúng là gì, cách tạo chúng, khi nào sử dụng chúng, các chức năng tích hợp và mối quan hệ của chúng với các hoạt động lý thuyết thiết lập

Hướng dẫn về gấu trúc. Khung dữ liệu trong Python

Khám phá phân tích dữ liệu với Python. Pandas DataFrames giúp thao tác dữ liệu của bạn dễ dàng, từ việc chọn hoặc thay thế các cột và chỉ mục để định hình lại dữ liệu của bạn

Xem ThêmXem Thêm

Nếu bạn chưa quen với Python, bạn có thể nhầm lẫn về các phiên bản khác nhau hiện có. Mặc dù Python 3 là thế hệ ngôn ngữ mới nhất nhưng nhiều lập trình viên vẫn sử dụng Python 2. 7, bản cập nhật cuối cùng cho Python 2, được phát hành vào năm 2010

Hiện tại không có câu trả lời rõ ràng cho câu hỏi bạn nên sử dụng phiên bản Python nào; . Mặc dù Python 3 rõ ràng là tương lai của ngôn ngữ này, một số lập trình viên chọn ở lại với Python 2. 7 vì một số thư viện và gói cũ hơn chỉ hoạt động trong Python 2

Tại sao lại có các phiên bản Python khác nhau?

Các ngôn ngữ lập trình liên tục phát triển khi các nhà phát triển mở rộng chức năng của ngôn ngữ và giải quyết những điều kỳ quặc gây ra sự cố cho các nhà phát triển. Python 3 được giới thiệu vào năm 2008 với mục đích làm cho Python dễ sử dụng hơn và thay đổi cách nó xử lý các chuỗi để phù hợp với nhu cầu đặt ra cho ngôn ngữ ngày nay. Các lập trình viên lần đầu tiên học lập trình trong Python 2 đôi khi thấy khó thích nghi với những thay đổi mới, nhưng những người mới đến thường thấy rằng phiên bản mới của ngôn ngữ này có ý nghĩa hơn

Trăn 3. 0 về cơ bản khác với các bản phát hành Python trước đây vì đây là bản phát hành Python đầu tiên không tương thích với các phiên bản cũ hơn. Các lập trình viên thường không cần phải lo lắng về các bản cập nhật nhỏ [e. g. từ 2. 6 đến 2. 7] vì chúng thường chỉ thay đổi hoạt động bên trong của Python và không yêu cầu lập trình viên thay đổi cú pháp của chúng. Sự thay đổi giữa Python 2. 7 [phiên bản cuối cùng của Python 2] và Python 3. 0 quan trọng hơn nhiều — mã hoạt động trong Python 2. 7 có thể cần được viết theo một cách khác để hoạt động trong Python 3. 0

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

Dưới đây là một số điểm khác biệt chính giữa Python 2 và Python 3 có thể làm cho phiên bản mới của ngôn ngữ này bớt khó hiểu hơn đối với các lập trình viên mới học

  • In. Trong Python 2, “print” được coi là một câu lệnh hơn là một hàm. Không cần phải bọc văn bản bạn muốn in trong ngoặc đơn, mặc dù bạn có thể nếu muốn. Điều này có thể gây nhầm lẫn, vì hầu hết các hành động khác trong Python đều sử dụng các hàm yêu cầu đặt đối số bên trong dấu ngoặc đơn. Nó cũng có thể dẫn đến kết quả không mong muốn nếu bạn đặt dấu ngoặc đơn xung quanh danh sách các mục được phân tách bằng dấu phẩy mà bạn muốn in. Ngược lại, Python 3 xử lý rõ ràng “in” như một hàm, có nghĩa là bạn phải chuyển các mục bạn cần in vào hàm trong dấu ngoặc đơn theo cách tiêu chuẩn, nếu không bạn sẽ gặp lỗi cú pháp. Một số lập trình viên Python 2 thấy thay đổi này gây khó chịu, nhưng nó có thể giúp ngăn ngừa lỗi
  • phép chia số nguyên. Python 2 coi các số mà bạn nhập không có bất kỳ chữ số nào sau dấu thập phân là số nguyên, điều này có thể dẫn đến một số kết quả không mong muốn trong quá trình chia. Ví dụ: nếu bạn gõ biểu thức 3 / 2 trong mã Python 2, kết quả đánh giá sẽ là 1 chứ không phải 1. 5 như bạn có thể mong đợi. Điều này là do Python 2 giả định rằng bạn muốn kết quả phép chia của bạn là một số nguyên, vì vậy nó làm tròn phép tính xuống số nguyên gần nhất. Để có kết quả 1. 5, bạn sẽ phải viết 3. 0 / 2. 0 để nói với Python rằng bạn muốn nó trả về một số float, nghĩa là bao gồm các chữ số sau dấu thập phân trong kết quả. Python 3 đánh giá 3/2 là 1. 5 theo mặc định, trực quan hơn cho các lập trình viên mới
  • Liệt kê các biến vòng lặp hiểu. Trong các phiên bản trước của Python, việc đặt biến được lặp lại trong cách hiểu danh sách trùng tên với biến toàn cục có thể dẫn đến giá trị của biến toàn cục bị thay đổi — điều mà bạn thường không muốn. Lỗi khó chịu này đã được sửa trong Python 3, vì vậy bạn có thể sử dụng tên biến mà bạn đã sử dụng cho biến điều khiển trong phần hiểu danh sách của mình mà không phải lo lắng về việc nó bị rò rỉ và làm xáo trộn giá trị của các biến trong phần còn lại của mã của bạn
  • Chuỗi Unicode. Python 3 lưu trữ các chuỗi dưới dạng Unicode theo mặc định, trong khi Python 2 yêu cầu bạn đánh dấu một chuỗi bằng chữ “u” nếu bạn muốn lưu trữ dưới dạng Unicode. Chuỗi Unicode linh hoạt hơn chuỗi ASCII, là chuỗi mặc định của Python 2, vì chúng có thể lưu trữ các chữ cái từ tiếng nước ngoài cũng như biểu tượng cảm xúc và các chữ cái và chữ số La Mã tiêu chuẩn. Bạn vẫn có thể gắn nhãn chuỗi Unicode của mình bằng chữ “u” nếu muốn đảm bảo rằng mã Python 3 của bạn tương thích với Python 2
  • Tăng ngoại lệ. Python 3 yêu cầu cú pháp khác để tăng ngoại lệ. Nếu muốn xuất thông báo lỗi cho người dùng thì cần sử dụng cú pháp

tăng IOError[“thông báo lỗi của bạn”]

Cú pháp này cũng hoạt động trong Python 2. Đoạn mã sau chỉ hoạt động trong Python 2, không phải Python 3

tăng IOError, "thông báo lỗi của bạn"

Có nhiều ví dụ khác về sự khác biệt nhỏ trong cú pháp giữa Python 2 và Python 3. Python-Future có sẵn một bảng gian lận về các khác biệt cú pháp chính để giúp bạn viết mã tương thích với cả hai phiên bản Python. Ngoài sự khác biệt về cú pháp, còn có những điểm khác biệt chính khác, chẳng hạn như cách hai phiên bản Python xử lý các chuỗi, như được mô tả ở trên. Trăn 3. 3 hoạt động với tốc độ xấp xỉ bằng Python 2. 7, mặc dù một số điểm chuẩn đánh giá ngôn ngữ mới nhanh hơn nhiều

Phiên bản thư viện Python 2 hoặc Python 3

Python 2 đã tồn tại lâu hơn, đây có thể là một lợi thế và không phải tất cả các thư viện có sẵn cho Python 2 đều được chuyển sang Python 3. Mặt khác, một số nhà phát triển đang tạo thư viện cho Python 3 có thể không tương thích với Python 2. Đối với nhiều người, quyết định sử dụng Python 2 hay Python 3 tùy thuộc vào thư viện họ muốn sử dụng. Tất nhiên, nếu bạn đang học Python để làm việc trên một ứng dụng Python hiện có, thì bạn nên học cách sử dụng bất kỳ phiên bản Python nào mà phần mềm được viết bằng ngôn ngữ đó.

Nhiều người coi Python 3 là phiên bản cải tiến của Python 2, vì một số bản cập nhật đã loại bỏ các lỗi phổ biến mà các lập trình viên mắc phải [xem ví dụ in ở trên]. Như đã mô tả ở trên, một số thay đổi đã giúp Python 3 dễ hiểu hơn cho người mới bắt đầu. Do đó, những lập trình viên mới không cần sử dụng bất kỳ thư viện cụ thể nào có thể muốn xem xét việc học Python 3 vì có khả năng sẽ có sự chuyển đổi dần dần sang ngôn ngữ mới trong những năm tới, khi các bản cập nhật cho Python 2 dừng lại và hỗ trợ cho ngôn ngữ cũ. . Thống kê sử dụng cho thấy số lượng lập trình viên sử dụng Python 3 đang tăng dần

Trừ khi có lý do rõ ràng để chọn phiên bản Python này thay vì phiên bản kia, chẳng hạn như cần phải làm việc trên mã hiện có được viết bằng Python 2, thì không đáng lo lắng quá nhiều về quyết định này. Hầu hết các cú pháp đều giống nhau trong mỗi phiên bản của ngôn ngữ. Nếu bạn cần chuyển từ Python 2 sang Python 3 hoặc ngược lại, bạn sẽ không mất quá nhiều thời gian để làm quen với những điểm khác biệt, chẳng hạn như những thay đổi đối với câu lệnh/hàm in và cách Python xử lý phép chia số nguyên

Python 3 đang dần thu hút được nhiều nhà phát triển hơn

Trong một cuộc khảo sát với 6.746 lập trình viên được thực hiện vào năm 2014, khoảng 2/3 cho biết họ viết nhiều mã bằng Python 2 hơn Python 3. Tuy nhiên, Python 3 đang nhanh chóng đạt được thành công;

Khi các lập trình viên bắt đầu một dự án cá nhân, chỉ dưới một nửa, sử dụng Python 3, phần còn lại thích gắn bó với Python 2. Trong số các lý do không chuyển sang Python 3, mọi người đã trích dẫn sự phụ thuộc vào các gói chỉ có sẵn cho Python 2 và có một lượng lớn mã kế thừa được viết bằng Python 2 cần được nâng cấp. Những người khác cho rằng đơn giản là họ không có động lực để chuyển sang Python 3 vì Python 2 đáp ứng nhu cầu của họ và họ đã quen làm việc với nó

Trăn 2 so với. Trăn 3. Tóm lược

Quá trình chuyển đổi từ Python 2 sang Python 3 đang diễn ra chậm, nhưng nó đang được tiến hành. Bạn có thể viết thành công mã hiệu quả, hữu ích và hiệu quả bằng cách sử dụng một trong hai phiên bản của ngôn ngữ, vì vậy không cần phải đắn đo quá nhiều về phiên bản nào sẽ học khi giới thiệu về Python. Tuy nhiên, bạn nên biết rằng có những khác biệt quan trọng giữa Python 2 và Python 3 trong trường hợp bạn cần xử lý mã được viết bằng phiên bản của ngôn ngữ mà bạn ít quen thuộc hơn.

Nếu bạn là một lập trình viên Python đang nghĩ đến việc chuyển đổi từ Python 2 sang Python 3, thì có một số cải tiến trong Python 3 có thể khiến nỗ lực của bạn trở nên đáng giá. Trước khi chuyển dự án Python 2 của bạn sang Python 3, hãy kiểm tra xem các thư viện mà nó phụ thuộc có được hỗ trợ trong Python 3 không

Khi thời gian trôi qua và các bản cập nhật mới cho Python 3 được phát hành, tỷ lệ lập trình viên sử dụng Python 3 thay vì Python 2 có thể sẽ tăng lên. Đó là quyết định của bạn cho dù bạn muốn tham gia xu hướng hướng tới Python 3 ngay bây giờ hay tiếp tục với Python 2 cho đến khi các yêu cầu của dự án buộc bạn phải thực hiện chuyển đổi

Omed Habib

Omed Habib là Giám đốc Tiếp thị Sản phẩm tại AppDynamics. Ban đầu, anh ấy tham gia AppDynamics với tư cách là Giám đốc sản phẩm chính để lãnh đạo sự phát triển của PHP, Node đẳng cấp thế giới của họ. js và Python APM agent. Là một kỹ sư tận tâm, Omed đã yêu thích kiến ​​trúc quy mô web trong khi chỉ đạo công nghệ trong suốt sự nghiệp của mình. Anh ấy dành thời gian khám phá những cách mới để giúp một số công ty triển khai phần mềm lớn nhất trên thế giới đáp ứng nhu cầu về hiệu suất của họ

Bản in trong Python 3 khác với bản in trong Python 2 như thế nào?

Câu hỏi. Sự khác biệt giữa in trong Python 2 và 3 là gì? . Trong Python 2, print được coi là một câu lệnh trong khi ở Python 3, print được coi là một hàm . Do đó, chúng ta không cần phải bọc văn bản sẽ được in trong dấu ngoặc đơn, mặc dù chúng ta có thể nếu muốn.

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

Một số thay đổi chính trong Python 3 bao gồm thay đổi khai báo in thành một hàm tích hợp, cải thiện phép chia số nguyên và hỗ trợ Unicode được cải thiện. Bản chất của những thay đổi này là Python 3 không tương thích với Python 2 , nói cách khác, nó không tương thích ngược.

Python 2 có in không?

In. Trong Python 2, “print” được coi là một câu lệnh chứ không phải là một hàm . Không cần phải bọc văn bản bạn muốn in trong ngoặc đơn, mặc dù bạn có thể nếu muốn. Điều này có thể gây nhầm lẫn, vì hầu hết các hành động khác trong Python đều sử dụng các hàm yêu cầu đặt đối số bên trong dấu ngoặc đơn.

Tôi nên sử dụng Python 2 hay 3?

Nếu bạn muốn câu trả lời ngắn gọn, đây là. Bạn nên học Python 3 vì đây là phiên bản phù hợp nhất với các dự án khoa học dữ liệu hiện nay. Ngoài ra, nó rất dễ học và có một vài vấn đề về khả năng tương thích cần phải lo lắng.

Chủ Đề