另一个提示-如果有人在HackerRank上学习Python,知道这一点对于入门至关重要。
我正在尝试理解以下代码:
stamps = set()
for _ in range(int(input())):
print('underscore is', _)
stamps.add(raw_input().strip())
print(stamps)
输出:
>>>2
underscore is 0
>>>first
set(['first'])
underscore is 1
>>>second
set(['second', 'first'])
我把2作为第一个原始输入。函数如何知道我只循环两次?这让我失望,因为这不是典型的…对于xrange(0,2)结构中的我来说。
一开始我的想法是下划线重复了shell中的最后一个命令。因此,我在代码中添加了打印语句,以查看下划线的值…但这些值仅显示0和1,就像典型的循环结构一样。
我已经阅读了这篇文章,但仍然不明白使用了下划线的这三种用法中的哪一种。
Python中单个下划线“ _”变量的用途是什么?
我刚刚开始学习Python,因此非常感谢您进行简单的解释!
ncoghlan的答案列出_
了Python的3种常规用法:
- 将最后执行的语句的结果保存在交互式解释器会话中。此先例是由标准CPython解释器设置的,其他解释器也纷纷效仿
对于i18n中的翻译查询(我相信是从相应的C约定导入的),如以下代码所示:
raise forms.ValidationError(_("Please enter a correct username"))`
作为通用的“ throwaway”变量名称,它表示函数结果的一部分被有意忽略,如代码所示:
label, has_label, _ = text.partition(':')
您的问题是您的代码示例中正在使用其中之一。答案将是一个可抛弃的变量(情况3),但 此处将 其内容打印出来用于调试。
但是,_
如果以任何方式使用它的值,则将其用作循环变量并不是通用的Python约定。因此,您经常会看到:
for _ in range(10):
print("Hello world")
其中,_
立即发出信号,读者的价值并不重要,它的循环只是重复10次。
但是在诸如
for i in range(10):
do_something(i)
使用循环变量的值的地方,习惯上使用变量名称,例如i
,j
而不是_
。
>>> class MyClass(): ... def __init__(self): ... self.__superprivate = "Hello" ... self._semiprivate = ", world!" ... >>> mc = MyClass() >>> print mc.__superprivate Traceback (most recen
大家好。这是我学习编程的第五周。我应该创建一个程序,让用户三次尝试输入一个有效的值。如果第三次尝试的值无效(负数),那么它将提示错误消息并终止。 问题是我可以输入两个无效值,后跟一个有效值,但它仍然会给出错误消息并终止。程序应计算第三个有效值并进行数学运算,然后打印转换。 例如: 你想把多少英里换成公里?-1 不能输入负值! 输入正确的英里数:-1 不能输入负值! 输入正确的英里数:5 错误:不能
问题内容: 我对此并不陌生,只是想了解这一说法。我知道应该替换/块。 现在假设我做这样的事情: 如何用上下文管理器代替它? 问题答案: 并不能真正代替/ ,而是/ 。不过,在异常情况下,您 可以 使上下文管理器执行与非异常情况不同的操作: 这是上下文管理器决定抑制异常的位置(就像您通过不在子句中重新引发异常一样)。
本文向大家介绍python中单下划线和双下划线分别是什么?相关面试题,主要包含被问及python中单下划线和双下划线分别是什么?时的应答技巧和注意事项,需要的朋友参考一下 name:一种约定,python内部的名字,是用来与用户自动以的名字区分开,防止冲突
本文向大家介绍Python3中_(下划线)和__(双下划线)的用途和区别,包括了Python3中_(下划线)和__(双下划线)的用途和区别的使用技巧和注意事项,需要的朋友参考一下 在看一些Python开源代码时,经常会看到以下划线或者双下划线开头的方法或者属性,到底它们有什么作用,又有什么样的区别呢?今天我们来总结一下(注:下文中的代码在Python3下测试通过) _ 的含义 在python的类中
问题内容: 看起来XStream(com.thoughtworks.xstream-> xstream 1.4.2)正在以一种非常奇怪的方式处理元素和属性名称中的下划线。我需要从属性中带有下划线的客户那里获取并解析xml。这是我第一次尝试使用XStream,但由于希望避免所有丑陋的xml解析,我有些失望。 在这里,我提供了一个小的测试样本来阐明这一行为。最后一个例子显示了我的问题。 这个输出 现在
本文向大家介绍在Python下尝试多线程编程,包括了在Python下尝试多线程编程的使用技巧和注意事项,需要的朋友参考一下 多任务可以由多进程完成,也可以由一个进程内的多线程完成。 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。 由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread
Python新手。我正在尝试在使用 while 循环从用户获取输入后打印数字。 我的代码从user获取int,然后运行循环。在打印第一个数字后,代码要求继续,之后循环将继续。 我的代码如下: 代码正在做和额外的循环,然后在得到答案后终止循环。最重要的是,在最后一个循环中,如果答案是“n”,它就会继续运行。