25
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi đang cố gắng duy trì/cập nhật/viết lại/sửa một chút python trông hơi giống sau:
variable = """My name is %s and it has been %s since I was born. My parents decided to call me %s because they thought %s was a nice name. %s is the same as %s.""" % (name, name, name, name, name, name)Có rất ít đoạn trích trông giống như thế này trên toàn bộ kịch bản, và tôi đã tự hỏi liệu có cách đơn giản hơn (pythonic hơn?) Để viết mã này. Tôi đã tìm thấy một trường hợp này thay thế cùng một biến khoảng 30 lần và nó chỉ cảm thấy xấu xí.
Là cách duy nhất xung quanh sự xấu xí (theo ý kiến của tôi) để chia nó thành rất nhiều bit nhỏ?
variable = """My name is %s and it has been %s since I was born.""" % (name, name) variable += """My parents decided to call me %s because they thought %s was a nice name.""" % (name, name) variable += """%s is the same as %s.""" % (name, name)
mdeous
16,9K7 Huy hiệu vàng55 Huy hiệu bạc60 Huy hiệu Đồng7 gold badges55 silver badges60 bronze badges
Hỏi ngày 8 tháng 8 năm 2011 lúc 13:36Aug 8, 2011 at 13:36
Sử dụng một từ điển thay thế.
var = '%(foo)s %(foo)s %(foo)s' % { 'foo': 'look_at_me_three_times' }Hoặc variable = """My name is %s and it has been %s since I was born.""" % (name, name) variable += """My parents decided to call me %s because they thought %s was a nice name.""" % (name, name) variable += """%s is the same as %s.""" % (name, name) 5 với số lượng rõ ràng.
var = '{0} {0} {0}'.format('look_at_meeee')Vâng, hoặc variable = """My name is %s and it has been %s since I was born.""" % (name, name) variable += """My parents decided to call me %s because they thought %s was a nice name.""" % (name, name) variable += """%s is the same as %s.""" % (name, name) 5 với các tham số được đặt tên.
var = '{foo} {foo} {foo}'.format(foo = 'python you so crazy')Đã trả lời ngày 8 tháng 8 năm 2011 lúc 13:39Aug 8, 2011 at 13:39
Cat Plus Plus Plus PlusCat Plus Plus
122K26 Huy hiệu vàng196 Huy hiệu bạc222 Huy hiệu đồng26 gold badges196 silver badges222 bronze badges
1
Sử dụng chuỗi định dạng:
>>> variable = """My name is {name} and it has been {name} since...""" >>> n = "alex" >>> >>> variable.format(name=n) 'My name is alex and it has been alex since...'Văn bản trong {} có thể là một mô tả hoặc giá trị chỉ mục.
Một mẹo lạ mắt khác là sử dụng từ điển để xác định nhiều biến kết hợp với toán tử **.
>>> values = {"name": "alex", "color": "red"} >>> """My name is {name} and my favorite color is {color}""".format(**values) 'My name is alex and my favorite color is red' >>>Đã trả lời ngày 8 tháng 8 năm 2011 lúc 13:47Aug 8, 2011 at 13:47
Monkutmonkutmonkut
40.4K23 Huy hiệu vàng120 Huy hiệu bạc148 Huy hiệu đồng23 gold badges120 silver badges148 bronze badges
1
Python 3.6 đã giới thiệu một cách đơn giản hơn cho các chuỗi định dạng. Bạn có thể nhận được thông tin chi tiết về nó trong PEP 498
>>> name = "Sam" >>> age = 30 >>> f"Hello, {name}. You are {age}." 'Hello, Sam. You are 30.'Nó cũng hỗ trợ đánh giá thời gian chạy
>>>f"{2 * 30}" '60'Nó cũng hỗ trợ hoạt động từ điển
>>> comedian = {'name': 'Tom', 'age': 30} >>> f"The comedian is {comedian['name']}, aged {comedian['age']}." The comedian is Tom, aged 30.Đã trả lời ngày 22 tháng 6 năm 2019 lúc 5:22Jun 22, 2019 at 5:22
Arghya Sahaarghya SahaArghya Saha
5.3314 Huy hiệu vàng24 Huy hiệu bạc43 Huy hiệu đồng4 gold badges24 silver badges43 bronze badges
Sử dụng variable = """My name is %s and it has been %s since I was born.""" % (name, name) variable += """My parents decided to call me %s because they thought %s was a nice name.""" % (name, name) variable += """%s is the same as %s.""" % (name, name) 7 mới:
variable = """My name is %s and it has been %s since I was born.""" % (name, name) variable += """My parents decided to call me %s because they thought %s was a nice name.""" % (name, name) variable += """%s is the same as %s.""" % (name, name) 0Đã trả lời ngày 8 tháng 8 năm 2011 lúc 13:39Aug 8, 2011 at 13:39
Cat Plus Plus Plus PlusZaur Nasibov
122K26 Huy hiệu vàng196 Huy hiệu bạc222 Huy hiệu đồng11 gold badges51 silver badges81 bronze badges
variable = """My name is %s and it has been %s since I was born.""" % (name, name) variable += """My parents decided to call me %s because they thought %s was a nice name.""" % (name, name) variable += """%s is the same as %s.""" % (name, name) 1
Đã trả lời ngày 8 tháng 8 năm 2011 lúc 13:39Aug 8, 2011 at 13:39
Cat Plus Plus Plus PlusMikhail Korobov
122K26 Huy hiệu vàng196 Huy hiệu bạc222 Huy hiệu đồng8 gold badges72 silver badges64 bronze badges
Sử dụng chuỗi định dạng:
Văn bản trong {} có thể là một mô tả hoặc giá trị chỉ mục.Aug 8, 2011 at 13:38
J0HNJ0HNJ0HN
Một mẹo lạ mắt khác là sử dụng từ điển để xác định nhiều biến kết hợp với toán tử **.5 gold badges50 silver badges84 bronze badges
variable = """My name is %s and it has been %s since I was born.""" % (name, name) variable += """My parents decided to call me %s because they thought %s was a nice name.""" % (name, name) variable += """%s is the same as %s.""" % (name, name) 2
Đã trả lời ngày 8 tháng 8 năm 2011 lúc 13:39Aug 8, 2011 at 13:39
Cat Plus Plus Plus Plusxubuntix
122K26 Huy hiệu vàng196 Huy hiệu bạc222 Huy hiệu đồng18 silver badges19 bronze badges
Văn bản trong {} có thể là một mô tả hoặc giá trị chỉ mục.Aug 8, 2011 at 13:38
Một mẹo lạ mắt khác là sử dụng từ điển để xác định nhiều biến kết hợp với toán tử **.Gryphius
Đã trả lời ngày 8 tháng 8 năm 2011 lúc 13:476 gold badges47 silver badges53 bronze badges
Monkutmonkut
variable = """My name is %s and it has been %s since I was born.""" % (name, name) variable += """My parents decided to call me %s because they thought %s was a nice name.""" % (name, name) variable += """%s is the same as %s.""" % (name, name) 340.4K23 Huy hiệu vàng120 Huy hiệu bạc148 Huy hiệu đồng
variable = """My name is %s and it has been %s since I was born.""" % (name, name) variable += """My parents decided to call me %s because they thought %s was a nice name.""" % (name, name) variable += """%s is the same as %s.""" % (name, name) 4Python 3.6 đã giới thiệu một cách đơn giản hơn cho các chuỗi định dạng. Bạn có thể nhận được thông tin chi tiết về nó trong PEP 498Feb 28, 2020 at 13:35