Форум сайта python.su
![[RSS Feed] [RSS Feed]](/static/djangobb_forum/img/feed-icon-small.png) 
			 
							 0
  0   
								
								print('{}-{}-{}'.format(*[1, 2, 3]))
print('{one}-{two}-{three}'.format(**{'two': 2, 'one': 1, 'three': 3}))
Офлайн
 
							 44
  44   
								
								https://tproger.ru/translations/asterisks-in-python-what-they-are-and-how-to-use-them/
 
  и вставьте  ссылку на его url
  и вставьте  ссылку на его url Офлайн
 
							 0
  0   
								
								Большое спасибо!
Офлайн
 
							 
							
						 186
  186   
								
								> print('{}-{}-{}'.format(*))
Люди! Не пользуйтесь форматом!
>>> print('%i-%i-%i'%(1, 2, 3)) 1-2-3
Офлайн
 
							 
							
						 294
  294   
								
								Rodegastобоснуй
Люди! Не пользуйтесь форматом!
 
					
						
						[code python][/code]
Офлайн
 
							 
							
						 186
  186   
								
								“Читаемость имеет значение”
Офлайн
 
							 
							
						 294
  294   
								
								Rodegastну ХЗ, ИМХО особой разницы нет. С точки зрения читаемости f-строки более читабельны чем format или %-форматирование. Но им(f-строкам) нельзя скормить списко/словарь “как есть”.
“Читаемость имеет значение”
[code python][/code]
Отредактировано PEHDOM (Март 30, 2021 15:05:45)
Офлайн
 
							 
							
						 186
  186   
								
								>  особой разницы нет
Разница большая, особенно когда пытаются конкатенировать строки при помощи этого формата.
>  С точки зрения читаемости f-строки более читабельны
А вот для любителей f-строк в аду приготовлено специальное место.
Офлайн
 
							 857
  857   
								
								RodegastРазнотипные аргументы может использовать полиморфно
Разница большая, особенно когда пытаются конкатенировать строки при помощи этого формата.
>>> fmt = '{} {}' >>> >>> [fmt.format(*i) for i in ((1, 2), ('a', 'b'), (1+2j, None))] ['1 2', 'a b', '(1+2j) None'] >>> >>> >>> fmt = '{:10}' >>> >>> list(map(fmt.format, (1, 'a', 1+2j))) [' 1', 'a ', ' (1+2j)'] >>>
>>> fmt = 'User: {user}\nAddress: {address}\nPhone: {phone}' >>> >>> print('\n\n'.join(fmt.format(user=u, address=a, phone=p) ... for u, a, p in (('John', 'Street 123', 123), ... ('Mary', 'Street 456', 456), ... ('Bob', 'Street 789', '555-55-55'),))) User: John Address: Street 123 Phone: 123 User: Mary Address: Street 456 Phone: 456 User: Bob Address: Street 789 Phone: 555-55-55 >>>
Отредактировано py.user.next (Март 30, 2021 21:00:50)
Офлайн
 
							 
							
						 186
  186   
								
								> Также именованные аргументы играют тоже большую роль для ясности кода
Кто тебе запрещает использовать имена в месте с %?
> Часто бывает формат многострочный, а аргументов с десяток. Сообщение бота какое-нибудь с кучей подстановок.
Вот когда будет достаточно сложное форматирование, тогда и пользуйся форматом. Но в других ситуациях он не уместен. За такое прямо убить хочется…
"aaaaa {}".format("bbb")
Офлайн
![[RSS Feed] [RSS Feed]](/static/djangobb_forum/img/feed-icon-small.png)