Trăn 3. 8 được phát hành vào ngày 14 tháng 10 năm 2019. Mọi thứ trong cuốn sách vẫn sẽ hoạt động như nó được viết, ngoại trừ bạn có thể cần phải. Tuy nhiên, vẫn còn một chút nữa mà bạn có thể muốn biết về các bản phát hành Python mới. Đây là một bản tóm tắt ngắn gọn, bao gồm một số liên kết đến tài liệu Python chính thức. Nếu bạn dự định tiếp tục sử dụng Python, bạn nên biết những gì cần tìm trong các bản phát hành mới
Tổng quan
Mọi ngôn ngữ lập trình đều phát triển và bạn thấy điều này trong các bản phát hành mới. Python sử dụng quy ước phiên bản ngữ nghĩa để đặt tên cho các bản phát hành. Điều này có nghĩa là Python có trên phiên bản chính 3, phiên bản phụ 8 và phiên bản vá lỗi 0
Có các tính năng mới trong Python 3. 8, nhưng không có gì ảnh hưởng đến các chương trình được viết bằng Python 3. 7. Đó là, bất kỳ chương trình nào hoạt động trên Python 3. 7 nên hoạt động trong Python 3. 8 cũng vậy. Ngoại lệ duy nhất là trong trường hợp chương trình của bạn phụ thuộc vào thư viện bên ngoài và thư viện đó chưa được cập nhật để hoạt động với Python 3. 8 chưa
Có gì mới?
Python là một ngôn ngữ khá ổn định, vì vậy hầu hết các tính năng mới liên quan đến việc sử dụng nâng cao hơn. Nếu bạn tò mò muốn xem các ghi chú phát hành chính thức, thì đây là bài đăng trên blog Python Insider thông báo về việc phát hành, danh sách các tính năng mới và tóm tắt tài liệu cho các tính năng mới
Nếu bạn muốn có một mô tả thân thiện nhưng chi tiết hơn về những gì được liệt kê ở đây, Real Python có một bản tóm tắt tuyệt vời với các ví dụ về từng tính năng mới
biểu thức chuyển nhượng
Biểu thức gán cho phép bạn gán một giá trị cho một biến, đồng thời trả về giá trị đó. Nó được gọi một cách vui nhộn là toán tử hải mã, bởi vì ký hiệu của biểu thức là
print[f"Hello {[name:='Eric']}!"]
0, trông giống như một cặp ngà hải mãVí dụ nhanh, đây là cách bạn gán giá trị cho một biến, sau đó sử dụng biến đó trong lệnh gọi tới
print[f"Hello {[name:='Eric']}!"]
1name = 'Eric'
print[f"Hello, {name}!"]
Với các biểu thức gán, bạn có thể làm điều này trong một dòng
print[f"Hello {[name:='Eric']}!"]
Đây là một ví dụ quá đơn giản và nó làm cho mã khó đọc hơn đối với nhiều người. Nhưng có những trường hợp loại hành vi này làm cho mã ngắn gọn hơn nhiều và khi các lập trình viên có kinh nghiệm quen thuộc với biểu thức này, nó trở nên khá hữu ích
Đối số chỉ vị trí
Nếu bạn đã học qua Chương 8, bạn đã học về đối số của hàm. Python cho phép bạn sử dụng các đối số vị trí, đối số từ khóa hoặc kết hợp cả hai khi bạn gọi một hàm. Khi bạn viết một hàm, bây giờ bạn có thể chỉ định rằng mọi người chỉ có thể gọi hàm đó bằng các đối số vị trí
Ví dụ, xét hàm sau
def greet_user[name]:
print[f"Hello, {name}!"]
Chức năng này có thể được gọi theo hai cách
greet_user['eric']
greet_user[name='eric']
Dấu gạch chéo lên chỉ định rằng hàm chỉ có thể được gọi với đối số vị trí
def greet_user[name, /]:
print[f"Hello, {name}!"]
Bây giờ nếu mọi người gọi hàm bằng đối số từ khóa, họ sẽ gặp lỗi
Điều này hữu ích cho các lập trình viên đang phát triển API, nơi bạn có thể không muốn tên tham số được công khai. Nó cũng cho phép bạn thay đổi tên tham số sau đó mà không vi phạm mã của bất kỳ ai khác
Các tính năng mới khác
- Có một số hàm toán học mới trong thư viện chuẩn của Python
- Python cho phép bạn chỉ định loại của một số biến và các tùy chọn cho điều này đã được mở rộng
- Ngôn ngữ đã được tối ưu hóa để tận dụng tốt hơn bộ nhớ khả dụng
Tôi có nên nâng cấp?
- Nếu muốn dùng thử bất kỳ tính năng mới nào được mô tả ở trên, bạn cần nâng cấp lên Python 3. 8
- Nếu bạn không muốn thử bất kỳ tính năng mới nào, thì không cần phải nâng cấp
- Nếu bạn mới bắt đầu và chưa cài đặt Python, hãy tiếp tục và cài đặt Python 3. 8. Đó là những gì sẽ xảy ra theo mặc định bây giờ, vì vậy bạn không cần bất kỳ hướng dẫn đặc biệt nào để thực hiện việc này
Làm cách nào để nâng cấp?
Hướng dẫn hơi khác đối với một số hệ điều hành
Windows và macOS
Bạn có thể tải xuống và chạy trình cài đặt chính thức từ python. org, giống như bạn có thể đã cài đặt Python ban đầu. Phiên bản mới sẽ được cài đặt cùng với phiên bản trước của bạn. Lệnh Python của bạn, có thể là
print[f"Hello {[name:='Eric']}!"]
2, print[f"Hello {[name:='Eric']}!"]
3 hoặc print[f"Hello {[name:='Eric']}!"]
4, nên được cập nhật để trỏ đến Python 3. 8Nếu bạn đã cài đặt bất kỳ thư viện bên ngoài nào, chẳng hạn như Yêu cầu, thì bạn sẽ cần cài đặt lại nó, vì Python 3. 8 sẽ không có quyền truy cập vào bất kỳ thư viện nào đã cài đặt trước đó. Đối với hầu hết các gói, điều này có nghĩa là sử dụng lại pip
print[f"Hello {[name:='Eric']}!"]
0Vì lời nhắc
print[f"Hello {[name:='Eric']}!"]
2 của bạn hiện trỏ đến Python 3. 8, thao tác này sẽ cài đặt phiên bản Yêu cầu tương thích với Python 3. 8Linux
Nếu bạn đang sử dụng hệ thống dựa trên apt, gói
print[f"Hello {[name:='Eric']}!"]
6 đã được cập nhật để bao gồm Python 3. 8. Nếu bạn chưa sử dụng ________ 06, hãy thêm nó vào hệ thống của bạnprint[f"Hello {[name:='Eric']}!"]
4Bây giờ hãy cập nhật hệ thống của bạn và cài đặt Python 3. 8
print[f"Hello {[name:='Eric']}!"]
5Bây giờ bạn có thể sử dụng lệnh
print[f"Hello {[name:='Eric']}!"]
8 để chạy các chương trình bằng Python 3. 8 thông dịch viên. Bạn cũng cần cập nhật trình soạn thảo văn bản của mình để sử dụng lệnh nàyNếu bạn đã cài đặt bất kỳ thư viện bên ngoài nào, chẳng hạn như Yêu cầu, thì bạn sẽ cần cài đặt lại nó, vì Python 3. 8 sẽ không có quyền truy cập vào bất kỳ thư viện nào đã cài đặt trước đó. Đối với hầu hết các gói, điều này có nghĩa là sử dụng lại pip
print[f"Hello {[name:='Eric']}!"]
7Thao tác này sẽ cài đặt phiên bản Yêu cầu tương thích với Python 3. 8
Pygame trên Python 3. 8
Phiên bản ổn định của Pygame chưa được cập nhật để hoạt động với Python 3. 8 chưa. Tuy nhiên, có một phiên bản phát triển gần đây hoạt động với Python 3. 8. Để cài đặt nó, hãy chạy lệnh sau
print[f"Hello {[name:='Eric']}!"]
8Bạn nên sử dụng cùng một lệnh mà bạn sử dụng để chạy phiên cuối Python trên hệ thống của mình, có thể là
print[f"Hello {[name:='Eric']}!"]
2, print[f"Hello {[name:='Eric']}!"]
3, print[f"Hello {[name:='Eric']}!"]
4, print[f"Hello {[name:='Eric']}!"]
8 hoặc thứ gì đó khácNếu bạn gặp bất kỳ sự cố nào khi chạy Pygame trên macOS, thì phiên bản Pygame này cũng sẽ giải quyết các sự cố đó