#_*_coding:UTF-8_*_
# 1.默认参数
# 函数的参数支持默认。当某个参数没有传递实际值时,函数将使用默认参数计算。例如,可以向login()函数的username参数和password参数分别提供一个默认值。
# 函数定义
def login(username="maxxianglin",password="maxingling"):
if(username=='admin') and (password=='admin'):
print "登录成功!"
else:
print "登录失败!"

login('admin','admin') #登录成功
login('admin') #登录失败
login(password='admin') #登录失败
login() #登录失败

# 2.列表参数值
# 函数的定义
# 参数可以是变量,也可以是元组,列表等内置数据结构。
def login(username=[],password='admin'):
username=username[0] #username使用列表值,password使用默认值
if(username=='admin') and (password=='admin'):
print "登录成功!"
else:
print "登录失败!"

login(['admin','maxinglin']) #登录成功

# 3.可变长度参数值
# *可以应用元组,将多个参数组合在一个元组中。
# 函数定义
def login(* userpwds):
username=userpwds[0]
password=userpwds[1]
if(username=='admin') and (password=='admin'):
print "登录成功!"
else:
print "登录失败!"

login('admin','admin') #登录成功
login('maxinaglin','maxianglin') #登录失败

# 4.字典类型参数值
# 在形式参数面添加**,可以引用一个字典作为参数。
# 函数定义
def login(** userpwds):
keys=userpwds.keys()
username=''
password=''
for key in keys:
if 'username'==key:
username=userpwds[key]
if 'password'==key:
password=userpwds[key]
if(username=='admin') and (password=='admin'):
print "登录成功!"
else:
print "登录失败!"

login(username='admin',password='admin') #登录成功