2017-03-05 2 views
-1

私は、ユーザーが入力を求められ、出力を得る簡単なコンソールユーティリティを構築しています。引数はargsに格納されています。スプラット演算子はPythonで空リストと何をしますか?

$ ls -optional_arg 
args = ['ls', '-optional_arg'] 

いくつかのコマンドが唯一の引数として与えられた場合、入力を処理する必要がありました。パラメータなしで関数で使用する場合スプラット演算子(「*」)との範囲外のスライス

$ ls 
args = ['ls'] 

が正常に動作しますが、私は、このための任意の説明を見つけることができませんでした。

func_without_param(*args[1:]) 

dirname 
things.zip 

スプラットを使用して空のリストをアンパックすると、何が起こっているのか誰でも説明できますか?

+0

不明な点は何ですか?あなたが見るように、それは単に引数を送信しません。 – TigerhawkT3

答えて

0

args == ['ls']args[1:] == []の場合。 func_without_param(*[])func_without_param()に相当します。

+0

私はOPが空リスト(「スプラットを使って空リストをアンパックするとき」)であると認識します。また、引数を送信しない(「うまくいく」)のと同じことが分かります。彼らが求めている他の情報がわからない。 – TigerhawkT3

+0

ありがとう、ジョン、私は空リストのことを理解しています。特定の「空の」型が関数に渡されるかどうか疑問に思うだけです。それはちょうどそこに空白のように見えます。 – Kirill

+0

あなたの質問は 'func()'がどのように働くのですか? 'func(* [])'は文字通り 'func()'と同等です。あるいは 'func(* [])'が 'func()'になる方法を尋ねていますか? –

関連する問題