Найти - Пользователи
Полная версия: Новичек не может врубить фары)))
Начало » Python для новичков » Новичек не может врубить фары)))
1 2
mister_dobro1
Всем привет,начал изучать Пайтон.Для этого купил книгу,автора Эрика Мэтиза “Изучаем Пайтон”.Вроде все понимаю,очень нравится писать код,иногда даже бывает ощущение что мозг как будто шевелится от полученной информации))))))Я чет немного ушел от темы,простите меня)))Так вот в главе про функции,мне попался интересный отрывак кода,(ВСЕ СКРИНЫ ПРИКЛАДЫВАЮ)Пожалуйста объясните мне,почему автор в качестве параметра функции выбрал именно это название(names)????И ещё пожалуйста объясните это,(привожу слова автора из книги “функция greet_users() рассчитывает получить список имен,который сохраняется в параметре names” зачем он нужен???я сразу указал список в качестве параметра) что значит рассчитывает?Она что может их не получить???Ещё что меня смутило,почему автор указал список после тела функции,не могу понять как цикл может его перебирать (список) если он ему не известен,Я переписал код этой программы по своему,и у меня он тоже работает как и код автора.Только я во время определенния функции указал в качестве параметра имя списка, соответственно и в цикле тоже указал имя списка ,и список я написал до функции.Хочу подытожить свой вопрос, 1- зачем он ввел этот параметр(names). 2-как у автора список оказался в параметрах функции(names)ВЕСЬ КОД ПРИЛОЖУ В СНИМКАХ.ВСЕМ ЗАРАНЕЕ СПАСИБО ЗА ОТВЕТ,я первый раз в жизни пишу что-то на форуме,возможно какие-то местные правила не знаю,если что подскажите пожалуйста,в след.раз исправлюсь)))) Оказывается можно только один снимок приложить
doza_and
mister_dobro1
ВСЕ СКРИНЫ ПРИКЛАДЫВАЮ
Прикладывайте текст программы а не скрины
mister_dobro1
почему автор в качестве параметра функции выбрал именно это название(names)
Потому что так проще запомнить что это список имен.
mister_dobro1
Она что может их не получить???
Она должна чтото получить, но это не обязательно список имен может быть.
mister_dobro1
1- зачем он ввел этот параметр(names).
Вопрос в том зачем он сделал функцию. ПОтому что финкция проще устроена, знает про то что дали. Ее внутренние переменные никому не видны. Те уменьшается количество связей.
py.user.next
mister_dobro1
Для этого купил книгу,автора Эрика Мэтиза “Изучаем Пайтон”.
Ты точно код автора книги скопировал правильно? Функция должна принимать параметр names, а не параметр name, как у тебя на скрине.

mister_dobro1
Оказывается можно только один снимок приложить
Не, можно приложить один файл. А чтобы несколько снимков сделать одним файлом, их надо упаковать в архив tar.gz , например, и присоединить его. Но снимки передавать не принято, потому что со снимков нельзя код скопировать и запустить у себя и проверить его таким образом быстро, особо не вчитываясь. Так что либо передавай текст через форум в тегах code, либо выкладывай код на GitHub и передавай ссылку на код, либо выкладывай код на pastebin.com и передавай ссылку на код. Также можешь использовать ideone.com ; там и ссылку на код можно передать, и коды можно запускать и видеть сразу результаты без заморочек.

mister_dobro1
я первый раз в жизни пишу что-то на форуме
Ок. Ты не должен писать текст сплошняком. Очень трудно читать его и неприятно от этого становится. Так что разделяй текст на части, которые удобно читать как бы по кусочкам. Ты в книгах можешь найти пример этого, когда там встречаются такие типа пустые строки между разными абзацами. Вот эти пустые строки важны для читателя, так как он может остановиться на такой строке и отдохнуть, подумать над прочитанным абзацем и дальше продолжить чтение.

Вот эти моменты устрани, а потом спрашивай свои вопросы друг за другом, а не все сразу вперемешку.
xam1816
mister_dobro1
Пожалуйста объясните мне,почему автор в качестве параметра функции выбрал именно это название(names)????
Это можно сравнить с тем,что при переезде, когда вы складываете вещи в коробку,то подписываете ее например “книги”.

Другой человек,который вам помогает,видит эту надпись и уже понимает,что в коробку нужно класть книги,а не посуду.

А вообще вы можете подписать ее не “книги”,а “abcd” и сами для себя будете знать, что там будут книги,Но когда коробок будет много,легко забыть что в какой находится,потому что подписаны они от балды,а другому человеку вообще не разобраться, что куда класть.

Коробке же вообще все равно,как вы ее подпишете,она все равно будет коробкой.

Поэтому любое название пространства вы должны подписывать так,чтобы самому понимать что оно подразумевает,и другой человек тоже мог легко понять.

Названия переменных,функций,аргументов функций,классов - это названия пространств в памяти компьютера,которые должны быть понятны вам и другим
AD0DE412
возможно какие-то местные правила не знаю
mister_dobro1
doza_and
Спасибо за ответ,видимо я некорректно сформировал свой вопрос,а именно он звучит так.Как список попал в параметр функции????В коде видно что цикл его перебирает
Привожу код автора книги:Your text to link here…

Переписанный мною код тоже выполняется.Мой код:Your text to link here…
Разве нельзя было сразу так написать как у меня,зачем путать читателя???
mister_dobro1
py.user.next
Спасибо за ответ,с советами
mister_dobro1
xam1816
Спасибо за развернутый ответ,я понял.Единственное что я никак понять не могу,это как список переместился в параметры функции,в коде видно что цикл перебирает параметр функции(names).Код автора:Your text to link here…

Я переписал код по своему и он тоже работает Your text to link here…

Разве нельзя было сразу так написаь????
py.user.next
mister_dobro1
Разве нельзя было сразу так написаь?
Вот пример, где подаются в эту функцию разные списки с именами
  
>>> def greet_users(names):
...     """Вывод простого приветствия для каждого пользователя в списке."""
...     for name in names:
...         msg = f"Hello, {name.title()}!"
...         print(msg)
... 
>>> usernames = ['hannah', 'ty', 'margot']
>>> dognames = ['tom', 'jerry', 'buffy']
>>> catnames = ['fluffy', 'lisa', 'sindy']
>>> 
>>> greet_users(usernames)
Hello, Hannah!
Hello, Ty!
Hello, Margot!
>>> greet_users(dognames)
Hello, Tom!
Hello, Jerry!
Hello, Buffy!
>>> greet_users(catnames)
Hello, Fluffy!
Hello, Lisa!
Hello, Sindy!
>>>
Каждый список при передаче в функцию становится в ней списком с именем names, и дальше его уже можно использовать внутри функции, не переписывая её, независимо от того, под каким именем этот список хранится снаружи функции.
mister_dobro1
py.user.next
Спасибо за ответ,я правильно понимаю,
1) сначало вызывается функция с аргументом(с вызовам функции в параметр сразу заносится аргумент???? )
2) выполняется тело функции
Если это все так,то у меня все вопросы отпадают,ВСЕМ СПАСИБО ЗА ПОМОЩЬ.
КТО ПОМОГ МНЕ,ВЫ НЕРЕАЛЬНО КРУТЫЕ И ОТЗЫВЧИВЫЕ.ВСЕМ ДОБРА!!!!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB