Здравствуйте!
Я не понимаю одну вещь. Вот я объявляю функцию с тремя аргументами. Потом я эту функцию вызываю, но передаю ей только 2 из 3-х аргументов. Возникает ошибка "TypeError: func() missing 1 required positional argument: 'c'"
Это что значит? Это значит, что если функция принимает 3 аргумента, то я ОБЯЗАН при ее вызове передавать ей 3 аргумента и никак не меньше?
И еще вопрос. А что, если при объявлении функции я не буду присваивать ей никаких аргументов, а просто пропишу в ее теле использование трех переменных с глобальной областью видимости.
И перед вызовом этой функции я объявляю или меняю эти переменные, а потом вызываю функцию без передачи ей аргументов. Какой способ лучше, правильнее? Может, эти способы отличаются по скорости выполнения? Заранее спасибо за ответ!
Я не понимаю одну вещь. Вот я объявляю функцию с тремя аргументами. Потом я эту функцию вызываю, но передаю ей только 2 из 3-х аргументов. Возникает ошибка "TypeError: func() missing 1 required positional argument: 'c'"
Python:
def func(a, b, c):
print(a, b, c)
func(1, 2)
И еще вопрос. А что, если при объявлении функции я не буду присваивать ей никаких аргументов, а просто пропишу в ее теле использование трех переменных с глобальной областью видимости.
Python:
def func():
global a
global b
global c
print(a, b, c)
a = 1
b = 2
c = 3
func()
Последнее редактирование: