﻿
print("-------一、Python 自定义函数的基本步骤----")
def sum(num1,num2):
    "两数之和"
    return num1+num2

# 调用函数
print(sum(5,6))

print("-------二、函数传值问题(1)----")
# -*- coding: UTF-8 -*-
def chagne_number( b ):
    b = 1000

b = 1
chagne_number(b)
print( b ) 


print("-------二、函数传值问题(2)----")
# -*- coding: UTF-8 -*-
def chagne_number( b ):
    print('函数中一开始 b 的值：{}' .format( b ) )
    b = 1000
    print('函数中 b 赋值后的值：{}' .format( b ) )

b = 1
chagne_number( b )
print( '最后输出 b 的值：{}' .format( b )  )


print("-------二、函数传值问题(3)----")
# -*- coding: UTF-8 -*-

def chagne_list( b ):
    print('函数中一开始 b 的值：{}' .format( b ) )
    b.append(1000)
    print('函数中 b 赋值后的值：{}' .format( b ) )

b = [1,2,3,4,5]
chagne_list( b )
print( '最后输出 b 的值：{}' .format( b )  )

print("-------三、函数返回值(1)----")
# -*- coding: UTF-8 -*-

def sum(num1,num2):
    # 两数之和
    if not (isinstance (num1,(int ,float)) or isinstance (num2,(int ,float))):
        raise TypeError('参数类型错误')
    return num1+num2

print(sum(1,2))

print("-------三、函数返回值(2)----")
# -*- coding: UTF-8 -*-

def  division ( num1, num2 ):
    # 求商与余数
         a = num1 % num2
         b = (num1-a) / num2
         return b , a 

num1 , num2 = division(9,4)
tuple1 = division(9,4)

print (num1,num2)
print (tuple1)

print("-------五、匿名函数(1)----")

# -*- coding: UTF-8 -*-

sum = lambda num1 , num2 : num1 + num2;

print( sum( 1 , 2 ) )


print("-------五、匿名函数(2)----")

# -*- coding: UTF-8 -*-

num2 = 100
sum1 = lambda num1 : num1 + num2 ;

num2 = 10000
sum2 = lambda num1 : num1 + num2 ;

print( sum1( 1 ) )
print( sum2( 1 ) )


