在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ Python函數(shù)參數(shù)中的'\'是什么意思?

Python函數(shù)參數(shù)中的'\'是什么意思?

Python函數(shù)參數(shù)中的'/'是什么意思?

在這里遇到的, 這是源碼:

>>>import  sys
>>>sys.std.readlines()
>>> # 它提示框中的['/' makes preceding arguments as positional-only] 什么意思???

圖片描述
小白求解答, 如果Python官方有解釋, 順便發(fā)我一下鏈接, 謝謝!

回答
編輯回答
夢囈

https://www.python.org/dev/pe...
上面要翻墻。
其實我也不太懂的,positional argument 大概意思是按規(guī)定排序的,不能用 arg=1 或者 (a,b,c)或(b,c,a)隨意排。
那個forward slash也就是正斜杠def func(a,/,b) 表示前面的參數(shù)是positional only argmument。
不過呢,我不了解這種syntax怎么可以運行的,因為斜杠一般是不能做參數(shù)??? 希望有其人幫忙解答。
這或許只是文檔上作為提示作用吧?
對了,我在idle上嘗試過sys.stdin.readlines(1)和sys.stdin.readlines(-1)是有區(qū)別的,前者我輸入字符后直接換行就結(jié)束了輸入狀態(tài),而后者我要ctrl+D 才可以結(jié)束。

2017年7月28日 06:12
編輯回答
吃藕丑

參考文檔 PEP 457 -- Syntax For Positional-Only Parameters
https://www.python.org/dev/pe...

python 的參數(shù)有兩種

  1. 位置參數(shù)(positional argument)
  2. 關(guān)鍵詞參數(shù)(keyword argument)

比如 def foo(a, b=1): pass ,這里的 a 是位置參數(shù),b 是關(guān)鍵詞參數(shù)。

另外兩種常見的定義方式如

def sum(*args):
    pass
    
def option(**kwargs):
    pass

其中 args 表示參數(shù)數(shù)組(list 類型),kwargs 表示參數(shù)字典(dict 類型)。
對應(yīng)的調(diào)用方式如

sum(1, 2)
option(a=1, b=2)

最后, def readlines(hints=-1, /): pass , 這里的 / 不代表任何參數(shù),它指示前面的都是位置參數(shù),沒有關(guān)鍵詞參數(shù)。因此 readlines(1) 可以,但 readlines(hints=1) 不可以。
目前(2018年8月29日),這種語法只在 python C 里面定義,python 尚未實現(xiàn)。

2017年6月24日 06:48