Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

What is the default value trap for the Python parameter

Shulou Source: shulou.com Published: 2022-06-02 03:09:11 10月04日 Update

What is the default value trap of the Python parameter? for this question, this article introduces the corresponding analysis and solution in detail, hoping to help more partners who want to solve this problem to find a more simple and feasible method.

Default value trap for parameter

The function f defined below, whose argument d is a default parameter, is of dictionary type:

Def f (a _ r _ d = {}):

Print (favoa: {a}')

Print (favod: {d}')

# do some process

Return d

Finally, the dictionary d is returned, and the function f is called below:

Ret_dict = f (1) # second parameter d uses the default value

Ret_dict ['b'] = 2

Ret_dict ['c'] = 3

Use the function f again:

F (1)

Although the second parameter is the default and is expected to return an empty dictionary, the result is as follows:

A: 1

D: {'baked: 2,' catered: 3}

So the default parameter: if it's a list, don't set it to []; if it's a dictionary, don't set it to {}.

Their default value should be set to None

Def f (a recorder none):

If d is None:

D = {} # # initialize to an empty dictionary

Print (favoa: {a}')

Print (favod: {d}')

# do some process

Return d

Ret_dict = f (1) # second parameter d uses the default value

# results:

# a: 1

# d: {}

Call again:

Ret_dict ['b'] = 2

Ret_dict ['c'] = 3

F (1)

# results:

# a: 1

# d: {}

The answer to the question about the default value trap of Python parameters is shared here. I hope the above content can be of some help to you. If you still have a lot of doubts to be solved, you can follow the industry information channel for more related knowledge.

Tags: Parameters dictionaries traps functions results questions again more help answers easy easy content guys partners methods knowledge articles types industries Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Shulou Information Shulou Tech Info Microsoft MySQL Linux