?? ????
1. ?? ? ????
??? ?? ??? ?? ???? ?? ? ????? ???? ?? ?? ???? ???? ???.
# -*- coding: UTF-8 -*- def print_user_info( name , age , sex = '男' ): # 打印用戶信息 print('昵稱:{}'.format(name) , end = ' ') print('年齡:{}'.format(age) , end = ' ') print('性別:{}'.format(sex)) return; # 調用 print_user_info 函數(shù) print_user_info( '兩點水' , 18 , '女') print_user_info( '三點水' , 25 )
?? ??:
昵稱:兩點水 年齡:18 性別:女 昵稱:三點水 年齡:25 性別:男
?? ????? ??? ? ?? ?? ? ????? ???? ??? ???? ???? ?? ? ? ????. ??? ??? ??? ?? ?? ???? ??? ?? ?? ????? ?? ???? ?? ?? ? ??? ????. ?, ?? ????? ??? ? ?? ???? ?? ????? ??? ?? ??? ?? ????? ??? ?? ????. ???. ?? ?? ????? ??? ?? ????? ???? ?????. ?? ?? def func(a, b=1)? ????? def func(a=1, b)? ???? ????.
??? ???? ????? ??? ???? ??????. ????? lsit(??) ?? dict(??)? ?? ?? ??? ????? ?? ????? ??? ???? ???? None? ????? ??? ? ????. ?? ??? ????.
# 如果 b 是一個 list ,可以使用 None 作為默認值 def print_info( a , b = None ): if b is None : b=[] return;
??? ?? ?? ?????. ?? ??? ?????? ????? b=[]? ?? ??? ?? ???? ?, ??? ?? ??? ????:
def print_info( a , b = [] ): return;
, ???? ??? ?? ??? ???? ?????. ??? ?? ???? ??? ??? ???? ? ?? ?? ????? ?? None, True, False, ?? ?? ???? ?? ?? ???? ????. ?? ?? ???? ?? ??? ???? ??? ? ??? ?????. ?? ??. ??? ?? ??? ??? ? ??? ??? ? ???? ??? ????.
??? ??? ????.
# -*- coding: UTF-8 -*- def print_info( a , b = [] ): print(b) return b ; result = print_info(1) result.append('error') print_info(2)
?? ??:
[] ['error']
? ??? ?? ? ??? ???? ?? ?? ??? ?? ???? ?? ? ? ???? ??? ?? ???.
? ?? ?, ??? ???? ??? ?? ?? ????. ?? ????? ??? ?? ??? ???? ?? ????. ??? ?? ???? ??? ??? ? ? ????:
_no_value =object() def print_info( a , b = _no_value ): if b is _no_value : print('b 沒有賦值') return;
?? ??? Python? ?? ???? ?? ?? ??????. ?? ???? ????? ??? ? ??? ??? ????? ??? ???? ?? ???? ???? ?? ??? ??? ???? ????. ?? ?? ?????). ??? ? ? ?? ??? ?? ??? ????? ????. ? ??? ? ??? ??? ???? ??? ??? ? ????.
2. ??? ????
?????? ???? ??? ??? ??? ???? ???? ??? ?? ??? ????? ??? ? ????. ? ????? ???? ? ?? ??? ????.
??, ????? ??? ?? ? ??? ?? ??? ?? ??? ? ??????.
2. ?? ????? ???? ??? ???? ??? ?????? ?? ??? ? ????.
# -*- coding: UTF-8 -*- def print_user_info( name , age , sex = '男' ): # 打印用戶信息 print('昵稱:{}'.format(name) , end = ' ') print('年齡:{}'.format(age) , end = ' ') print('性別:{}'.format(sex)) return; # 調用 print_user_info 函數(shù) print_user_info( name = '兩點水' ,age = 18 , sex = '女') print_user_info( name = '兩點水' ,sex = '女', age = 18 )
?? ?:
昵稱:兩點水 年齡:18 性別:女 昵稱:兩點水 年齡:18 性別:女
3. ??? ?? ?????? ???? ? ?? ?? ????? ??? ? ????. ?, ??? ????? ??? ?? ??? ? ????. Python? ?? ???? ?? ????? ???? ?? ???? ?????. ? ???? ???? ?? ?? *? ?????. ??? ??? ? ?? ??? ???? ??? ? ?????. ??? ???? ?? ??? ??? ??? ?? ????. ?: ?? ??: ?? ???? *hobby? ?? ??????, ??? ??? ??(?? ??)?? ? ? ????. ?? ?? ????? ? ????? ? ????? ?????. ??? ? ????? ??? ?????. ? ??? ???? ?? **? ???? ?? ?? ??? ?? ???? ????. ?? ??: ?? ?? ? ?? ???? *hobby? ?? ?????? ? ? ????. , ??? ??? ??? ??(?? ??)??, **hobby? ??? ??????, ??? dict(??)???. 4. ??? ????? ?????. ??? ????? ???? ?? ???? ??? ???? ?? ??? ?? ??? ??? ??? ?? ????? ??? ????? ???? ????? ??? ??? ????. ? ??? * ???? ?? ?? * ?? ?? ??? ????? ???? ??? ? ????. ?: ??? ? ? ??? ?? ? ?? ??? ????? ??? ? ?? ?? ??? ?????. ?????. ?? ?? ?? ??? ????? ???? ?? ????? ???? ??? ??? ? ????? ???? ???? ?????. ?? ??? ????? ???? ?? **kw ????? ???? ??? ?? ?? ??? ????? ?? ?? ????? ?????. # -*- coding: UTF-8 -*-
def print_user_info( name , age , sex = '男' , * hobby):
# 打印用戶信息
print('昵稱:{}'.format(name) , end = ' ')
print('年齡:{}'.format(age) , end = ' ')
print('性別:{}'.format(sex) ,end = ' ' )
print('愛好:{}'.format(hobby))
return;
# 調用 print_user_info 函數(shù)
print_user_info( '兩點水' ,18 , '女', '打籃球','打羽毛球','跑步')
昵稱:兩點水 年齡:18 性別:女 愛好:('打籃球', '打羽毛球', '跑步')
# -*- coding: UTF-8 -*-
def print_user_info( name , age , sex = '男' , ** hobby ):
# 打印用戶信息
print('昵稱:{}'.format(name) , end = ' ')
print('年齡:{}'.format(age) , end = ' ')
print('性別:{}'.format(sex) ,end = ' ' )
print('愛好:{}'.format(hobby))
return;
# 調用 print_user_info 函數(shù)
print_user_info( name = '兩點水' , age = 18 , sex = '女', hobby = ('打籃球','打羽毛球','跑步'))
昵稱:兩點水 年齡:18 性別:女 愛好:{'hobby': ('打籃球', '打羽毛球', '跑步')}
# -*- coding: UTF-8 -*-
def print_user_info( name , *, age , sex = '男' ):
# 打印用戶信息
print('昵稱:{}'.format(name) , end = ' ')
print('年齡:{}'.format(age) , end = ' ')
print('性別:{}'.format(sex))
return;
# 調用 print_user_info 函數(shù)
print_user_info( name = '兩點水' ,age = 18 , sex = '女' )
# 這種寫法會報錯,因為 age ,sex 這兩個參數(shù)強制使用關鍵字參數(shù)
#print_user_info( '兩點水' , 18 , '女' )
print_user_info('兩點水',age='22',sex='男')