Hướng dẫn how do you escape %s in python? - làm thế nào để thoát %s trong python?

Tôi đang cố gắng tạo một chuỗi bao gồm "%s" không có định dạng

Ví dụ, tôi muốn điều này:

#I want to make mystring = "x %s"

first_value = "x"
mystring = "%s %s" % first_value

Vì vậy, tôi muốn định dạng %s đầu tiên, nhưng để lại %s thứ hai trong chuỗi .. Tất nhiên mã trên cung cấp cho tôi một "kiểu mẫu: không đủ đối số cho chuỗi định dạng"

Có cách nào để đạt được điều này trong một dòng không?

Cảm ơn

Chỉnh sửa: Tôi biết tôi có thể làm I know I can do

mystring = "%s %s" % (first_value, "%s")

Nhưng loại này trông xấu xí .. có cách nào tốt hơn không?

Đã hỏi ngày 15 tháng 10 năm 2014 lúc 23:37Oct 15, 2014 at 23:37

Hướng dẫn how do you escape %s in python? - làm thế nào để thoát %s trong python?

2

Bạn có thể thoát khỏi ký tự % trong chuỗi định dạng bằng cách nhân đôi nó:

>>> "%s %%s" % "x"
"x %s"

Đã trả lời ngày 15 tháng 10 năm 2014 lúc 23:41Oct 15, 2014 at 23:41

BlckknghtblckknghtBlckknght

97K11 Huy hiệu vàng114 Huy hiệu bạc164 Huy hiệu đồng11 gold badges114 silver badges164 bronze badges

Bạn có thể gán chuỗi của mình như thế này:

mystring = "{} %s".format(first_value)

Nếu bạn đang làm việc với Python 2.6 hoặc sớm hơn, bạn sẽ cần thêm một chỉ mục số nguyên trong niềng răng xoăn:

mystring = "{0} %s".format(first_value)

Một điều thú vị về phương pháp này là first_value có thể thay đổi các loại sau này và bạn không cần phải điều chỉnh định nghĩa của mình về ____10 vì

mystring = "%s %s" % (first_value, "%s")
1 có thể lấy các loại khác nhau và bạn không cần loại của ____ 9 để phù hợp với chuỗi định dạng.

Tôi cũng nghĩ rằng nó trông sạch hơn so với việc thoát khỏi các dấu hiệu phần trăm, nhưng tôi biết điều đó rất chủ quan.

Đã trả lời ngày 15 tháng 10 năm 2014 lúc 23:40Oct 15, 2014 at 23:40

Hướng dẫn how do you escape %s in python? - làm thế nào để thoát %s trong python?

Skrrgwasmeskrrgwasmeskrrgwasme

9.15311 huy hiệu vàng53 Huy hiệu bạc81 Huy hiệu đồng11 gold badges53 silver badges81 bronze badges

5

Thay vào đó hãy thử kết nối:

mystring = ("%s " % first_value) + "%s"

đầu ra

mystring = "%s %s" % (first_value, "%s")
3

Đã trả lời ngày 15 tháng 10 năm 2014 lúc 23:39Oct 15, 2014 at 23:39

Davedavedave

12.2k10 Huy hiệu vàng42 Huy hiệu bạc58 Huy hiệu Đồng10 gold badges42 silver badges58 bronze badges

Phản ứng

mystring = "%s %s" % (first_value, "%s")
4 với % để thoát khỏi nó:

mystring = "%s %%s" % first_value
'x %s'

Đã trả lời ngày 15 tháng 10 năm 2014 lúc 23:41Oct 15, 2014 at 23:41

Blckknghtblckknghtgarnertb

97K11 Huy hiệu vàng114 Huy hiệu bạc164 Huy hiệu đồng34 silver badges38 bronze badges

Bạn có thể gán chuỗi của mình như thế này:

 print "%%s%s" % 'hello world'

mystring = "{} %s".format(first_value)

Nếu bạn đang làm việc với Python 2.6 hoặc sớm hơn, bạn sẽ cần thêm một chỉ mục số nguyên trong niềng răng xoăn:Oct 15, 2014 at 23:43

Một điều thú vị về phương pháp này là first_value có thể thay đổi các loại sau này và bạn không cần phải điều chỉnh định nghĩa của mình về ____10 vì

mystring = "%s %s" % (first_value, "%s")
1 có thể lấy các loại khác nhau và bạn không cần loại của ____ 9 để phù hợp với chuỗi định dạng.lstyls

Tôi cũng nghĩ rằng nó trông sạch hơn so với việc thoát khỏi các dấu hiệu phần trăm, nhưng tôi biết điều đó rất chủ quan.2 silver badges13 bronze badges


Ký tự thoát

Để chèn các ký tự là bất hợp pháp trong một chuỗi, hãy sử dụng một ký tự thoát.

Một nhân vật thoát là một dấu gạch chéo ngược

mystring = "%s %s" % (first_value, "%s")
6 theo sau là nhân vật bạn muốn chèn.

Một ví dụ về một ký tự bất hợp pháp là một trích dẫn kép bên trong một chuỗi được bao quanh bởi các trích dẫn kép:

Thí dụ

Bạn sẽ gặp lỗi nếu bạn sử dụng dấu ngoặc kép bên trong một chuỗi được bao quanh bởi các trích dẫn kép:

txt = "Chúng tôi là người được gọi là" người Viking "từ phía bắc."

Hãy tự mình thử »

Để khắc phục sự cố này, hãy sử dụng ký tự thoát

mystring = "%s %s" % (first_value, "%s")
7:

Thí dụ

Bạn sẽ gặp lỗi nếu bạn sử dụng dấu ngoặc kép bên trong một chuỗi được bao quanh bởi các trích dẫn kép:

txt = "Chúng tôi là người được gọi là" người Viking "từ phía bắc."

Hãy tự mình thử »

Để khắc phục sự cố này, hãy sử dụng ký tự thoát

mystring = "%s %s" % (first_value, "%s")
7:

Nhân vật thoát cho phép bạn sử dụng trích dẫn kép khi bạn thường không được phép: TXT = "Chúng tôi là người được gọi là \" Vikings \ "từ phía bắc."Các nhân vật thoát khác được sử dụng trong Python:
Mã sốKết quảThử nó
\ 'Trích dẫn duy nhấtThử nó
\ 'Trích dẫn duy nhấtThử nó
\ 'Trích dẫn duy nhấtThử nó
\ 'Trích dẫn duy nhấtThử nó
\ 'Trích dẫn duy nhấtThử nó
\ 'Trích dẫn duy nhất
Thử nó "\\Thử nó
\ 'Trích dẫn duy nhấtThử nó



%S làm gì trong Python?

%s đặc biệt được sử dụng để thực hiện kết nối các chuỗi với nhau.Nó cho phép chúng ta định dạng một giá trị bên trong một chuỗi.Nó được sử dụng để kết hợp một chuỗi khác trong một chuỗi.Nó tự động cung cấp chuyển đổi loại từ giá trị sang chuỗi.perform concatenation of strings together. It allows us to format a value inside a string. It is used to incorporate another string within a string. It automatically provides type conversion from value to string.

%D %s %f trong python là gì?

Câu trả lời.Trong Python, các định dạng chuỗi về cơ bản là các trình giữ chỗ cho phép chúng tôi chuyển các giá trị khác nhau vào một số chuỗi được định dạng.%D định dạng được sử dụng để nhập các giá trị thập phân hoặc toàn bộ số.Nếu bạn cung cấp giá trị nổi, nó sẽ chuyển đổi nó thành một số toàn bộ, bằng cách cắt các giá trị sau điểm thập phân.The %d formatter is used to input decimal values, or whole numbers. If you provide a float value, it will convert it to a whole number, by truncating the values after the decimal point.

Sự khác biệt giữa %d và %s trong Python là gì?

Trong Python, cả %s và %D đều là người 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 will return the string and %d will return number, the values are passed using % operator.