%s có hoạt động trong Python 3 không?
Bài viết này giải thích các tính năng mới trong Python 3. 0, so với 2. 6. Trăn 3. 0, còn được gọi là “Python 3000” hoặc “Py3K”, là bản phát hành Python không tương thích ngược có chủ ý đầu tiên. Trăn 3. 0 được phát hành vào ngày 3 tháng 12 năm 2008. Có nhiều thay đổi hơn so với bản phát hành thông thường và nhiều thay đổi khác quan trọng đối với tất cả người dùng Python. Tuy nhiên, sau khi tiêu hóa các thay đổi, bạn sẽ thấy rằng Python thực sự đã không thay đổi nhiều như vậy - nói chung, chúng tôi chủ yếu sửa những phiền toái và mụn cóc nổi tiếng, đồng thời loại bỏ rất nhiều hành trình cũ. Show
Bài viết này không cố gắng cung cấp thông số kỹ thuật đầy đủ của tất cả các tính năng mới mà thay vào đó cố gắng cung cấp một cái nhìn tổng quan thuận tiện. Để biết đầy đủ chi tiết, bạn nên tham khảo tài liệu về Python 3. 0 và/hoặc nhiều PEP được tham chiếu trong văn bản. Nếu bạn muốn hiểu toàn bộ triển khai và cơ sở thiết kế cho một tính năng cụ thể, PEP thường có nhiều chi tiết hơn tài liệu thông thường; Do hạn chế về thời gian, tài liệu này không đầy đủ như lẽ ra phải có. Như thường lệ đối với bản phát hành mới, tệp print("There are <", 2**32, "> possibilities!", sep="")01 trong bản phân phối nguồn chứa nhiều thông tin chi tiết về từng điều nhỏ đã được thay đổi Những trở ngại thường gặp¶Phần này liệt kê một số thay đổi có khả năng khiến bạn gặp khó khăn nhất nếu bạn đã quen với Python 2. 5 In là một chức năng¶Câu lệnh print("There are <", 2**32, "> possibilities!", sep="")02 đã được thay thế bằng hàm print("There are <", 2**32, "> possibilities!", sep="")03, với các đối số từ khóa để thay thế hầu hết cú pháp đặc biệt của câu lệnh print("There are <", 2**32, "> possibilities!", sep="")02 cũ (PEP 3105). ví dụ Old: print "The answer is", 2*2 New: print("The answer is", 2*2) Old: print x, # Trailing comma suppresses newline New: print(x, end=" ") # Appends a space instead of a newline Old: print # Prints a newline New: print() # You must call the function! Old: print >>sys.stderr, "fatal error" New: print("fatal error", file=sys.stderr) Old: print (x, y) # prints repr((x, y)) New: print((x, y)) # Not the same as print(x, y)! Bạn cũng có thể tùy chỉnh dấu phân cách giữa các mục, e. g print("There are <", 2**32, "> possibilities!", sep="") sản xuất There are <4294967296> possibilities! Ghi chú
Lượt xem và trình vòng lặp thay vì danh sách¶Một số API nổi tiếng không còn trả lại danh sách
So sánh thứ tự¶Trăn 3. 0 đã đơn giản hóa các quy tắc để so sánh thứ tự
Số nguyên¶
Văn bản Vs. Dữ liệu thay vì Unicode Vs. 8 bit¶Mọi thứ bạn nghĩ bạn đã biết về dữ liệu nhị phân và Unicode đã thay đổi
Tổng quan về thay đổi cú pháp¶Phần này cung cấp tổng quan ngắn gọn về mọi thay đổi cú pháp trong Python 3. 0 Cú pháp mới¶
Cú pháp đã thay đổi¶
Cú pháp đã loại bỏ¶
Các thay đổi đã có trong Python 2. 6¶Vì nhiều người dùng có lẽ đã chuyển thẳng từ Python 2. 5 đến Python 3. 0, phần này nhắc nhở người đọc về các tính năng mới ban đầu được thiết kế cho Python 3. 0 nhưng đã được chuyển ngược sang Python 2. 6. Các phần tương ứng trong Có gì mới trong Python 2. 6 nên được tư vấn cho các mô tả dài hơn.
Thay đổi thư viện¶Do hạn chế về thời gian, tài liệu này không đề cập đầy đủ những thay đổi rất lớn đối với thư viện chuẩn. PEP 3108 là tài liệu tham khảo cho những thay đổi lớn đối với thư viện. Đây là một đánh giá viên nang
Một số thay đổi khác đối với các mô-đun thư viện tiêu chuẩn, không được đề cập trong PEP 3108
PEP 3101. Một cách tiếp cận mới để định dạng chuỗi¶
Thay đổi đối với ngoại lệ¶Các API để tăng và bắt ngoại lệ đã được dọn sạch và thêm các tính năng mạnh mẽ mới
Khác Các thay đổi khác¶Toán tử và các phương thức đặc biệt¶
Nội dung¶
Thay đổi về API Build và C¶Do hạn chế về thời gian, đây là danh sách rất không đầy đủ các thay đổi đối với API C
Màn biểu diễn¶Kết quả ròng của 3. 0 khái quát hóa là Python 3. 0 chạy điểm chuẩn pystone chậm hơn khoảng 10% so với Python 2. 5. Rất có thể nguyên nhân lớn nhất là việc loại bỏ vỏ đặc biệt cho các số nguyên nhỏ. Có chỗ để cải thiện, nhưng nó sẽ xảy ra sau 3. 0 được phát hành Chuyển sang Python 3. 0¶Để chuyển Python 2 hiện có. 5 hoặc 2. 6 mã nguồn cho Python 3. 0, chiến lược tốt nhất là như sau
Không nên cố gắng viết mã nguồn chạy không thay đổi trong cả Python 2. 6 và 3. 0; . g. tránh các câu lệnh print("There are <", 2**32, "> possibilities!", sep="")02, siêu dữ liệu, v.v. Nếu bạn đang duy trì một thư viện cần hỗ trợ cả Python 2. 6 và Trăn 3. 0, cách tiếp cận tốt nhất là sửa đổi bước 3 ở trên bằng cách chỉnh sửa 2. 6 của mã nguồn và chạy lại trình dịch print("There are <", 2**32, "> possibilities!", sep="")9, thay vì chỉnh sửa phiên bản 3. 0 phiên bản của mã nguồn Chuỗi %s có phải bằng Python không?Toán tử %s cho phép bạn thêm một giá trị vào chuỗi Python . %s biểu thị rằng bạn muốn thêm một giá trị chuỗi vào một chuỗi. Toán tử % có thể được sử dụng với các cấu hình khác, chẳng hạn như %d, để định dạng các loại giá trị khác nhau.
%s %d có nghĩa là gì trong Python?Chúng được sử dụng để định dạng chuỗi. %s đóng vai trò giữ chỗ cho một chuỗi trong khi %d đóng vai trò giữ chỗ cho một số . Các giá trị được liên kết của chúng được truyền qua một bộ sử dụng toán tử %.
Sự khác biệt giữa %D và %S trong Python là gì?Trong Python, cả %s và %d đều là phần giữ chỗ cho một chuỗi và một số tương ứng. %s sẽ trả về chuỗi và %d sẽ trả về số , các giá trị được truyền bằng toán tử %.
%s trong Python 2 là gì?#1 Định dạng chuỗi “Kiểu cũ” (% Toán tử)
. Có sẵn các công cụ xác định định dạng khác cho phép bạn kiểm soát định dạng đầu ra. tell Python where to substitute the value of name , represented as a string. There are other format specifiers available that let you control the output format. |