Python中的函数

一、函数的类型

  1、无参函数

   def sum_2():       ## 函数的定义
    num1 = 10
    num2 = 20
    result = num1 + num2
    print "%d + %d = %d" % (num1, num2, result)
  sum_2()             ## 函数的调用

  2、有参函数(形参和是参之间的传递)
  def sum_2_1(num1, num2):
    result = num1 + num2
    print "%d + %d = %d" % (num1, num2, result)
 sum_2_1(7, 98)

  3、collatz(number)函数,参数为偶数打印number//2;奇数打印3*number+1
  方法一
  def collatz(number):
     if number%2 == 0:
        print number//2
     else:
        print 3*number+1

   collatz(2)

  方法二:print number // 2 if number % 2 == 0 else 3 * number + 1
二、函数的四大形参

  1、位置参数:形参和实参个数必须保持一值
  def getInfo(name, age):
    print name, age
  getInfo(age=12, name='westos')     

  2、默认参数
  def mypow(x, y=2):
    print x ** y    # **为幂次方
  mypow(4, 3)

  3、可变参数:形参的个数不确定
  def mysum(*args):
    print args  # *args:是可变参数;args是元组类型的数据
    sum = 0

    for i in args:
        sum += i
    print sum
  mysum(1, 2, 3, 4)
  # 对list,tuple,set解包时,只需要在函数调用的变量面前加*
  nums = [1,3,5,7]    # 列表类型,对列表或集合进行解包
  mysum(*nums)

  4、关键字参数(**kwargs是一个字典,可以传递任意多的key-values)
  def getStu(name, age, **kwargs):
    print name, age
    print kwargs

  getStu('westos', '20', hobbies=['code', 'runuing'], gender='farman')

三、函数的返回值

   函数的返回值:当函数结果还需要进一步操作时,给一个返回值。使用return关键字用来返回函数的执行结果;若没有返回值,则默认返回null。Python中可以间接返回多个值(返回类型时元组)。执行return后,后面代码不会执行。

   实例1:

   def mypow(x,y=2):

      return x**y,x+y

    a,b = mypow(2,5)       ## 使用两个变量对返回值进行接收

   print mypow(3,2)       ## 此时,返回的是(9,5)

四、函数的局部、全局变量

   局部变量:在函数内定义的普通变量,只在函数内作用;函数结束,变量就自动删除

   全局变量:在函数外定义;定义时,存放于函数上方。

   global a     ## 可以在局部变量中申明全局变量

   不同函数内部可以定义相同的局部变量,且相互之间不会产生影响

    实例:

    a = 1

    def fun():

         global a

         a = 3

         print a      ## 此时的a为全局变量

    fun()

    print a

 


原文地址:https://www.cnblogs.com/uthnb/p/9581665.html