Tôi có thể sử dụng python 3 nếu tôi biết python 2 không?

Đây là một trong những câu hỏi chúng tôi nghe thường xuyên nhất tại Dataquest, nơi chúng tôi dạy Python như một phần của chương trình Khoa học dữ liệu

Hãy giải quyết vấn đề này.  

spoiler. tại Dataquest, chúng tôi chỉ dạy Python 3. Nếu bạn đã sẵn sàng bắt đầu học ngay bây giờ, hãy đăng ký khóa học Giới thiệu về Python miễn phí.  

Nếu bạn vẫn còn băn khoăn hoặc chỉ muốn biết thêm thông tin, hãy tiếp tục đọc. Bài đăng này đưa ra một số bối cảnh đằng sau câu hỏi, giải thích vị trí của chúng tôi và cho bạn biết bạn nên học phiên bản nào

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.  

Cần một lời giải thích kỹ lưỡng hơn?

2008. Sự ra đời của Python 3. 0

Không, đó không phải là một lỗi đánh máy. Python 3 đã được phát hành trở lại vào năm 2008.  

Nếu bạn chưa quen với cuộc tranh cãi về Python 2-3, hãy lưu ý rằng cuộc tranh cãi này đã diễn ra trong gần một thập kỷ rưỡi. Điều đó một mình sẽ cho bạn biết nó là một vấn đề lớn như thế nào

Bản phát hành không tương thích ngược năm 2008

Python đã phát hành phiên bản 3. 0 vào ngày 3 tháng 12 năm 2008. Điều gì là đặc biệt (đọc. tức giận) về bản phát hành này là nó là một bản phát hành không tương thích ngược.  

Do sự không tương thích ngược này, việc di chuyển các dự án từ Python 2. x đến 3. x sẽ yêu cầu những thay đổi lớn. Điều này không chỉ bao gồm các dự án và ứng dụng riêng lẻ mà còn bao gồm tất cả các thư viện tạo thành một phần của hệ sinh thái Python

Phản ứng dữ dội của Python 3

Vào thời điểm đó, sự thay đổi được coi là cực kỳ gây tranh cãi. Do đó, nhiều dự án đã chống lại nỗi đau khi di chuyển, đặc biệt là trong cộng đồng khoa học Python. Ví dụ: phải mất hai năm để thư viện số chính NumPy phát hành 3 số đầu tiên. phát hành x.  

Các dự án khác bắt đầu ra mắt 3. x tương thích trong những năm tiếp theo. Đến năm 2012, rất nhiều thư viện đã hỗ trợ 3. x, nhưng hầu hết vẫn được viết bằng 2. x. Theo thời gian, các công cụ đã được phát hành giúp việc chuyển mã dễ dàng hơn, nhưng vẫn có một lực cản lớn đối với việc di chuyển

Trong vài năm sau đó, một số công cụ đã được phát hành để giúp chuyển đổi các cơ sở mã cũ hơn từ Python 2 sang Python 3

Ban đầu, Python đã lên lịch "kết thúc vòng đời" cho Python 2. x cho năm 2015. Tuy nhiên, vào năm 2014, họ tuyên bố sẽ gia hạn ngày chấm dứt hợp đồng đến năm 2020. Điều này được thực hiện một phần để giảm bớt lo lắng cho những người dùng chưa thể chuyển sang Python 3

Tuy nhiên, rõ ràng là ngày của Python 2 bị hạn chế. Vào năm 2017, web-framework phổ biến Django đã thông báo rằng phiên bản 2 mới của họ. 0 sẽ không hỗ trợ Python 2. x

Ngoài ra, nhiều gói bắt đầu thông báo kết thúc hỗ trợ cho 2. x. Ngay cả các thư viện khoa học cũng cam kết ngừng hỗ trợ 2. x vào năm 2020 hoặc sớm hơn

Tua nhanh đến hôm nay. Tại sao đây vẫn là một câu hỏi?

Ngày nay, có rất ít thư viện không hỗ trợ Python 3

Nhưng nếu Python 2. x không được hỗ trợ nữa, vậy tại sao vẫn còn sự nhầm lẫn xung quanh vấn đề Python 2 so với 3?

Câu trả lời là gấp đôi.  

Thứ nhất, có rất nhiều tài nguyên trực tuyến miễn phí, cũ hơn để học Python dựa trên Python 2. Điều này bao gồm hầu hết các khóa học MOOC từ các nền tảng như Coursera, Udemy và edX

Vì sinh viên khoa học dữ liệu luôn tìm cách tiết kiệm tiền, nên những tài nguyên miễn phí này rất hấp dẫn.  

Ngoài ra, cuốn Learn Python the Hard Way cực kỳ nổi tiếng của Zed Shaw được viết bằng Python 2. x. Và anh ấy đã không viết một cuốn sách nào về Python 3 cho đến năm 2017 - gần một thập kỷ sau khi phát hành.  

Cho đến gần đây, tôi nghĩ rằng điều này chỉ là do Zed đã quá lười biếng để cập nhật khóa học của mình trong ngần ấy năm. Nhưng sau đó tôi tìm thấy bài báo gây tranh cãi của anh ấy. Trường hợp chống lại Python 3

Bất chấp sự phản bác xuất sắc của Eevee Đối với Python 3, sự công kích của Zed đã gây ra hậu quả. Tất nhiên, số người đồng ý với Zed hiện nay là cực thiểu số. Nhưng toàn bộ cuộc tranh cãi đã làm chậm quá trình chuyển đổi từ Python 2 sang Python 3. Và nó cũng làm vẩn đục nước cho rất nhiều người mới tham gia lĩnh vực này.  

Vậy tôi nên học Python nào?

Với tất cả các cuộc tranh luận về Python 2 so với Python 3, bạn sẽ nghĩ quyết định học cái này hay cái kia sẽ là một quyết định khó khăn. Tuy nhiên, trên thực tế, nó khá đơn giản.  

Python 3 là người chiến thắng rõ ràng

Trăn 3. x là tương lai và với Python 2. x đang giảm dần, bạn nên dành thời gian tìm hiểu phiên bản sẽ tồn tại lâu dài

Và nếu bạn lo lắng về vấn đề tương thích, đừng. Tôi đã sử dụng Python 3. x độc quyền và hiếm khi gặp sự cố tương thích

Rất thỉnh thoảng (có thể 3-4 tháng một lần), tôi thấy mình đang cố chạy thứ gì đó yêu cầu hỗ trợ Python 2. Trong những trường hợp hiếm hoi này, virtualenv của Python cho phép tôi tạo ngay 2. x trên máy của tôi để chạy phần mềm kế thừa đó

Đừng lãng phí thời gian của bạn với Python 2

Chúng ta hãy rõ ràng. Python 2 đã lỗi thời. Sẽ không có bản sửa lỗi hoặc bảo mật nào trong tương lai cho Python 2. x và thời gian của bạn nên dành cho việc học tốt hơn 3. x

Trong trường hợp không chắc là bạn phải làm việc với cơ sở mã Python 2 kế thừa, các công cụ như Python-Future sẽ giúp bạn dễ dàng sử dụng khi mới chỉ học Python 3

Dataquest là nền tảng trực tuyến tốt nhất để học trở thành Nhà khoa học dữ liệu bằng Python (3. x, tất nhiên. ). Chúng tôi có sinh viên tốt nghiệp làm việc tại SpaceX, Amazon, v.v. Nếu điều đó khiến bạn quan tâm, bạn có thể đăng ký và hoàn thành khóa học đầu tiên của chúng tôi miễn phí tại Dataquest. io

Khoa học dữ liệuTìm hiểu Python

Tôi có thể sử dụng python 3 nếu tôi biết python 2 không?

Thông tin về các Tác giả

yêu cầu dữ liệu

Dataquest dạy thông qua các bài tập và dự án đầy thách thức thay vì các bài giảng video. Đó là cách hiệu quả nhất để học các kỹ năng bạn cần để xây dựng sự nghiệp dữ liệu của mình

Tôi có thể học Python 2 thay vì 3 không?

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.

Python 2 có còn hữu ích không?

Nó không được khuyến khích cho người mới bắt đầu. Kể từ năm 2020, Python 2 đã hết hạn sử dụng trong khi Python 3 vẫn được các nhà phát triển sử dụng và phổ biến hơn Python 2. Có thể chuyển mã Python 2 sang Python 3 nhưng để làm được điều này cần rất nhiều nỗ lực