0

以下は、シェルで実行されるステートメントです。その前に Python ステートメントを記述して、ステートメントがエラーなしで実行されることを保証します。コードが何をするかは問題ではなく、実行されるだけです。以下は例です。コード: a = p(b % c)

エラーなしで実行されることを保証するために、このステートメントの前に置くステートメント:

def p(n):
    return n + 1
b = 45
c = 13

コード:

n = d[x](96) + 7

エラーなしで実行されることを保証するために、このステートメントの前に置くステートメント:

def hello(n):
    return n + 5
d = {1:hello}
x = 1

コードがわかりません。角括弧 [x] と括弧 (96) を組み合わせて、辞書 d の値を取得するにはどうすればよいでしょうか? どういう意味ですか?また、「hello」は文字列であるため、単語を引用符で囲んでいないのはなぜですか? 全体的なコードがわかりません。

4

2 に答える 2

7

は辞書であるためd、その中の要素にアクセスするには数字を使用する必要があります。index表示されているコードでは、それはxです。したがって、辞書のd[x]インデックスにある要素にアクセスします。x

d の定義が完了すると、辞書d = { 1:hello}のインデックスが名前付きの事前定義された関数を参照していることを意味するため、呼び出し中に、次の行で括弧が使用されます。1thhello

n = d[x](96) + 7

を設定x = 1したため、呼び出しは実際には次のように解析されます。

# d[x] calls dictionary element at index x
# x = 1, therefore, d[x] => d[1]
# d[1] is function hello
# d[1](96) will pass number 96 to function hello.
于 2012-04-23T05:23:58.173 に答える
2

a = p(b % c)

aによって返される値の名前ですppは関数名です。つまりdef p(args): pass(b % c)は関数に渡される引数です。p関数は除算から余りを見つけ、それをにb/c渡しpます。

n = d[x](96) + 7

nエントリの値によって返される値の名前です。dリストまたは口述である可能性があります。[x]取得されるアイテムのインデックスです。インデックス(96)の関数から返されたアイテムに渡す引数です。引数を指定して関数から返されたオブジェクトに追加されます。dx+7d[x]96

うまくいけば、これはあなたが何が起こっているのかを理解するための良い出発点になるでしょう。

于 2012-04-23T05:29:02.427 に答える