Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “为什么?”&引用;当它违反格式标准时是否存在?_Python_Python 2.7 - Fatal编程技术网

Python “为什么?”&引用;当它违反格式标准时是否存在?

Python “为什么?”&引用;当它违反格式标准时是否存在?,python,python-2.7,Python,Python 2.7,如你所知,符号用于分隔行,如下所示: print "Hai"; print "Bai" 据我所知,这与python的格式标准背道而驰。那么,如果这违反了格式标准,为什么要实施它呢?它是如何正确使用的?“;”在使用的情况下,您别无选择。例如,当从命令行调用Python并愿意执行这两条语句时 $ python -c "print 'Hai'; print 'Bai'" Hai Bai 或更复杂的情况: $ python -c 'a=1; b=2; print "a + b = {a} + {b}

如你所知,
符号用于分隔行,如下所示:

print "Hai"; print "Bai"
据我所知,这与python的格式标准背道而驰。那么,如果这违反了格式标准,为什么要实施它呢?它是如何正确使用的?

“;”在使用的情况下,您别无选择。例如,当从命令行调用Python并愿意执行这两条语句时

$ python -c "print 'Hai'; print 'Bai'"
Hai
Bai
或更复杂的情况:

$ python -c 'a=1; b=2; print "a + b = {a} + {b} = {res}".format(a=a, b=b, res=a+b)'
a + b = 1 + 2 = 3

注意:不要从字面上理解我的“别无选择”,你会在评论中找到一些很好的案例替代方案。

如果你想快速确定某件事情的效率,那么在Jan Vlcinsky的回答中,
timeit
会派上用场。例如,():


当使用
python-c
从命令行执行简单的语句链时,它可以派上用场。特别是当使用
timeit
时,它会派上用场。格式化标准很少被强制执行到足以使语法上的便利完全消失。为什么仍然允许使用制表符进行缩进,因为使用制表符会违反PEP 8的规定?我本来想用制表符来标记这个问题,只是为了搞乱大家,但这并不好。实际上,您还有另一个选择,使用
python-c“exec(\'foo\\nbar\”)
@user667648随您的便。但是你的
timeit
便笺无论在哪里都值得一张便笺。你为什么不把它添加到Jan的答案中呢?呸,这可以不用分号写
python-m timeit-s'text,char=“sample string”,“g”''char in text'
@user667648我只是在开玩笑。对于一次性,尤其是
timeit
setup
参数,这真的不重要。不过,也许知道元组解包对一些路人来说是有用的。@ChristianBerendt这个答案展示了一个我不知道但我喜欢的案例。user667648绝对值得他的投票。
python -m timeit -s 'text = "sample string"; char = "g"'  'char in text'