ਪਾਈਥਨ ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਾ ਵਿੱਚ ਇੱਕ ਡਿਫੌਲਟ ਆਰਗੂਮੈਂਟ ਸੈਟ ਕਰਨ ਨਾਲ ਡਿਫੌਲਟ ਮੁੱਲ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਜੇਕਰ ਆਰਗੂਮੈਂਟ ਨੂੰ ਇੱਕ ਫੰਕਸ਼ਨ ਕਾਲ ਦੌਰਾਨ ਛੱਡਿਆ ਜਾਂਦਾ ਹੈ।
ਹੇਠਾਂ ਦਿੱਤੇ ਵੇਰਵੇ ਹੇਠਾਂ ਦਿੱਤੇ ਗਏ ਹਨ.
- ਡਿਫੌਲਟ ਆਰਗੂਮੈਂਟਸ ਸੈੱਟ ਕਰਨਾ
- ਡਿਫੌਲਟ ਆਰਗੂਮੈਂਟਸ ਦੀ ਸਥਿਤੀ ‘ਤੇ ਪਾਬੰਦੀਆਂ
- ਨੋਟ ਕਰੋ ਕਿ ਜਦੋਂ ਇੱਕ ਸੂਚੀ ਜਾਂ ਸ਼ਬਦਕੋਸ਼ ਨੂੰ ਡਿਫੌਲਟ ਮੁੱਲ ਵਜੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ
ਡਿਫੌਲਟ ਆਰਗੂਮੈਂਟਸ ਸੈੱਟ ਕਰਨਾ
ਜੇਕਰ ਆਰਗੂਮੈਂਟ ਨਾਮ = ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਾ ਵਿੱਚ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਮੁੱਲ ਹੈ, ਤਾਂ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਮੁੱਲ ਵਰਤਿਆ ਜਾਵੇਗਾ ਜਦੋਂ ਸੰਬੰਧਿਤ ਆਰਗੂਮੈਂਟ ਨੂੰ ਛੱਡ ਦਿੱਤਾ ਜਾਵੇਗਾ।
def func_default(arg1, arg2='default_x', arg3='default_y'): print(arg1) print(arg2) print(arg3) func_default('a') # a # default_x # default_y func_default('a', 'b') # a # b # default_y func_default('a', arg3='c') # a # default_x # c
ਡਿਫੌਲਟ ਆਰਗੂਮੈਂਟਸ ਦੀ ਸਥਿਤੀ ‘ਤੇ ਪਾਬੰਦੀਆਂ
ਕਿਸੇ ਫੰਕਸ਼ਨ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਆਮ ਆਰਗੂਮੈਂਟ (ਇੱਕ ਆਰਗੂਮੈਂਟ ਜਿਸ ਲਈ ਕੋਈ ਡਿਫੌਲਟ ਮੁੱਲ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ) ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਡਿਫੌਲਟ ਆਰਗੂਮੈਂਟ ਰੱਖਣ ਨਾਲ ਇੱਕ ਗਲਤੀ ਹੁੰਦੀ ਹੈ।SyntaxError
# def func_default_error(arg2='default_a', arg3='default_b', arg1): # print(arg1) # print(arg2) # SyntaxError: non-default argument follows default argument
ਨੋਟ ਕਰੋ ਕਿ ਜਦੋਂ ਇੱਕ ਸੂਚੀ ਜਾਂ ਸ਼ਬਦਕੋਸ਼ ਨੂੰ ਡਿਫੌਲਟ ਮੁੱਲ ਵਜੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ
ਜੇਕਰ ਇੱਕ ਅੱਪਡੇਟ ਕਰਨ ਯੋਗ (ਮਿਊਟੇਬਲ) ਆਬਜੈਕਟ ਜਿਵੇਂ ਕਿ ਇੱਕ ਸੂਚੀ ਜਾਂ ਸ਼ਬਦਕੋਸ਼ ਨੂੰ ਡਿਫੌਲਟ ਮੁੱਲ ਦੇ ਤੌਰ ‘ਤੇ ਨਿਰਧਾਰਿਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਤਾਂ ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਿਤ ਹੋਣ ‘ਤੇ ਉਹ ਵਸਤੂ ਬਣਾਈ ਜਾਵੇਗੀ। ਫਿਰ, ਜਦੋਂ ਸੰਬੰਧਿਤ ਆਰਗੂਮੈਂਟ ਤੋਂ ਬਿਨਾਂ ਫੰਕਸ਼ਨ ਨੂੰ ਬੁਲਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਉਹੀ ਵਸਤੂ ਵਰਤੀ ਜਾਂਦੀ ਹੈ।
ਡਿਫੌਲਟ ਆਰਗੂਮੈਂਟ ਮੁੱਲਾਂ ਦਾ ਖੱਬੇ ਤੋਂ ਸੱਜੇ ਮੁਲਾਂਕਣ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਾ ਨੂੰ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਇਹ ਹੈ ਕਿ ਡਿਫੌਲਟ ਆਰਗੂਮੈਂਟ ਸਮੀਕਰਨ ਦਾ ਮੁਲਾਂਕਣ ਕੇਵਲ ਇੱਕ ਵਾਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਹਰੇਕ ਕਾਲ ਲਈ ਉਹੀ “ਗਣਿਤ” ਮੁੱਲ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
8.7. Function definitions — Python 3.10.2 Documentation
ਇਸ ਤਰ੍ਹਾਂ, ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਇੱਕ ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ ਜੋ ਇੱਕ ਸੂਚੀ ਜਾਂ ਡਿਕਸ਼ਨਰੀ ਨੂੰ ਇਸਦੇ ਡਿਫੌਲਟ ਆਰਗੂਮੈਂਟ ਵਜੋਂ ਲੈਂਦਾ ਹੈ ਅਤੇ ਇਸ ਵਿੱਚ ਤੱਤ ਜੋੜਦਾ ਹੈ, ਅਤੇ ਉਸ ਆਰਗੂਮੈਂਟ ਤੋਂ ਬਿਨਾਂ ਕਈ ਵਾਰ ਬੁਲਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਤੱਤ ਵਾਰ-ਵਾਰ ਇੱਕੋ ਵਸਤੂ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤੇ ਜਾਣਗੇ।
ਇੱਕ ਸੂਚੀ ਲਈ ਉਦਾਹਰਨ.
def func_default_list(l=[0, 1, 2], v=3): l.append(v) print(l) func_default_list([0, 0, 0], 100) # [0, 0, 0, 100] func_default_list() # [0, 1, 2, 3] func_default_list() # [0, 1, 2, 3, 3] func_default_list() # [0, 1, 2, 3, 3, 3]
ਇੱਕ ਸ਼ਬਦਕੋਸ਼ ਲਈ ਉਦਾਹਰਨ.
def func_default_dict(d={'default': 0}, k='new', v=100): d[k] = v print(d) func_default_dict() # {'default': 0, 'new': 100} func_default_dict(k='new2', v=200) # {'default': 0, 'new': 100, 'new2': 200}
ਹਰ ਵਾਰ ਜਦੋਂ ਫੰਕਸ਼ਨ ਬੁਲਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਇੱਕ ਨਵੀਂ ਵਸਤੂ ਬਣਾਈ ਜਾਂਦੀ ਹੈ।
def func_default_list_none(l=None, v=3): if l is None: l = [0, 1, 2] l.append(v) print(l) func_default_list_none() # [0, 1, 2, 3] func_default_list_none() # [0, 1, 2, 3]