python具有默认参数 可变参方法数的调用的问题

 def myfunc7(name,city='beijing',*args,age,sex,**kws):
    print('name:',name,'city:',city,'args :',args,'age:',age,'sex :',sex,'other :',kws);

如上方法
myfunc7('lamb',*[1,2,3],age='25',sex='m',**{'money':2000,'height':172});#city输出是1如何解决 方法调用上有问题。。
Python 3.6.2rc1
原因是什么?如何解决?

我想着city输出的应该是 beijing 实际上输出的是1

是正常的,被覆盖掉了。

参考(廖雪峰的Python教程):

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431752945034eb82ac80a3e64b9bb4929b16eeed1eb9000

另外你的参数定义有问题,
参考:

在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

  def myfunc7(name,age,sex,city='beijing',*args,**kws):

这样定义去试试.