• 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

     


  • 相关阅读:
    使用Bootstrap后,关于IE与Chrome显示字体的问题
    利用百度接口,识别身份证
    双日历日期选择控件
    回复一个朋友:如何理解委托
    IIS7增加mine类型,以便可以访问apk
    关于SqlBulkCopy SQL批量导入需要注意,列名是区分大小写的
    关于取表中id最大值+1的select语句,哪种效率更高?
    MySQL中如何分析查询语句
    判断同名股票是否存在的MyBatis查询函数写法
    Thymeleaf中model设一个值 页面显示此值 JS取此值
  • 原文地址:https://www.cnblogs.com/uthnb/p/9581665.html
Copyright © 2020-2023  润新知