Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 7, 2016 00:41:49

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9992
Репутация: +  857  -
Профиль   Отправить e-mail  

Количество строк - N . Надо, чтобы стало количество файлов- N

marvellik
но тогда вопрос а если у меня таких вызовов функции во всем коде штук 50 будет то чтоб изменить расширение мне нужно будет по всему коду бегать менять?
Вот смотри, что имелось в виду:
  
>>> def record(name, text):
...     print('with', name)
...     print('save', text)
... 
>>> def former1(name, ext):
...     return name + '.' + ext
... 
>>> def former2(name, num, ext):
...     return name + str(num + 1) + '.' + ext
... 
>>> def former3(name, num, ext):
...     return name + str(num * 10) + '.' + ext
... 
>>> record(former1('file', 'txt'), 'text')
with file.txt
save text
>>> record(former2('file', 1, 'txt'), 'text')
with file2.txt
save text
>>> record(former3('file', 1, 'txt'), 'text')
with file10.txt
save text
>>>
Видишь, что record не зависит от имени никак, имя в неё уже подаётся готовое. А вот имя можно формировать любым способом, для record имя - это просто строка какая-то.

Если же такой код часто используется, как ты говоришь, 50 раз, то делается всё точно так же, но уже пишется функция обёртка, которая просто укорачивает запись, но она всё равно использует всё то же самое.
  
>>> def record(name, text):
...     print('with', name)
...     print('save', text)
... 
>>> def former4(name, num, ext):
...     return '{}{}.{}'.format(name, num, ext)
... 
>>> def record_file(n, text):
...     record(former4('file', n, 'txt'), text)
... 
>>> record_file(1, 'text1')
with file1.txt
save text1
>>> record_file(2, 'text2')
with file2.txt
save text2
>>>



Отредактировано py.user.next (Сен. 7, 2016 00:51:58)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version