0

下面是要在 shell 中执行的语句。在它之前编写 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 中的值?这意味着什么?另外,“你好”为什么没有引号,因为它是一个字符串?我只是没有得到整体的代码。

4

2 回答 2

7

因为d是字典,所以访问其中的任何元素都需要使用一个index数字,在显示的代码中,它是x. 因此,d[x]访问x字典索引处的元素。

当 d 的定义完成时,d = { 1:hello}这意味着1th字典的索引是指hello因此命名的预定义函数,在调用期间,以下行中使用了一个括号:

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)是您传递给从dat index中的函数返回的项目的参数x。被添加到从带有参数+7的函数返回的对象中。d[x]96

希望这将是您了解正在发生的事情的一个很好的起点。

于 2012-04-23T05:29:02.427 回答