Hướng dẫn string prefix python - tiền tố chuỗi python
Kể từ Python 3.6, dây F là một cách mới tuyệt vời để định dạng chuỗi. Họ không chỉ dễ đọc hơn, súc tích hơn và ít bị lỗi hơn so với các cách định dạng khác, mà chúng còn nhanh hơn! Show
Nội dung chính ShowShow
Đọc thêm Đến cuối bài viết này, bạn sẽ tìm hiểu cách thức và lý do bắt đầu sử dụng F-Strings ngay hôm nay. Chuỗi của trường cũ ở trường học ở PythonTùy chọn số 1: %-Formatting Tại sao %-Formatting là tuyệt vờiTùy chọn số 1: %-FormattingTại sao %-Formatting là tuyệt vời
Nếu bạn không đặt một >>> "Hello, {1}. You are {0}.".format(age, name) 'Hello, Eric. You are 74.' 6 trước mỗi dòng riêng lẻ, thì bạn sẽ có các chuỗi thường xuyên, cũ, trong vườn và không sáng bóng, mới, Fancy F-String.Các chuỗi F nhanh hơn cả %-formatting và >>> "Hello, {}. You are {}.".format(name, age) 'Hello, Eric. You are 74.' 4. Như bạn đã thấy, các chuỗi F là các biểu thức được đánh giá trong thời gian chạy thay vì các giá trị không đổi. Ở đây, một đoạn trích từ các tài liệu: Tuy nhiên, đó không phải là trường hợp luôn như vậy. Khi chúng được thực hiện lần đầu tiên, họ có một số vấn đề về tốc độ và cần được thực hiện nhanh hơn >>> "Hello, {}. You are {}.".format(name, age) 'Hello, Eric. You are 74.' 4. Một opcode >>> first_name = "Eric" >>> last_name = "Idle" >>> age = 74 >>> profession = "comedian" >>> affiliation = "Monty Python" >>> print(("Hello, {first_name} {last_name}. You are {age}. " + >>> "You are a {profession}. You were a member of {affiliation}.") \ >>> .format(first_name=first_name, last_name=last_name, age=age, \ >>> profession=profession, affiliation=affiliation)) 'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.' 2 đặc biệt đã được giới thiệu.Dấu gạch chéo ngược
Đi ra và định dạng! Dấu gạch chéo ngược
Đi ra và định dạng!Tại sao %-Formatting là tuyệt vời Dấu gạch chéo ngược
Đi ra và định dạng! Tại sao %-Formatting là tuyệt vờiCách hoàn thành công việc mới hơn này đã được giới thiệu trong Python 2.6. Bạn có thể kiểm tra hướng dẫn về các kỹ thuật định dạng chuỗi Python mới hơn để biết thêm thông tin. Bạn cũng có tùy chọn gọi trực tiếp một phương thức:Bạn có thể có chuỗi đa dòng: Cách hoàn thành công việc mới hơn này đã được giới thiệu trong Python 2.6. Bạn có thể kiểm tra hướng dẫn về các kỹ thuật định dạng chuỗi Python mới hơn để biết thêm thông tin. Dấu gạch chéo ngược
Đi ra và định dạng! Dấu gạch chéo ngược
Đi ra và định dạng! >>>
Để chèn nhiều hơn một biến, bạn phải sử dụng một bộ biến số của các biến đó. Đây là cách bạn sẽ làm điều đó: >>>
Để chèn nhiều hơn một biến, bạn phải sử dụng một bộ biến số của các biến đó. Đây là cách bạn sẽ làm điều đó: Tại sao %-Formatting là tuyệt vờiCác ví dụ mã mà bạn vừa thấy ở trên là đủ có thể đọc được. Tuy nhiên, một khi bạn bắt đầu sử dụng một số tham số và chuỗi dài hơn, mã của bạn sẽ nhanh chóng trở nên dễ đọc hơn nhiều. Mọi thứ đang bắt đầu trông hơi lộn xộn rồi: >>> 0Để chèn nhiều hơn một biến, bạn phải sử dụng một bộ biến số của các biến đó. Đây là cách bạn sẽ làm điều đó: Tại sao %-Formatting là tuyệt vờiCác ví dụ mã mà bạn vừa thấy ở trên là đủ có thể đọc được. Tuy nhiên, một khi bạn bắt đầu sử dụng một số tham số và chuỗi dài hơn, mã của bạn sẽ nhanh chóng trở nên dễ đọc hơn nhiều. Mọi thứ đang bắt đầu trông hơi lộn xộn rồi: Thật không may, loại định dạng này không phải là tuyệt vời bởi vì nó là dài dòng và dẫn đến lỗi, như không hiển thị chính xác các bộ dữ liệu hoặc từ điển. May mắn thay, có những ngày tươi sáng phía trước. Tùy chọn #2: str.format () Cách hoàn thành công việc mới hơn này đã được giới thiệu trong Python 2.6. Bạn có thể kiểm tra hướng dẫn về các kỹ thuật định dạng chuỗi Python mới hơn để biết thêm thông tin.Cách sử dụng str.format () >>> 1Để chèn nhiều hơn một biến, bạn phải sử dụng một bộ biến số của các biến đó. Đây là cách bạn sẽ làm điều đó: >>> 2Để chèn nhiều hơn một biến, bạn phải sử dụng một bộ biến số của các biến đó. Đây là cách bạn sẽ làm điều đó: Tại sao %-Formatting là tuyệt vờiCác ví dụ mã mà bạn vừa thấy ở trên là đủ có thể đọc được. Tuy nhiên, một khi bạn bắt đầu sử dụng một số tham số và chuỗi dài hơn, mã của bạn sẽ nhanh chóng trở nên dễ đọc hơn nhiều. Mọi thứ đang bắt đầu trông hơi lộn xộn rồi: Thật không may, loại định dạng này không phải là tuyệt vời bởi vì nó là dài dòng và dẫn đến lỗi, như không hiển thị chính xác các bộ dữ liệu hoặc từ điển. May mắn thay, có những ngày tươi sáng phía trước. Tùy chọn #2: str.format () >>> 0Cách hoàn thành công việc mới hơn này đã được giới thiệu trong Python 2.6. Bạn có thể kiểm tra hướng dẫn về các kỹ thuật định dạng chuỗi Python mới hơn để biết thêm thông tin. >>> 1 0 2Cách hoàn thành công việc mới hơn này đã được giới thiệu trong Python 2.6. Bạn có thể kiểm tra hướng dẫn về các kỹ thuật định dạng chuỗi Python mới hơn để biết thêm thông tin. >>> 3 0Cách hoàn thành công việc mới hơn này đã được giới thiệu trong Python 2.6. Bạn có thể kiểm tra hướng dẫn về các kỹ thuật định dạng chuỗi Python mới hơn để biết thêm thông tin. Cách sử dụng str.format () >>> 4 0Cách hoàn thành công việc mới hơn này đã được giới thiệu trong Python 2.6. Bạn có thể kiểm tra hướng dẫn về các kỹ thuật định dạng chuỗi Python mới hơn để biết thêm thông tin.Cách sử dụng str.format () >>> 5 0>>> 6 0Cách hoàn thành công việc mới hơn này đã được giới thiệu trong Python 2.6. Bạn có thể kiểm tra hướng dẫn về các kỹ thuật định dạng chuỗi Python mới hơn để biết thêm thông tin. >>> 7 0>>> 8 0Cách hoàn thành công việc mới hơn này đã được giới thiệu trong Python 2.6. Bạn có thể kiểm tra hướng dẫn về các kỹ thuật định dạng chuỗi Python mới hơn để biết thêm thông tin.Cách sử dụng str.format () Bởi vì các chuỗi F được đánh giá trong thời gian chạy, bạn có thể đặt bất kỳ và tất cả các biểu thức python hợp lệ trong chúng. Điều này cho phép bạn làm một số điều tiện lợi.
Bạn cũng có tùy chọn gọi trực tiếp một phương thức: Bạn thậm chí có thể sử dụng các đối tượng được tạo từ các lớp có chuỗi F. Hãy tưởng tượng bạn đã có lớp học sau:Bạn có thể làm điều này: Các phương thức>>> 9>>> 0>>> 1 1 và 2 đối phó với cách các đối tượng được trình bày dưới dạng chuỗi, do đó, bạn sẽ cần đảm bảo rằng bạn bao gồm ít nhất một trong các phương thức đó trong định nghĩa lớp của bạn. Nếu bạn phải chọn một, hãy đi với 2 vì nó có thể được sử dụng thay cho 1.Chuỗi được trả về bởi >>> person = {'name': 'Eric', 'age': 74} >>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age']) 'Hello, Eric. You are 74.' 1 là biểu diễn chuỗi không chính thức của một đối tượng và có thể đọc được. Chuỗi được trả về bởi >>> person = {'name': 'Eric', 'age': 74} >>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age']) 'Hello, Eric. You are 74.' 2 là đại diện chính thức và nên không rõ ràng. Gọi >>> person = {'name': 'Eric', 'age': 74} >>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age']) 'Hello, Eric. You are 74.' 7 và >>> person = {'name': 'Eric', 'age': 74} >>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age']) 'Hello, Eric. You are 74.' 8 tốt hơn là sử dụng trực tiếp >>> person = {'name': 'Eric', 'age': 74} >>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age']) 'Hello, Eric. You are 74.' 1 và >>> person = {'name': 'Eric', 'age': 74} >>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age']) 'Hello, Eric. You are 74.' 2.Theo mặc định, các chuỗi F sẽ sử dụng 1, nhưng bạn có thể đảm bảo rằng họ sử dụng 2 nếu bạn bao gồm cờ chuyển đổi 3:Nếu bạn muốn đọc một số cuộc trò chuyện dẫn đến các chuỗi F hỗ trợ các biểu thức python đầy đủ, bạn có thể làm như vậy ở đây.Multiline F-String 6:Bạn có thể có chuỗi đa dòng: 7:>>> 2Nhưng hãy nhớ rằng bạn cần đặt một >>> 3 6 trước mỗi dòng của một chuỗi đa dòng. Mã sau đây đã giành được công việc:>>> 4>>> Nếu bạn không đặt một >>> "Hello, {1}. You are {0}.".format(age, name) 'Hello, Eric. You are 74.' 6 trước mỗi dòng riêng lẻ, thì bạn sẽ có các chuỗi thường xuyên, cũ, trong vườn và không sáng bóng, mới, Fancy F-String.>>> 6Nếu bạn muốn lan truyền các chuỗi trên nhiều dòng, bạn cũng có tùy chọn thoát khỏi sự trở lại vớiCác dây F F cung cấp một cách để nhúng các biểu thức bên trong các chữ viết, sử dụng cú pháp tối thiểu. Cần lưu ý rằng một chuỗi F thực sự là một biểu thức được đánh giá tại thời điểm chạy, không phải là một giá trị không đổi. Trong mã nguồn Python, một chuỗi F là một chuỗi theo nghĩa đen, có tiền tố với 6, chứa các biểu thức bên trong niềng răng. Các biểu thức được thay thế bằng các giá trị của chúng. (Nguồn)Trong thời gian chạy, biểu thức bên trong niềng răng xoăn được đánh giá trong phạm vi riêng của nó và sau đó đặt cùng với phần theo nghĩa đen của chuỗi F. Chuỗi kết quả sau đó được trả về. Đó là tất cả những gì nó cần. >>> 7Ở đây, một so sánh tốc độ: >>> 8Ở đây, một so sánh tốc độ: Như bạn có thể thấy, F-String xuất hiện trên đầu.Tuy nhiên, đó không phải là trường hợp luôn như vậy. Khi chúng được thực hiện lần đầu tiên, họ có một số vấn đề về tốc độ và cần được thực hiện nhanh hơn >>> "Hello, {}. You are {}.".format(name, age) 'Hello, Eric. You are 74.' 4. Một opcode >>> first_name = "Eric" >>> last_name = "Idle" >>> age = 74 >>> profession = "comedian" >>> affiliation = "Monty Python" >>> print(("Hello, {first_name} {last_name}. You are {age}. " + >>> "You are a {profession}. You were a member of {affiliation}.") \ >>> .format(first_name=first_name, last_name=last_name, age=age, \ >>> profession=profession, affiliation=affiliation)) 'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.' 2 đặc biệt đã được giới thiệu. >>> 9Ở đây, một so sánh tốc độ: >>> 0Ở đây, một so sánh tốc độ: >>> 1Ở đây, một so sánh tốc độ:Như bạn có thể thấy, F-String xuất hiện trên đầu. >>> 2Ở đây, một so sánh tốc độ: >>> 3Ở đây, một so sánh tốc độ:Như bạn có thể thấy, F-String xuất hiện trên đầu. Tuy nhiên, đó không phải là trường hợp luôn như vậy. Khi chúng được thực hiện lần đầu tiên, họ có một số vấn đề về tốc độ và cần được thực hiện nhanh hơn >>> "Hello, {}. You are {}.".format(name, age) 'Hello, Eric. You are 74.' 4. Một opcode >>> first_name = "Eric" >>> last_name = "Idle" >>> age = 74 >>> profession = "comedian" >>> affiliation = "Monty Python" >>> print(("Hello, {first_name} {last_name}. You are {age}. " + >>> "You are a {profession}. You were a member of {affiliation}.") \ >>> .format(first_name=first_name, last_name=last_name, age=age, \ >>> profession=profession, affiliation=affiliation)) 'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.' 2 đặc biệt đã được giới thiệu. Python F-Strings: Các chi tiết phiền phứcBây giờ bạn đã học được tất cả về lý do tại sao F-String lại tuyệt vời, tôi chắc chắn bạn muốn ra khỏi đó và bắt đầu sử dụng chúng. Dưới đây là một vài chi tiết cần ghi nhớ khi bạn mạo hiểm vào thế giới mới dũng cảm này. Tuy nhiên, bạn có thể nhận được nhiều niềng răng hơn để hiển thị nếu bạn sử dụng nhiều hơn ba niềng răng:
Bạn có thể làm việc xung quanh điều này bằng cách đánh giá biểu thức trước và sử dụng kết quả trong chuỗi F: |