1 #函数(function):有返回值 2 #过程(procedure):是简单、特殊并且没有返回值的,python只有函数没有过程 3 4 def hello(): 5 print("hello word") 6 temp=hello() #这条语句显示结果为:hello word 7 print(temp)#打印出来的结果是 none 这就是返回值 8 9 def back(): 10 return[1,"中国山东",3.14] 11 temp=back() 12 print(temp)#通过打印才能显示出结果。这是列表。 13 14 def back(): 15 return 1,"中国山东",3.14 16 temp=back() 17 print(temp)#通过打印才能显示出结果。这次是元组。 18 19 #局部变量:Lock Variable 20 #全局变量:Global Variable 21 print("="*80) 22 def discounts(price=89,rate=0.85): 23 global final_price #在这里声明为全局变量后,在外部可以访问了。 24 final_price=price*rate 25 #print("这里试图打印全局变量old_price的值:",old_price)#局部能访问全局变量 26 return final_price 27 28 #old_price=float(input("请输入原价:")) 29 #rate=float(input("请输入折扣率:")) 30 new_price=discounts()#(old_price,rate),当input启用时,注释括号内的内容,应写到前面 31 print("打折后的价格是:",new_price) 32 #以上代码是一个计算折扣的完整代码。 33 #print("这里试图打印局部变量final_price的值:",final_price) #外部不能访问局部变量 34 #print("这里试图打印全局变量old_price的值:",old_price) 35 print("="*80) 36 count=5 37 def Myfun(): 38 count=10 39 print("这里打印是的函数内部的变量count:",count) 40 Myfun() 41 print("这里打印的是全局变量count",count) 42 #怎么变成全局变量呢??声明为全局变量即可。global varible 43 #内嵌函数:python里面允许函数里面创建另外一个函数。 44 45 def fun1(): 46 print("fun1()正在被调用……") 47 def fun2(): 48 print("fun2()正在被调用……") 49 fun2()#这里一定要注意,要和上面的内嵌函数def对齐。要不,就不能正常调用。 50 fun1() 51 52 #闭包:(closure)是函数编程的重要的语法结构,是一种编程范式。 53 54 def FunX(x): 55 def FunY(y): 56 return x*y 57 return FunY 58 i=FunX(8) 59 jg=i(9) 60 print("闭包函数的计算结果是:",jg) 61 print("="*80) 62 def Fun1(): 63 x=[7,8,9] 64 print("这是外部函数") 65 def Fun2(): 66 print("这是内部函数") 67 nonlocal x #强制说明x不是局部变量 68 x[1]*=x[1] 69 return x[1] 70 71 return Fun2() 72 i=Fun1() 73 print(i) 74 75 print("="*80) 76 def Fun1(): 77 x=15 78 print("这是外部函数x=15") 79 def Fun2(): 80 print("这是内部函数,得到x的平方") 81 nonlocal x #强制说明x不是局部变量 82 x*=x 83 return x 84 85 return Fun2() 86 i=Fun1() 87 print(i) 88 print("="*80)