python3字符串拼接逗号_在Python中使用逗号、连接和字符串格式化程序的区别

要首先回答一般性问题,您可以在编写代码时使用打印一般性地将脚本中的信息输出到屏幕,以确保获得所期望的结果。

随着代码变得更加复杂,您可能会发现日志记录比打印更好,但这是另一个答案的信息。

在与Python解释器的交互会话中,打印和返回值的表示有很大的不同。打印应该打印到您的标准输出。在脚本中运行等效代码时,表达式返回值的回显表示(如果不是None,则显示在Python shell中)将是静默的。

一。印刷

在Python 2中,我们有print语句。在Python 3中,我们得到一个print函数,也可以在Python 2中使用。

用逗号打印语句(Python 2)

带有逗号分隔项的print语句使用空格分隔项。后面的逗号将导致追加另一个空格。没有尾随逗号将追加要追加到打印项的换行符。

您可以将每个项放在单独的print语句中,并在每个项之后使用逗号,它们将在同一行上打印相同的内容。

例如(这只适用于脚本,在交互式shell中,每行后面都会有一个新的提示):x = "Hello"

y = "World"

print "I am printing",

print x,

print y

将输出:I am printing Hello World

打印功能

使用Python 3中的内置打印功能,Python 2.6和2.7中也提供了此导入:from __future__ import print_function

您可以声明一个分隔符和一个结束符,这给了我们更多的灵活性:>>> print('hello', 'world', sep='-', end='\n****\n')

hello-world

****

>>>

sep的默认值是' ',end的默认值是'\n':>>> print('hello', 'world')

hello world

>>>

2。字符串连接

连接在内存中创建每个字符串,然后在它们的末端将它们组合成一个新字符串(因此这可能对内存不太友好),然后将它们同时打印到输出中。当需要将字符串(可能是在其他地方构造的)连接在一起时,这是很好的。print('hello' + '-' + 'world')

将打印hello-world

在尝试以这种方式将其他类型的文本连接到字符串之前,请小心,以便首先将文本转换为字符串。print('here is a number: ' + str(2))

印刷品here is a number: 2

如果尝试连接整数而不首先将其强制为字符串:>>> print('here is a number: ' + 2)

Traceback (most recent call last):

File "", line 1, in

TypeError: cannot concatenate 'str' and 'int' objects

这应该说明您应该只尝试连接已知为字符串的变量。接下来演示的新格式设置方法将为您处理此问题。

三。字符串插值

您演示的格式是从C中借用的字符串插值的旧样式。它使用旧字符串,一次创建一个新字符串。它的功能相当简单。当您可能需要构建一个相当大的模板时(在3+行和3+变量处,您肯定应该这样做)。

新的方法是这样做(使用参数索引):print('I am printing {0} and {1}'.format(x, y))

或者在Python2.7或3中(使用隐含索引):print('I am printing {} and {}'.format(x, y))

或者使用命名参数(这在语义上很容易阅读,但代码看起来不太枯燥(即不要重复自己的代码)print('I am printing {x} and {y}'.format(x=x, y=y))

相对于%样式的格式化(这里没有演示),这种格式的最大好处是它允许您组合位置参数和关键字参数print('I am printing {0} and {y}'.format(x, y=y))

Python 3.6中的新特性,格式化文本

Python 3.6将具有format literals,语法更优雅(冗余更少)。简单的语法如下:print(f'I am printing {x} and {y}')

格式文本实际上可以就地执行代码:>>> print(f'I am printing {"hello".capitalize()} and {"Wo" + "rld"}')

I am printing Hello and World

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值