想摸妹妹大腚 发表于 2020-6-8 10:17:00

我这样写有没有区别?

class Stack:
    def __init__(self,start):
      self.stack = []
      for x in start:
            self.push(x)
class Stack:
    def __init__(self,start = []):
      self.stack = []
      for x in start:
            self.push(x)
我一个是默认参数,一个没有写,这样有没有区别呢?

Twilight6 发表于 2020-6-8 10:20:29

本帖最后由 Twilight6 于 2020-6-8 10:22 编辑

有区别第一个 一定要填入参数 start 的值 否则会报错,缺少参数

而第二个不用一定填入,因为第二个参数 start 有默认值

heidern0612 发表于 2020-6-8 10:27:42

默认形参和位置形参最大的区别就是,默认形参不用传值,而位置形参必须得传。
页: [1]
查看完整版本: 我这样写有没有区别?