如何编写内联if语句用于打印?
本文翻译自:How to write inline if statement for print?
I need to print some stuff only when a boolean variable is set to True
. 我只需要在布尔变量设置为True
时打印一些东西。 So, after looking at this , I tried with a simple example: 所以,看后这个 ,我试图用一个简单的例子:
>>> a = 100
>>> b = True
>>> print a if bFile "<stdin>", line 1print a if b^
SyntaxError: invalid syntax
Same thing if I write print a if b==True
. 如果我写print a if b==True
一样的东西。
What am I missing here? 我在这里错过了什么?
#1楼
参考:https://stackoom.com/question/nqdq/如何编写内联if语句用于打印
#2楼
Inline if-else EXPRESSION must always contain else clause, eg: 内联if-else EXPRESSION必须始终包含else子句,例如:
a = 1 if b else 0
If you want to leave your 'a' variable value unchanged - assing old 'a' value (else is still required by syntax demands): 如果你想保持'a'变量值不变 - 确定旧的'a'值(语法要求仍然需要):
a = 1 if b else a
This piece of code leaves a unchanged when b turns to be False. 这段代码留下不变当b变成是假的。
#3楼
You always need an else
in an inline if: 如果出现以下情况,您总是需要内联else
:
a = 1 if b else 0
But an easier way to do it would be a = int(b)
. 但更简单的方法是a = int(b)
。
#4楼
The 'else' statement is mandatory. 'else'语句是强制性的。 You can do stuff like this : 你可以做这样的事情:
>>> b = True
>>> a = 1 if b else None
>>> a
1
>>> b = False
>>> a = 1 if b else None
>>> a
>>>
EDIT: 编辑:
Or, depending of your needs, you may try: 或者,根据您的需要,您可以尝试:
>>> if b: print(a)
#5楼
For your case this works: 对于您的情况,这适用:
a = b or 0
Edit: How does this work? 编辑:这是如何工作的?
In the question 在问题中
b = True
So evaluating 所以评估
b or 0
results in 结果是
True
which is assigned to a
. 分配给a
。
If b == False?
如果b == False?
, b or 0
would evaluate to the second operand 0
which would be assigned to a
. , b or 0
将评估将分配给a
的第二个操作数0
。
#6楼
Python does not have a trailing if
statement . Python 没有尾随if
语句 。
There are two kinds of if
in Python: 在Python中有两种if
:
if
statement:if
声明:if condition: statement if condition: block
if
expression (introduced in Python 2.5)if
表达式 (在Python 2.5中引入)expression_if_true if condition else expression_if_false
And note, that both print a
and b = a
are statements. 请注意, print a
和b = a
都是语句。 Only the a
part is an expression. 只有a
部分是表达式。 So if you write 所以,如果你写
print a if b else 0
it means 它的意思是
print (a if b else 0)
and similarly when you write 而且当你写作时也是如此
x = a if b else 0
it means 它的意思是
x = (a if b else 0)
Now what would it print/assign if there was no else
clause? 现在,如果没有else
条款,它会打印/分配else
? The print/assignment is still there . 打印/分配仍在那里 。
And note, that if you don't want it to be there, you can always write the regular if
statement on a single line, though it's less readable and there is really no reason to avoid the two-line variant. 请注意,如果您不希望它出现在那里,您总是可以在一行上编写常规if
语句,尽管它的可读性较差,并且没有理由避免使用两行变体。
如何编写内联if语句用于打印?相关推荐
- ARM_NEON_CNN编程 SIMD单指令多数据流 intrinsics指令 内联汇编 CNN卷积网络优化 深度学习优化
ARM_NEON_CNN编程 SIMD单指令多数据流 intrinsics指令 内联汇编 CNN卷积网络优化 深度学习优化 博文末尾支持二维码赞赏哦 _ 本文github 神经网络arm neon加速 ...
- 内联汇编 - 从头开始
FROM: http://www.ibm.com/developerworks/cn/aix/library/au-inline_assembly/ 对于 C/C++ 程序员来说,内联汇编并不是一个新 ...
- C 语言内联汇编介绍
文章目录 为什么要用内联汇编 内联汇编的基本要素 语法 汇编语句模板 操作数 输出部分和输入部分 操作数约束 常用约束 寄存器操作数约束 内存操作数约束 (m) 匹配(数字)约束 为什么要用内联汇编 ...
- 内联函数和编译器对Go代码的优化
什么是内联函数 图片版权:Renee French. 在很多讲 Go 语言底层的技术资料和博客里都会提到内联函数这个名词,也有人把内联函数说成代码内联.函数展开.展开函数等等,其实想表达的都是 Go ...
- GCC Inline ASM GCC内联汇编
GCC 支持在C/C++代码中嵌入汇编代码,这些汇编代码被称作GCC Inline ASM--GCC内联汇编.这是一个非常有用的功能,有利于我们将一些C/C++语法无法表达的指令直接潜入C/C++代码 ...
- 汇编语言---GCC内联汇编
GCC支持在C/C++代码中嵌入汇编代码,这些代码被称作是"GCC Inline ASM"(GCC内联汇编); 一.基本内联汇编(寄存器前一个%) GCC中基本的内联汇编非常易懂, ...
- 汇编与C/C++内联嵌入汇编
汇编语言格式简介 汇编语言的指令格式,目前有两种不同的标准:Windows下的汇编语言基本上都遵循Intel风格的语法,比如:MASM.NASM;而Unix/Linux下的汇编语言基本上都遵循AT&a ...
- 汇编程序设计与计算机体系结构软件工程师教程笔记:内联汇编与宏
<汇编程序设计与计算机体系结构: 软件工程师教程>这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译.中文版是2019年出版的.个人感觉这本书真不错,书中介绍了 ...
- linux arm gcc 内联汇编参考手册
关于本文档 GNU C 编译器为 ARM 精简指令系统处理器提供了在 C 代码中内嵌汇编的功能.这种非常酷的特性提供了一些 C 代码没有的功能,比如手工优化软件关键代码.使用相关的处理器指令. 本文假 ...
最新文章
- EXCHANGE证书
- Linux(CentOS)安装分区方案
- 中国博士开发可交互全球疫情地图,登上柳叶刀,GitHub已有4500星成为热榜第四...
- 移植uboot第九步:支持yaffs映像烧写
- 5.1matlab数据统计分析(最大值、最小值、平均值、中值、和、积、累加和、累加积、标准差、相关系数、排序)
- protoc.exe java_protobuf java 使用 window
- 隐藏标准选择界面按钮
- boost::mp11::mp_partial_sum相关用法的测试程序
- MFC主线程使用WaitForSingleObject阻塞的问题
- 解释下列术语计算机系统结构,计算机系统结构第5章部分习题参考答案
- NOI数据结构:最小树形图
- 微信小程序复制就好-JS工具eval5,用JS替换VBA处理Excel数据
- Java冒泡排序详解
- 高等数学学习笔记(1)——微分方程解法公式
- 沉思录三:敏捷开发的精髓是什么
- cadence修改板框倒角_Allegro实操技巧:如何对矩形板框进行倒角设置?
- java第一周的实验题,待优化(李老师)
- mysql8.0 之 sql 优化《三B》 之 优化范围查询 总览 总结
- POJ3614 [USACO07NOV]防晒霜Sunscreen
- oracle增量恢复dg备库,rman增量恢复DG备库出现GAP的情况