1. 函数的基本概念
2. 参数 <=> 抽象 
3. 参数分为 可选参数 和 必选参数 
'''
1)可选参数 是有默认值的 
2)必选参数 是没有默认值的 
默认值和没有默认值的区别在于 " = "
'''
def func_name():
    return 1 
print func_name()
输入结果:
1 
# 要有良好的习惯,函数要有返回值,否则可以看下面的例子,如果不写return,则函数默认返回的是None 
def func_t():
    print 1 
print func_t()
输出结果:
1
None
def func_t():
    return 1 
# 执行后结果为NUll, 需要显性引用函数的时候才会显示结果 print func_t()
# 加法函数的编写 
def add(num1, num2):
    return num1 + num2 
print add(1,2)
def add2(*kr):
    a = 0 
    for i in kr:
        a = a + i
    return a 
print add2(1,2,3,4,5,6,7)
print add2(232,4545,435,66567,7676,76868)
#说明:从上面可以看到抽象参数的魅力   
4. 函数的健壮性 
add(1,(12,4)) 会报错, 为了更有健壮性,可以修改为(利用 isinstance()函数判别一个变量是否为整数 )
def add(num1,num2):
    if isinstance(num1, int) and isinstance(num2, int):
        return num1 + num2 
    else:
        return 'the input must be integer'
print add(12,(12,3))
函数的健壮性
1. 你永远知道你的方法会返回什么?(异常处理,条件判断)
2. 返回你想要的结果 
assert add(3,2) == 5 
assert add(3,2) == 3 
Traceback (most recent call last):
  File "D:\Python27\xx.py", line 223, in <module>
    assert add(3,2) == 3 
AssertionError