难度等级: 中间的 预测以下Python程序的输出。 项目1:
python
class Acc: def __init__( self , id ): self . id = id id = 555 acc = Acc( 111 ) print acc. id |
输出:
111
说明: 类“Acc”的实例化会自动调用方法_init___;并将对象作为自身参数传递。111被分配给名为id的对象的数据属性。 值“555”未保留在对象中,因为它未指定给类/对象的数据属性。所以,程序的输出是“111” 项目2:
python
for i in range ( 2 ): print i for i in range ( 4 , 6 ): print i |
输出:
0145
说明: 如果只向range方法传递了一个参数,Python会将此参数视为范围的结束,并且范围的默认起始值为0。因此,它将打印从0开始到提供的参数之前的所有数字。 对于第二个For循环,起始值显式为4,结束值为5。 方案3:
python
values = [ 1 , 2 , 3 , 4 ] numbers = set (values) def checknums(num): if num in numbers: return True else : return False for i in filter (checknums, values): print i |
输出:
1234
说明: 函数“filter”将返回列表值中的所有项,这些值在传递给函数“checknums”时返回True。“checknums”将检查该值是否在集合中。由于集合中的所有数字都来自“值”列表,因此列表中的所有原始值都将返回True。 方案4:
python
counter = {} def addToCounter(country): if country in counter: counter[country] + = 1 else : counter[country] = 1 addToCounter( 'China' ) addToCounter( 'Japan' ) addToCounter( 'china' ) print len (counter) |
输出:
3
说明: “len”函数的任务是返回字典中的键数。这里使用“addToCounter”功能将3个键添加到字典“country”。 请注意——字典的关键是 区分大小写。 试试你自己: 如果同一个密钥被传递两次会发生什么?? 本文由 普拉蒂克·阿加瓦尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。