• 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

     


  • 相关阅读:
    JSON格式
    多行写入
    文件对象write() and read()
    一个虚拟摄像头Filter(Virtual Cam Capture Filter)
    五十种最好的开源爬虫
    web scraper 里的 Element click 模拟点击「加载更多」
    介绍一款好用又易学的爬虫工具:web scraper
    安装宝塔面板后 ,centos系统 挂载硬盘 或者 数据盘和系统盘合并
    帝国CMS恢复搜索功能 增加搜索数据源设置教程
    安装帝国CMS步骤 和恢复数据
  • 原文地址:https://www.cnblogs.com/uthnb/p/9581665.html
Copyright © 2020-2023  润新知