【原】Python基础-函数

#不定长参数,这里prams是一个元组集合
def print_params(*prams):
for e in prams:
print(e)
print(prams) #输出('xxx', (1, 2, 3), 'hello')

print_params("xxx", (1,2,3), "hello")

#关键字参数,使用参数名提供的参数,主要用于明确每个参数的作用,例如
def hello_print(greeting = "hello", name = "world"):
print('%s %s' % (greeting, name) )

hello_print() #输出hello world
hello_print("hello", "sysnap") #输出hello sysnap
hello_print(name = "hello", greeting = "sysnap") #输出sysnap hello

#不定长参数 + 关键字参数
#print_params(name = "hello") 这样会出错,如何避免呢,需要**
def print_params_2(*params1, **params):
for e in params1:
print(e)
print(params1) #输出(1, 2, 3)
print(params) #输出{'name': 'sysnap'},是一个字典

print_params_2(1,2,3, name = "sysnap")
print_params_2(1,2,3, name = "sysnap", age = 10)
#(1, 2, 3)
#{'age': 10, 'name': 'sysnap'}

#反转过程
def add(x, y):
return x + y

print(add(10,20)) #输出30,也可以下面的调用
params = (10, 20)
print(add(*params))

def print_str(name, age):
print("name is: %s, age is %d" % (name, age))
del params
params = {"name":"sysnap", "age":10}
print_str(**params)

posted @ 2013-11-21 17:57  sysnap  阅读(227)  评论(0)    收藏  举报