from os import system
def a(len1,hgt=len1,til,col=0):
    system('mode con cols='+len1,'lines='+hgt)
    system('title',til)
    system('color',col)

a(64,25,"hi","0b")
input()

当我运行它时,它拒绝“def a(...”,并用红色突出显示“(”。我不知道为什么。

最佳答案

让我在这里澄清两点:

  • 首先,非默认参数不应跟随默认参数,这意味着您无法在函数中定义(a = 'b',c)
    函数中定义参数的正确顺序为:
  • 位置参数或非默认参数,即(a,b,c)
  • 关键字参数或默认参数,即(a = 'b',r= 'j')
  • 仅关键字参数,即(*args)
  • var-keyword参数,即(**kwargs)
  • def example(a, b, c=None, r="w" , d=[], *ae, **ab):(a,b)是位置参数(c=none)是可选参数(r="w")是关键字参数(d=[])是列表参数(*ae)仅适用于关键字(*ab)是var-keyword参数
    所以先重新安排您的参数
  • 现在第二件事是在执行hgt = len1时必须定义len1
    保存默认值时未定义len1参数,定义函数时Python计算并保存默认值
    len1未定义,发生这种情况时不存在(仅在执行函数时存在)

  • 因此第二次删除此"len1 = hgt",这是python中不允许的。
    请记住参数和参数之间的区别。

    09-25 17:24