Python 學習筆記 -- 函數基本使用


  1 #---------------------------------------------------------------------
  2 #函數定義方法,()括號內可以不加形參
  3 def FunName():
  4     #函數體隨便寫
  5     #函數體隨便寫,要寫多長都可以....建議別太長,不然要罵娘.....
  6     pass
  7 
  8 #這里就不屬於函數內部了
  9 #---------------------------------------------------------------------
 10 
 11 #---------------------------基礎部分----------------------------------
 12 #實例:編寫power(x,y),函數返回x的y次冪
 13 def power(x,y):
 14     return x ** y
 15 
 16 print(power(2,3))
 17 
 18 
 19 #實例:編寫MyGcd(x,y),函數返回x和y的最大公約數
 20 def MyGcd(x,y):
 21     if x < y:
 22         a = x
 23         x,y = y,a
 24     while y:
 25         x, y = y, x % y
 26     return x
 27 
 28 print(MyGcd(15,25))
 29 
 30 
 31 #實例將一個十進制數轉化為二進制
 32 def Dec2Bin(dec):
 33     str_bin = ""
 34     while dec:
 35         dec, temp = (dec // 2), (dec % 2)
 36         str_bin = str(temp) + str_bin
 37     return str_bin
 38 
 39 print(Dec2Bin(2))
 40 
 41 #--------------------------參數部分-----------------------------------
 42 #如何傳入一個列表或者元組
 43 from collections import Iterable
 44 print("\n\n#傳入列表、元組、字符串、單獨的數測試")
 45 def MyFirstFun(arr):
 46     if not isinstance(arr, (tuple,list,str,Iterable)):
 47         print(arr)
 48         return None
 49     for i in arr:
 50         print(i, end=" ")
 51     print()
 52     
 53 MyFirstFun((1,2,3,4,5,6))
 54 MyFirstFun(["","","",""])
 55 MyFirstFun("I'm a girl!")
 56 MyFirstFun(1234)
 57 
 58 #關鍵字參數的使用
 59 def MySecondFun(name,discourse):
 60     print(name + ":" + discourse)
 61 MySecondFun(discourse="好吧!這是一個例子!",name="歐晨曦")
 62 
 63 #默認參數的使用,牢記,定義默認參數時,默認參數必須指向不可變對象
 64 def MyThirdFun(name="歐晨曦",discourse="默認參數的函數使用"):
 65     print(name + ":" + discourse)
 66 MyThirdFun(name="方源")
 67 
 68 #可變參數的使用
 69 def MyFourthFun(*arr):
 70     for i in arr:
 71         print(i,end=",")
 72     print("\n")
 73 
 74 MyFourthFun(1,2,3,4,5,6)
 75 
 76 #在使用可變參數是,后面最好是默認參數,防止意外發生
 77 def MyFifthFun(*arr,name="歐晨曦"):
 78     for i in arr:
 79         print(i,end=",")
 80     print(name)
 81 
 82 MyFifthFun(1,2,3,4,5,6) #普通方法
 83 list1 = [2,3,4,5,6,7] #假如已有列表或者元組
 84 MyFifthFun(*list1) #在變量名稱前面加上*號
 85 
 86 #命名關鍵字參數,其實它們傳入的是字典啊!字典
 87 def MySixthFun(**keyAndValue):
 88     if "Alpha" in keyAndValue:
 89         print("Alpha: ", keyAndValue["Alpha"])
 90     if "Beta" in keyAndValue:
 91         print("Beta:", keyAndValue["Beta"])
 92 
 93 MySixthFun(Alpha=1,Beta=2) #普通方式
 94 dir_one = {"Alpha":66,"Beta":88}
 95 MySixthFun(**dir_one)
 96 
 97 #Python中,如果程序員沒有給函數沒有返回一個值,那么實際上是返回None
 98 #Python中,與C/C++差不多,在函數內部定義的變量為局部變量,如果在函數內部使用一個
 99 #與全局變量名字相同的變量,則Python自動定義一個同名的局部變量
100 abc = 1
101 def MySeventhFun():
102     abc = 2
103 MySeventhFun()
104 print(abc)
105 
106 #那么如何使用全局變量,在函數內部更改全局變量的值呢?使用global關鍵字
107 def MyEighthFun():
108     global abc
109     abc = 8888
110 MyEighthFun()
111 print(abc)

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com