Функция аргументтері. Функция кез келген сандағы аргументтерді қабылдауы мүмкін немесе мүлдем қабылдамауы да мүмкін. Сондай-ақ, аргументтер саны кез келген, позициялық және атаулы аргументтері бар функциялар, міндетті және міндетті емес функциялар кең таралған.
>>> def func(a, b, c=2): # c – мінддетті емес аргумент
... return a + b + c
...
>>> func(1, 2) # a = 1, b = 2, c = 2 (үнсіз жағдайда)
5
>>> func(1, 2, 3) # a = 1, b = 2, c = 3
6
>>> func(a=1, b=3) # a = 1, b = 3, c = 2
6
>>> func(a=3, c=6) # a = 3, c = 6, b анықталмаған
Traceback (most recent call last):
File "", line 1, in
func(a=3, c=6)
TypeError: func() takes at least 2 arguments (2 given)
Функция позициялық аргументтердің айнымалы санын қабылдауы мүмкін, ондай жағдайда оның атауының алдына * қойылады:
>>> def func(*args):
... return args
...
>>> func(1, 2, 3, 'abc')
(1, 2, 3, 'abc')
>>> func()
()
>>> func(1)
(1,)
Мысалдан көргендей, функцияның барлық берілген аргументтерінің ішінен args – бұл кортеж, сонымен қатар айнымалының өзімен де кортежбен сияқты жұмыс істеуге болады.
Функция атаулы аргументтердің кез келген санын қабылдай алады, онда атудың алдына ** белгісі қойылады:
>>> def func(**kwargs):
... return kwargs
...
>>> func(a=1, b=2, c=3)
{'a': 1, 'c': 3, 'b': 2}
>>> func()
{}
>>> func(a='python')
{'a': 'python'}
Kwargs айнымалысында барлық әрекеттерді атқаруға болатын сөздік сақталады.
Достарыңызбен бөлісу: |