Պարամետրերի համադրում Python-ում
Միևնույն ֆունկցիային կարելի է միաժամանակ
փոխանցել և′ անվանված, և′ դիրքային պարամետրեր։
Դա արվում է * նշանի միջոցով,
որը ցույց է տալիս, որ դրանից աջ նշված պարամետրերը
պետք է համարվեն անվանված, եթե դրանց
լռելյայն արժեքները պետք չէ օգտագործել։
Եկեք ստեղծենք մի ֆունկցիա, որը կտպի
բոլոր պարամետրերը կոնսոլում։ data
փոփոխականը կնշանակի սովորական
դիրքային պարամետր։ Այնուհետև *
նշանից հետո սահմանվում են երկու փոփոխական՝
start և end լռելյայն արժեքներով։
Սակայն ֆունկցիան կանչելիս մենք այս
փոփոխականները դարձնում ենք անվանված։
def func(data, *, start=0, end=100):
print(data, start, end)
func(1, start=2, end=3)
Կոդի կատարման արդյունքը.
1 2 3
Եթե start փոփոխականի լռելյայն արժեքը
հեռացնենք և միաժամանակ այն չնշենք որպես
անվանված պարամետր, ապա կստացվի սխալ։
Դա տեղի է ունենում, քանի որ *
նշանն արդեն start-ը սահմանել է որպես անվանված
փոփոխական.
def func(data, *, start, end=100):
print(data, start, end)
func(1, 2, end=3) # կտպի սխալ
Ինչի՞ է հավասար կլինի հետևյալ կոդի կատարման արդյունքը.
def func(num1, num2, *, num3):
return (num1 + num2) * num3
print(func(2, 4, num3=3))
Ինչի՞ է հավասար կլինի հետևյալ կոդի կատարման արդյունքը.
def func(num1, *, num2, num3):
return (num1 - num2) / num3
print(func(12, 4, num3=5))
Ինչի՞ է հավասար կլինի հետևյալ կոդի կատարման արդյունքը.
def func(*, name='user1', age='18'):
return 'Username is ' + name + ' age is ' + age
print(func(name='john'))