The syntax of setdefault() is:
dict.setdefault(key[, default_value])
setdefault() Parameters
setdefault() takes a maximum of two parameters:
- key - the key to be searched in the dictionary
 - default_value (optional) - key with a value default_value is inserted to the dictionary if the key is not in the dictionary.
If not provided, the default_value will beNone. 
Return Value from setdefault()
setdefault() returns:
- value of the key if it is in the dictionary
 - None if the key is not in the dictionary and default_value is not specified
 - default_value if key is not in the dictionary and default_value is specified
 
Recommended Reading: Python Dictionary
Example 1: How setdefault() works when key is in the dictionary?
person = {'name': 'Phill', 'age': 22}
age = person.setdefault('age')
print('person = ',person)
print('Age = ',age)
Output
person =  {'name': 'Phill', 'age': 22}
Age =  22
Example 2: How setdefault() works when key is not in the dictionary?
person = {'name': 'Phill'}
# key is not in the dictionary
salary = person.setdefault('salary')
print('person = ',person)
print('salary = ',salary)
# key is not in the dictionary
# default_value is provided
age = person.setdefault('age', 22)
print('person = ',person)
print('age = ',age)
Output
person =  {'name': 'Phill', 'salary': None}
salary =  None
person =  {'name': 'Phill', 'age': 22, 'salary': None}
age =  22
Also Read: