Я хотел бы уточнить предыдущий ответ myke.
В программировании функции являются только определениями набора задач, которые вы можете повторное использование . Однако пользовательская функция не вызывается автоматически. Команды, которые вы вводите внутри scrape_the_web()
, являются только командами, хранящимися в памяти, они никогда не выполняются .
вызывают метод непосредственно перед использованием print_list()
scrape_the_web()
print_list()
Вам нужно вызывать функцию, используя ее имя (например, scrape_the_web()
), чтобы код внутри делал что-либо вообще.
Также python
использует метод доступа к переменным, называемый Call by Sharing
. По сути это означает, что переданный в переменную не может быть изменен с помощью присваивания , если он не является глобальной переменной. Однако можно изменить , если вы измените свойства переменной. То есть, если вы используете встроенные методы для переменной (то есть append()
для list
).
Так что в этом случае, поскольку вы изменяете my_list
свойство , оно не обязательно должно находиться в глобальной области видимости. Однако, если вы попытаетесь использовать операции присваивания вместо append()
, например, так-
my_list += ["x"]
Вы должны будете объявить my_list
в качестве глобальной переменной для ее изменения.