#python-3.x
#python-3.x
Вопрос:
Я видел следующий пример соответствия кода.
for (i in 0 until stack.size) # bad
while (!stack.isEmpty) # good
С этой точки зрения, какой код является лучшим в моей ситуации.
В Byte-of-python функция format, как говорят, упрощает код, но мне интересно, является ли безрассудное использование более вредным.
START_TIME = time.time()
time.sleep(1)
END_TIME = time.time()
print("spend time : {time}".format((END_TIME - START_TIME) = 'time')
# Why is this a grammatical error?
print("spend time : " str(END_TIME - START_TIME ))
Ответ №1:
Метод str.format обеспечивает читаемость кода, особенно когда вам нужно вставить что-то в середине строк. Представьте, что вы хотите создать строку следующего содержания: «Погода сегодня {sun_status} с высоким значением {high_temp}, низким значением {low_temp} и {percip_chance}% вероятность дождя». Записать это с помощью конкатенации строк было бы очень некрасиво…
s1 = "The weather is " sun_status " today with a high of " str(high_temp) ", a low of " str(low_temp) ", and a " str(percip_chance) "% chance of rain."
Метод str.format очищает это и выполняет все приведение типов str для вас (если вам это нужно)
s1 = "The weather is {sun_status} today with a high of {high_temp}, a low of {low_temp}, and a {percip_chance}% chance of rain"
.format(sun_status=sun_status,
high_temp=high_temp,
low_temp=low_temp,
percip_chance=percip_chance)
В вашем коде также есть ошибка. когда вы вызываете метод str.format , ключевое слово может быть любым, что вы поместили в фигурные скобки {} и не заключено в строки. Это также должно быть первым.
print("spend time : {time}".format(time = (END_TIME - START_TIME)))
Ответ №2:
В вашем print
заявлении отсутствует скобка в конце, и это правильный синтаксис:
print("spend time : {time}".format(time = END_TIME - START_TIME))
Обратите внимание, что вы можете упростить это до:
print("spend time : {}".format(END_TIME - START_TIME))
Или использование f-строк:
print(f"spend time : {END_TIME - START_TIME}")
format()
Для удобства чтения обычно предпочтительнее использовать или f-строки вместо конкатенации строк. Это также позволяет вам комбинировать различные типы данных без необходимости сначала приводить их к строке.
Комментарии:
1. Короткая форма format() — это то, чего я никогда раньше не видел, но я обязательно буду использовать ее в будущем. Спасибо за информацию!