我经常使用Python的print
语句来显示数据。是的,我知道'%s %d' % ('abc', 123)
方法,'{} {}'.format('abc', 123)
方法和' '.join(('abc', str(123)))
方法。我也知道splat运算符(*
)可用于将Iterable扩展为函数参数。但是,我似乎无法通过print
声明来做到这一点。使用清单:
>>> l = [1, 2, 3]
>>> l
[1, 2, 3]
>>> print l
[1, 2, 3]
>>> '{} {} {}'.format(*l)
'1 2 3'
>>> print *l
File "<stdin>", line 1
print *l
^
SyntaxError: invalid syntax
使用元组:
>>> t = (4, 5, 6)
>>> t
(4, 5, 6)
>>> print t
(4, 5, 6)
>>> '%d %d %d' % t
'4 5 6'
>>> '{} {} {}'.format(*t)
'4 5 6'
>>> print *t
File "<stdin>", line 1
print *t
^
SyntaxError: invalid syntax
我想念什么吗?这根本不可能吗?接下来到底是什么print
?该文档说该print
关键字后面是逗号分隔的表达式列表,但是我想这与列表数据类型不同。我在SO和Web上做了很多挖掘工作,却没有找到明确的解释。
我正在使用Python 2.7.6。
print
是Python
2.x中的语句,不支持*
语法。您可以从文档中print
列出的语法中看到这一点:
print_stmt :: =“ print”([expression(“,” expression)* [“,”]]
| “ >>”表达式[(“,”表达式)+ [“,”]])
请注意*
,print
关键字之后如何没有使用选项。
然而,*
语法 是 支持内部函数调用,它只是恰巧print
是在Python
3.X的功能
。这意味着您可以从导入__future__
:
from __future__ import print_function
然后使用:
print(*l)
演示:
>>> # Python 2.x interpreter
>>> from __future__ import print_function
>>> l = [1, 2, 3]
>>> print(*l)
1 2 3
>>>
问题内容: 有人知道为什么不能在涉及迭代器/列表/元组的表达式中使用一元()运算符的原因吗? 为什么只限于功能解压缩?还是我认为这是错误的? 例如: 操作员为何不: 而当运算符与函数调用一起使用时,它的确会扩展: 使用列表时,和之间存在相似之处,而使用其他类型扩展列表时则没有相似之处。 例如: 问题答案: 如 PEP 448中 所述,已在Python中添加了对列表,字典,集合和元组文字进行解包的功
本文向大家介绍Ruby数组和splat(*)运算符,包括了Ruby数组和splat(*)运算符的使用技巧和注意事项,需要的朋友参考一下 示例 的*操作者可用于解压缩变量和数组,使得它们可以作为一个独立的参数的方法进行传递。 如果尚未将单个对象包装在Array中,则可以使用它: 在上面的示例中,该wrap_in_array方法接受一个参数value。 如果value为Array,则将其元素解压缩,并
问题内容: 如何覆盖解压缩语法和的结果? 例如,您能否以某种方式创建行为如下的对象: 注意: 迭代通过(“ for x in something”)从* splat解包返回不同的元素。 我查看了和,但是这些函数仅涉及两个操作数(如和)的用法,并且似乎与splat运算无关。 问题答案: 迭代对象,并将其元素用作参数。迭代对象的,并使用(相当于括号表示法)来获取键值对。要进行定制,只需使您的对象可迭代
我必须使用Java通过热敏打印机打印收据。我已经完成了所有工作。我的程序从数据库中获取数据,并使用特殊字符、制表符和\n转换为一个字符串。然后将字符串传递给另一个将其转换为图形的方法。 问题是当我点击打印按钮时,白纸就出来了。我注意到我的字符串的前4-5个字符被打印在纸币最末端右上角的最后一行。我的打印机是爱普生TM-T81。 打印账单的方法是: 问题是什么?我该如何解决?我认为我没有在drawS
在我的项目中,客户需要使用POS打印机打印收据,这可以使用JAVA POS来完成。我在网上搜索没有任何有用的材料,但发现 1.javapos 2.jpos 可以有人请指导我应该进行JAVA POS或JPOS。 该应用程序基于Java Swing desktop而不是基于web。 真的坚持这一点,任何帮助都是非常有用的
我通过使用PDFiumSharp将每页转换为PNG图像来打印PDF文件。接下来,我将此图像绘制为图形。 问题是打印机接收到的数据非常大,整个过程运行缓慢。我试图在Windows上使用lpr命令。它可以直接处理PDF文件,但我的应用程序需要支持双面打印、不同的纸张来源等,这在lpr中是不可用的。 如何使用System. Drawing. Printig(或其他提供类似功能的东西)打印PDF而不转换为