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)

 

posted @ 2017-12-10 00:16  欧晨曦  阅读(825)  评论(0编辑  收藏  举报