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)