- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我还没有看到这个问题,我很想知道这里发生了什么。如果已经询问并回答,请原谅我。
在 Udacity 上学习类(class)时,讲师很快提到了他在 Python 代码中使用的一行,如下所示:
n = n and int(n)
他说这基本上相当于:
if n:
n = int(n)
该语句的工作原理正如他所描述的那样,但我很好奇它是如何工作的,因为我以前从未在 Python 中见过这种构造。谁能解释一下使用 and
是什么意思?在这个选角任务中,让它以这种方式工作?
此外,由于以前从未见过它,所以我不知道该语句的功能是这样的,这让我认为这可能不是编写这段代码的最 Pythonic 方式。这是一个广为人知和接受的快捷方式,还是我通常应该坚持明确的 if
当我需要做这样的事情时声明?
编辑:好的,最初的问题是重复的,并且已经在其他地方得到了明确的回答,现在也在这里。感谢大家的回答。我的最后一个问题是:在我的代码中我应该选择哪种方式(又名哪种方式更 Pythonic)?
最佳答案
条件1和条件2
。
condition1
通过时才执行
condition2
。如果 n
在 bool 上下文中解析为 True
,则 n
会通过语句 int(n)
转换为 int并分配给n
In context of Boolean operations the following are considered as false - False, None, numeric zero of all types, and empty strings and containers (including strings, tuples, lists, dictionaries, sets and frozensets)
来自doc
关于python - 这个选角任务是如何进行的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37642118/
我是一名优秀的程序员,十分优秀!