Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我正在学习python3,但我不理解如何定义方法参数_Python_Python 3.x - Fatal编程技术网

我正在学习python3,但我不理解如何定义方法参数

我正在学习python3,但我不理解如何定义方法参数,python,python-3.x,Python,Python 3.x,我知道python定义了两个类型方法参数: 位置参数 关键字参数 位置参数可分为三种类型: 纯位置参数 默认参数 可变参数 同样,关键字参数分为以下三种类型: 可选(关键字)参数 命名关键字参数 普通关键字参数 因此,我定义了一种方法: def method(a, b=1, *c, d = 'default', e, **f) print(a, b, c, d, e, f) 我有些困惑: 在调用方法中,是否可以使用关键字参数作为位置参数,例如: 方法(b=2,a=1,c=[1,2,3]

我知道python定义了两个类型方法参数:

  • 位置参数
  • 关键字参数
  • 位置参数可分为三种类型:

  • 纯位置参数
  • 默认参数
  • 可变参数
  • 同样,关键字参数分为以下三种类型:

  • 可选(关键字)参数
  • 命名关键字参数
  • 普通关键字参数
  • 因此,我定义了一种方法:

    def method(a, b=1, *c, d = 'default', e, **f)
        print(a, b, c, d, e, f)
    
    我有些困惑:

  • 在调用方法中,是否可以使用关键字参数作为位置参数,例如:

    方法(b=2,a=1,c=[1,2,3],e=4)

  • 我认为默认参数可以替换命名关键字,但是为什么要引入可选(关键字)参数呢

  • 我的理解是有问题吗


  • 学习代码时,最重要的事情是尝试。实际编写代码,运行它,看看会发生什么,修补和实验。我保证这会很快回答你的所有问题。只有阅读理论会极大地阻碍你的学习。此外,还有大量的文档:例如,这解释了为什么它们也被添加。关于你的问题2,如果你不想提供默认值,但仍然希望参数有一个值,该怎么办?谢谢你的建议,我一直在运行代码,但我写得越多,就越困惑。所以我希望能找到一个非常清晰的总结。