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
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
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.lstylsTô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:
Mã số | Kết quả | Thử nó |
\ ' | Trích dẫn duy nhất | Thử nó |
\ ' | Trích dẫn duy nhất | Thử nó |
\ ' | Trích dẫn duy nhất | Thử nó |
\ ' | Trích dẫn duy nhất | Thử nó |
\ ' | Trích dẫn duy nhất | Thử nó |
\ ' | Trích dẫn duy nhất | |
Thử nó " | \\ | Thử nó |
\ ' | Trích dẫn duy nhất | Thử nó |