Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 13, 2021 19:32:07

mister_dobro1
Зарегистрирован: 2021-10-13
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Новичек не может врубить фары)))

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

Прикреплённый файлы:
attachment Снимок экрана от 2021-10-14 00-27-59.png (169,2 KБ)

Офлайн

#2 Окт. 13, 2021 22:03:13

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Новичек не может врубить фары)))

mister_dobro1
ВСЕ СКРИНЫ ПРИКЛАДЫВАЮ
Прикладывайте текст программы а не скрины
mister_dobro1
почему автор в качестве параметра функции выбрал именно это название(names)
Потому что так проще запомнить что это список имен.
mister_dobro1
Она что может их не получить???
Она должна чтото получить, но это не обязательно список имен может быть.
mister_dobro1
1- зачем он ввел этот параметр(names).
Вопрос в том зачем он сделал функцию. ПОтому что финкция проще устроена, знает про то что дали. Ее внутренние переменные никому не видны. Те уменьшается количество связей.



Офлайн

#3 Окт. 13, 2021 23:03:15

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

Новичек не может врубить фары)))

mister_dobro1
Для этого купил книгу,автора Эрика Мэтиза “Изучаем Пайтон”.
Ты точно код автора книги скопировал правильно? Функция должна принимать параметр names, а не параметр name, как у тебя на скрине.

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

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

Вот эти моменты устрани, а потом спрашивай свои вопросы друг за другом, а не все сразу вперемешку.



Отредактировано py.user.next (Окт. 13, 2021 23:09:56)

Офлайн

#4 Окт. 14, 2021 00:48:24

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1353
Репутация: +  118  -
Профиль   Отправить e-mail  

Новичек не может врубить фары)))

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

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

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

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

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

Названия переменных,функций,аргументов функций,классов - это названия пространств в памяти компьютера,которые должны быть понятны вам и другим

Офлайн

#5 Окт. 14, 2021 09:18:37

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Новичек не может врубить фары)))

возможно какие-то местные правила не знаю



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#6 Окт. 14, 2021 09:43:16

mister_dobro1
Зарегистрирован: 2021-10-13
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Новичек не может врубить фары)))

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

Переписанный мною код тоже выполняется.Мой код:Your text to link here…
Разве нельзя было сразу так написать как у меня,зачем путать читателя???

Отредактировано mister_dobro1 (Окт. 14, 2021 10:00:45)

Офлайн

#7 Окт. 14, 2021 09:45:34

mister_dobro1
Зарегистрирован: 2021-10-13
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Новичек не может врубить фары)))

py.user.next
Спасибо за ответ,с советами

Офлайн

#8 Окт. 14, 2021 09:52:33

mister_dobro1
Зарегистрирован: 2021-10-13
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Новичек не может врубить фары)))

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

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

Разве нельзя было сразу так написаь????

Отредактировано mister_dobro1 (Окт. 14, 2021 09:55:53)

Офлайн

#9 Окт. 14, 2021 10:32:06

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

Новичек не может врубить фары)))

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, и дальше его уже можно использовать внутри функции, не переписывая её, независимо от того, под каким именем этот список хранится снаружи функции.



Отредактировано py.user.next (Окт. 14, 2021 10:33:07)

Офлайн

#10 Окт. 14, 2021 10:45:13

mister_dobro1
Зарегистрирован: 2021-10-13
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Новичек не может врубить фары)))

py.user.next
Спасибо за ответ,я правильно понимаю,
1) сначало вызывается функция с аргументом(с вызовам функции в параметр сразу заносится аргумент???? )
2) выполняется тело функции
Если это все так,то у меня все вопросы отпадают,ВСЕМ СПАСИБО ЗА ПОМОЩЬ.
КТО ПОМОГ МНЕ,ВЫ НЕРЕАЛЬНО КРУТЫЕ И ОТЗЫВЧИВЫЕ.ВСЕМ ДОБРА!!!!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version