タグ付けされた質問 「argument-unpacking」

21
**(ダブルスター/アスタリスク)および*(スター/アスタリスク)はパラメーターに対して何をしますか?
OverаэтотвопросестьответынаStack Overflowнарусском:Чтозначит*(звёздочка)и**двойнаязвёздочкавПитон 次のメソッドの定義では、何がない*と**のために何param2? def foo(param1, *param2): def bar(param1, **param2):

5
関数呼び出しで、スター演算子はどういう意味ですか?
の*ようなコードzip(*x)やのようなPythonでの演算子の意味は何f(**k)ですか? インタプリタの内部でどのように処理されますか? パフォーマンスにまったく影響しますか?速いですか遅いですか? いつ役に立ち、いつ役に立たないのですか? 関数宣言または呼び出しで使用する必要がありますか?

3
解凍、拡張解凍、ネストされた拡張解凍
次の式について考えてみます。一部の表現は「コンテキスト」を表すために繰り返されていることに注意してください。 (これは長いリストです) a, b = 1, 2 # simple sequence assignment a, b = ['green', 'blue'] # list asqignment a, b = 'XY' # string assignment a, b = range(1,5,2) # any iterable will do # nested sequence assignment (a,b), c = "XY", "Z" # a = 'X', b = …

4
引数として配列を解凍する
PythonとRubyには、配列を引数としてアンパックするためのsplat演算子(*)があります。JavaScriptには.apply()関数があります。Goの関数引数として配列/スライスをアンパックする方法はありますか?このためのリソースも同様に素晴らしいです! これに沿った何か: func my_func(a, b int) (int) { return a + b } func main() { arr := []int{2,4} sum := my_func(arr) } 構文上の誤りやさまざまな誤りを犯している場合は、謝罪します。Goは初めてです。

1
Python-メソッドパラメータの値の展開順序
def fun(a, b, c, d): print('a:', a, 'b:', b, 'c:', c, 'd:', d) なぜこれが機能するのか fun(3, 7, d=10, *(23,)) そしてプリントアウト: a: 3 b: 7 c: 23 d: 10 この間 fun(3, 7, c=10, *(23,)) ではない Traceback (most recent call last): File "/home/lookash/PycharmProjects/PythonLearning/learning.py", line 10, in <module> fun(3, 7, c=10, *(23,)) TypeError: fun() …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.