質問

とても面白かったの声明 "印刷(kw、":"は、キーワード[kw])" プロパティは、オブジェクトでは、エラーになります。

def cheeseshop(kind,*arguments,**keywords):
    print("--Do you have any",kind,"?")
    print("--I'm sorry, we're all out of",kind)
    for arg in arguments:
       print(arg)
    print("-"*40)
    print(keywords)
    keys=sorted(keywords)
    print(keys)
    for kw in keys:
        print(kw,":",keywords[kw])


cheeseshop("Limburger", "It's very runny, sir.",
           "It's really very, VERY runny, sir.",
           shopkeeper="Michael Palin",
           client="John Cleese",
           sketch="Cheese Shop Sketch")

その結果、以下

--Do you have any Limburger ?
--I'm sorry, we're all out of Limburger
It's very runny, sir.
It's really very, VERY runny, sir.
----------------------------------------
{'client': 'John Cleese', 'sketch': 'Cheese Shop Sketch', 'shopkeeper': 'Michael Palin'}
['client', 'shopkeeper', 'sketch']
client : John Cleese
shopkeeper : Michael Palin
sketch : Cheese Shop Sketch

私のアイデア"kw"を クライアント','スケッチ"や"店主', ない番号、その後どのように"kw"の指数のキーワードの声明 "印刷(kw、":"は、キーワード[kw])"?

を検証すが、私も挑戦しました別のプログラム:

letters=['a','b']
for kw in letters:
   print(letters[kw])

及び合理的な回答がポップアップします:

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
TypeError: list indices must be integers, not str

そのさらに混乱したいときに問題私の最初のプログラム。というポップアップと同じエラーです。

役に立ちましたか?

解決

関数の引数に先行して、 ** "というキーワード引数"、名前のパラメータが呼び出しの機能、例えば: client="John Cleese" お一例です。この場合、クライアントの名称およびジョン-Cleese"は値とします。引数に渡されたこのように配置されて dict, であるkey-value storeではなくリストが身近に

x = {
      "foo": "bar"
    } 
print x["foo"] # prints "bar"

他のヒント

このキーワード事業者、そのような配列のキー名です。

きのlib descriptionは、pythonドキュメント こちらの

におけ取ることができないという特別な性質**キーワード引数を提供する権利ではないかと思います。

こちらの であるチュートリアルの使用でも理解で) こちらの のstackoverflow関連する質問です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top