zoukankan      html  css  js  c++  java
  • Python定义函数

    1. 其他形式1:

      1、定义函数

      def test4(a = ()):

          print('################test4################')

          print(type(a))

          print(a)

      2、调用函数

      正确调用:

      test4((1, 2))        #a在函数体内部为tuple类型

      test4(a=(1, 2))    #a在函数体内部为tuple类型

      test4((1,))          #a在函数体内部为tuple类型

      test4(a=(1,))      #a在函数体内部为tuple类型

      test4((1))           #a在函数体内部为int类型,非tuple类型

      test4(a=(1))       #a在函数体内部为int类型,非tuple类型

      test4(1)             #a在函数体内部为int类型,非tuple类型

      test4(a=1)         #a在函数体内部为int类型,非tuple类型

      错误调用:

      test4(1, 2)          #TypeError: test4() takes at most 1 argument (2 given)

      test4(1, b=2)      #TypeError: test4() got an unexpected keyword argument 'b'

      test4(a=1, b=2)  #TypeError: test4() got an unexpected keyword argument 'b'

    2. 5

      其他形式2:

      1、定义函数

      def test5(b = {}):

          print('################test5################')

          print(type(b))

          print(b)

      2、调用函数

      正确调用:

      test5({'a':2})       #b在函数体内部为dict类型

      test5(b={'a':2})

      test5({'a':2,'b':3})#b在函数体内部为dict类型

      test5(b={'a':2,'b':3})

      test5(b=2)           #b在函数体内部为int类型,非dict类型

      错误调用:

      test5(a=1, b=2)   #TypeError: test5() got an unexpected keyword argument 'a'

      test5(1, 2)           #TypeError: test5() takes at most 1 argument (2 given)

      test5(1, b=2)       #TypeError: test5() got multiple values for keyword argument 'b'

    3. 6

      其他形式3:

      1、定义函数

      def test6(a = (), b = {}):

          print('################test6################')

          print(type(a))

          print(a)

          print(type(b))

          print(b)

      2、调用函数

      正确调用:

      test6(1, 2)

      test6(a=1, b=2)

      test6(a=1, b=2)

      test6((1, 2), {'c':8})

      test6({'c':8})

      test6(b={'c':8})

      test6((1, 2), b=2)

      test6((1, 2), b=2)

      错误调用:

      test6(a=1, 2)       #SyntaxError: non-keyword arg after keyword arg

      test6(1, 2, b=2)   #TypeError: test6() got multiple values for keyword argument 'b'

  • 相关阅读:
    LeetCode 40. 组合总和 II(Combination Sum II)
    LeetCode 129. 求根到叶子节点数字之和(Sum Root to Leaf Numbers)
    LeetCode 60. 第k个排列(Permutation Sequence)
    LeetCode 47. 全排列 II(Permutations II)
    LeetCode 46. 全排列(Permutations)
    LeetCode 93. 复原IP地址(Restore IP Addresses)
    LeetCode 98. 验证二叉搜索树(Validate Binary Search Tree)
    LeetCode 59. 螺旋矩阵 II(Spiral Matrix II)
    一重指针和二重指针
    指针的意义
  • 原文地址:https://www.cnblogs.com/MrZhang1/p/6628565.html
Copyright © 2011-2022 走看看