###python的函数###
1.函数的定义
如果不主动调用函数,函数是不会执行的
def say_hello(): ##定义函数
print 'hello'
print 'wangfang'
say_hello() ##函数的调用
#定义函数时的变量,叫形参 形参可以任意取名
def sum_2_sum():
num1 = 10
num2 = 10
result = =num1 + num2
print '%d + %d = %d' %(num1,num2,result)
#在调用函数的时候传递的参数称为实参(真实的数据信息)
sum_2_sum(5,20)
"""
函数参数的使用:
在函数名后面的小括号内填写 参数
多个参数之间用 ,分隔开
"""
练习题:
编写一个名为collatz()的函数,它有一个名为number的参数
-如果参数是偶数,那么collatz()就打印出number//2.
-如果参数是奇数,那么collatz()就打印出3*number+1.
2.函数形参之四大参数
参数:形参 实参
形参:位置参数 默认参数 可变参数 关键字参数
#位置参数:形参和实参个数必须保持一致
def inform(name,age):
print name
print age
inform('wf',20)
#但是如果我输入的name,age位置互换
# 程序不会报错,此输出错误
inform(18,'wang')
#为了能够正确输出可以这样写
inform(name='fang',age=18)
#默认参数:形参和实参的个数可以不一致 默认形参可以改变
def mypow(x,y=2):
print x**y
#这个y如果用户没有输出
#默认就是y=2
#会有输出的值,但是提供给我们用的pow()函数
#如果输入的形参和实参个数不一致的话,会报错
mypow(2)
#默认的值是可以修改的
mypow(2,3)
#可变参数:利用 *args:是可变参数
*args:是元组类型的数据
*args:名字可变(因为是形参 名字可变)
def mysum(*args):
print args
sum = 0
for i in args:
sum += i
print sum
mysum(1,2,3)
#对列表,元组,集合接解包,只需要在变量前加*
num = [1,2,3]
num1 = {1,2,3}
num2 = (1,2,3)
#解包
mysum(*num1)
mysum(*num)
mysum(*num2)