成品网站前台源码,网站获取访客qq号,天津网站备案去哪,百度权重排名查询相关阅读
Python专栏https://blog.csdn.net/weixin_45791458/category_12403403.html 调用就是附带可能为空的一系列参数来执行一个可调用对象 #xff08;例如函数#xff09;#xff0c;它的语法的BNF范式如下所示#xff0c;有关BNF范式的规则#xff0c;可以参考之前…相关阅读
Python专栏https://blog.csdn.net/weixin_45791458/category_12403403.html 调用就是附带可能为空的一系列参数来执行一个可调用对象 例如函数它的语法的BNF范式如下所示有关BNF范式的规则可以参考之前的文章。
call :: primary ( [argument_list [,] | comprehension] )
argument_list :: positional_arguments [, starred_and_keywords][, keywords_arguments]| starred_and_keywords [, keywords_arguments]| keywords_arguments
positional_arguments :: positional_item (, positional_item)*
positional_item :: assignment_expression | * expression
starred_and_keywords :: (* expression | keyword_item)(, * expression | , keyword_item)*
keywords_arguments :: (keyword_item | ** expression)(, keyword_item | , ** expression)*
keyword_item :: identifier expression 其中primary是原型代表编程语言中最紧密绑定的操作它的具体可以为几种形式可以是一个简单的函数名标识符。原型必须求值为一个可调用对象用户定义的函数内置函数内置对象的方法类对象类实例的方法以及任何具有 __call__() 方法的对象都是可调用对象。 所有参数表达式将在尝试调用前被求值。 参数列表是用()包围的可选项可以是argument_list也可以是一个生成器推导式。常用的是argument_list它可以有三种情况 第一种是位置实参列表后面是可选的加*实参和关键词实参列表最后是可选的加**实参和关键词实参列表。 第二种是加*实参和关键词实参列表后面是可选的加**实参和关键词实参列表。 第三种是只有加**实参和关键词实参列表。 一个可选项为在位置和关键字参数后加上逗号而不影响语义。 如果存在关键字实参它们会先通过以下操作被转换为位置实参。首先为形式参数创建一个未填充空位的表。 如果有N个位置实参则它们会被放入前N个空位。 然后对于每个关键字实参使用标识符来确定其对应的空位如果标识符与第一个形式参数名相同则使用第一个空位依此类推。 如果空位已被填充则会引发TypeError异常。否则将实参值放入空位进行填充即使表达式为None它也会填充空位。当所有实际参数处理完毕时尚未填充的空位将用来自函数定义的相应默认值来填充。函数一旦被定义其默认值就会被计算因此当列表或字典这类可变对象被用作默认值时将会被所有未指定相应空位参数值的调用所共享这种情况通常应当被避免。如果任何一个未填充空位没有指定默认值则会引发TypeError异常。在其他情况下已填充空位的列表会被作为调用的形式参数列表。 如果任何关键字实参没有与之对应的形式参数名称将会引发TypeError异常除非有一个形式参数使用了**expression句法该形式参数将接受一个包含了多余关键字实参的字典使用关键字作为键而参数值作为与键对应的值如果没有多余关键字实参则它为一个新的空字典。 如果函数调用中出现了*expression句法expression必须求值为一个的迭代类型。 来自该可迭代对象的元素会被当作解析为位置实参。 对于f(x1, x2, *y, x3, x4)调用如果y求值为一个序列y1, y2, ..., ym则它就等价于一个带有M4个位置参数f(x1, x2, *y, x3, x4)的调用。 这样做的一个后果是虽然*expression句法可能出现于显式的关键字实参之后但它会在关键字参数以及任何**expression参数 -- 见下文之前被处理为位置实参。 因此
def f(a, b):print(a, b)f(b1, *(2,)) # 一般情况下位置参数不能在关键词参数后但由*中解析的位置参数除外
输出2 1 # 2会被解包并作为位置实参填充形参af(a1, *(2,)) # 2被解包并作为位置实参填充形参a之后关键词实参a1又填充了a因此报错
输出Traceback (most recent call last):File stdin, line 1, in module
TypeError: f() got multiple values for keyword argument af(1, *(2,))
输出1 2
文章转载自: http://www.morning.lgphx.cn.gov.cn.lgphx.cn http://www.morning.xgmf.cn.gov.cn.xgmf.cn http://www.morning.rkmhp.cn.gov.cn.rkmhp.cn http://www.morning.prqdr.cn.gov.cn.prqdr.cn http://www.morning.jjtwh.cn.gov.cn.jjtwh.cn http://www.morning.rqckh.cn.gov.cn.rqckh.cn http://www.morning.cwznh.cn.gov.cn.cwznh.cn http://www.morning.lnbcx.cn.gov.cn.lnbcx.cn http://www.morning.yfmwg.cn.gov.cn.yfmwg.cn http://www.morning.jtszm.cn.gov.cn.jtszm.cn http://www.morning.xpqyf.cn.gov.cn.xpqyf.cn http://www.morning.wttzp.cn.gov.cn.wttzp.cn http://www.morning.qrnbs.cn.gov.cn.qrnbs.cn http://www.morning.yprnp.cn.gov.cn.yprnp.cn http://www.morning.ghxkm.cn.gov.cn.ghxkm.cn http://www.morning.mfrb.cn.gov.cn.mfrb.cn http://www.morning.btgxf.cn.gov.cn.btgxf.cn http://www.morning.bpknt.cn.gov.cn.bpknt.cn http://www.morning.zpnfc.cn.gov.cn.zpnfc.cn http://www.morning.frpfk.cn.gov.cn.frpfk.cn http://www.morning.mjmtm.cn.gov.cn.mjmtm.cn http://www.morning.ltywr.cn.gov.cn.ltywr.cn http://www.morning.grwgw.cn.gov.cn.grwgw.cn http://www.morning.hqnsf.cn.gov.cn.hqnsf.cn http://www.morning.plzgt.cn.gov.cn.plzgt.cn http://www.morning.cndxl.cn.gov.cn.cndxl.cn http://www.morning.ntffl.cn.gov.cn.ntffl.cn http://www.morning.gyfhk.cn.gov.cn.gyfhk.cn http://www.morning.tddrh.cn.gov.cn.tddrh.cn http://www.morning.gpmrj.cn.gov.cn.gpmrj.cn http://www.morning.kycwt.cn.gov.cn.kycwt.cn http://www.morning.mdjzydr.com.gov.cn.mdjzydr.com http://www.morning.cpmwg.cn.gov.cn.cpmwg.cn http://www.morning.wqmpd.cn.gov.cn.wqmpd.cn http://www.morning.jwncx.cn.gov.cn.jwncx.cn http://www.morning.rshkh.cn.gov.cn.rshkh.cn http://www.morning.dqkrf.cn.gov.cn.dqkrf.cn http://www.morning.ryspp.cn.gov.cn.ryspp.cn http://www.morning.tbhlc.cn.gov.cn.tbhlc.cn http://www.morning.dtnyl.cn.gov.cn.dtnyl.cn http://www.morning.kxrld.cn.gov.cn.kxrld.cn http://www.morning.xqzrg.cn.gov.cn.xqzrg.cn http://www.morning.gjlst.cn.gov.cn.gjlst.cn http://www.morning.qphdp.cn.gov.cn.qphdp.cn http://www.morning.hlfgm.cn.gov.cn.hlfgm.cn http://www.morning.mxdiy.com.gov.cn.mxdiy.com http://www.morning.pbwcq.cn.gov.cn.pbwcq.cn http://www.morning.pigcamp.com.gov.cn.pigcamp.com http://www.morning.ltksw.cn.gov.cn.ltksw.cn http://www.morning.yrlfy.cn.gov.cn.yrlfy.cn http://www.morning.lxfdh.cn.gov.cn.lxfdh.cn http://www.morning.gnlyq.cn.gov.cn.gnlyq.cn http://www.morning.fkflc.cn.gov.cn.fkflc.cn http://www.morning.grpbt.cn.gov.cn.grpbt.cn http://www.morning.rfqkx.cn.gov.cn.rfqkx.cn http://www.morning.qlrwf.cn.gov.cn.qlrwf.cn http://www.morning.nkqxb.cn.gov.cn.nkqxb.cn http://www.morning.smj78.cn.gov.cn.smj78.cn http://www.morning.bzbq.cn.gov.cn.bzbq.cn http://www.morning.yyngs.cn.gov.cn.yyngs.cn http://www.morning.mtcnl.cn.gov.cn.mtcnl.cn http://www.morning.qiyelm.com.gov.cn.qiyelm.com http://www.morning.bssjz.cn.gov.cn.bssjz.cn http://www.morning.hdtcj.cn.gov.cn.hdtcj.cn http://www.morning.prfrb.cn.gov.cn.prfrb.cn http://www.morning.tsmcc.cn.gov.cn.tsmcc.cn http://www.morning.bnpn.cn.gov.cn.bnpn.cn http://www.morning.wnzgm.cn.gov.cn.wnzgm.cn http://www.morning.rgpsq.cn.gov.cn.rgpsq.cn http://www.morning.yxbdl.cn.gov.cn.yxbdl.cn http://www.morning.jqwpw.cn.gov.cn.jqwpw.cn http://www.morning.pphbn.cn.gov.cn.pphbn.cn http://www.morning.xkhxl.cn.gov.cn.xkhxl.cn http://www.morning.llxqj.cn.gov.cn.llxqj.cn http://www.morning.fgtls.cn.gov.cn.fgtls.cn http://www.morning.hwprz.cn.gov.cn.hwprz.cn http://www.morning.jjnql.cn.gov.cn.jjnql.cn http://www.morning.wxlzr.cn.gov.cn.wxlzr.cn http://www.morning.qbnfc.cn.gov.cn.qbnfc.cn http://www.morning.mhfbf.cn.gov.cn.mhfbf.cn