def area(width,heigh): return width*heigh def print_wecome(name): print('welcome',name) print('Runoob') w=4 h=6 print('width=',w,'heigh=',h,'area=',area(w,h)) def printme(str): print(str) return printme('调用自己定义的函数') printme('再次丢调用自己的函数') print('传不可变对象实例****************************************************************************************************') def ChangeInt(a): a = 10 b = 2 ChangeInt(b) print(b) print('传可变对象实例****************************************************************************************************') def Changeme(mylist): mylist.append([1,2,3,4]) print('函数内取值:',mylist) return mylist = [10,20,30] Changeme(mylist) print('函数外取值:',mylist) print('调用函数时可使用的正式参数类型:必须参数*****************************************************************************') def printme1(str): print(str) return printme1('google') print('调用函数时可使用的正式参数类型:关键字参数******************************************************************************') def printme2(name,age): print('姓名:',name) print('年龄:',age) return printme2(name='runoob',age=6) print('调用函数时可使用的正式参数类型:默认参数******************************************************************************') def printme3(name,age=6): print('姓名为:',name) print('年龄为:',age) return printme3(name='runoob',age=60) print() printme3(name='google') print('调用函数时可使用的正式参数类型:不定长参数******************************************************************************') pass print('匿名函数******************************************************************************') sum = lambda arg1,arg2:arg1+arg2 print('相加后的值为:',sum(20,30)) print('相加后的值为',sum(11,22)) print('return语句******************************************************************************') def sum(agr11,arg22): total=arg11=arg22 print('函数内;',total) return total total = sum(33,44) print('函数外:',total) print('变量作用域******************************************************************************') ''' Local:局部作用域 Enclosing:必包函数外的函数中 Glogal:全局作用域 Build-in:内建作用域 ''' x = int(8) #内建作用域 g_count= 0 #全局作用域 def outer(): b_count=1 #闭包函数外作用域 def inner(): l_count=2 # 局部作用域 print('全局变化和局部变量******************************************************************************') total2 = 88 def sum(arg01,arg02): total2 = arg01+arg02 print('函数内是局部变量:',total2) return total2 sum(1,2) print('函数外是局部变量:',total2)
2018-11-29 10:07:22
print('global和nonlocal关键字******************************************************************************') num = 1 def fun1(): global num print(num) num = 123 print(num) fun1() print(num) #以下代码运行会报错 # a = 10 # def test(): # a = a+1 # print(a) # test() #修改后可以正确运行 a = 9 def test(a): a = a+2 print(a) test(a)