这行代码如何允许[end=”“]在字母之间应用?

2024-09-29 23:19:16 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我在学习Python的基本知识。我遇到了打印功能,基本上可以打印一些东西

我了解到我可以使用[end=""]来结束打印功能。 比如说,

my_job = 'hacker'
print(my_job, end="")

基本上给我

hacker

另一个示例,使用与上述相同的值

print(my_job, end="test")

基本上给我

hackertest

然而,我随后在这个网站上看到了一个关于[end=""]函数如何真正工作的很酷的帖子。然后我注意到@Ritesh Karwa发布了这个代码

myjob = 'hacker'
for c in myjob: print(c, end=" ")

基本上给了他,

h a c k e r

我知道[end=]中“”内的空格允许输出有空格,但这是如何工作的?我的意思是,删除[for c in myjob:]并仅使用print函数,输出变为

hacker

这个[for c in myjob:]背后的机制是什么,它允许[end=]在字母之间应用空格,从而产生这个输出

h a c k e r

我想通过评论直接询问@Ritesh Karwa,但我没有足够的声誉。我不相信我问得很清楚,但我已经尽力了。提前感谢您提供的有用答案。我也在使用Python 3.xx


Tags: 函数in功能示例formyjobhacker
3条回答

在Python中,字符串也是迭代器(即,您可以创建一个循环来逐个字符访问它们)。在这种情况下:

for c in myjob:

正在创建一个循环,其中c将依次具有myjob中每个字符的值

如果你只是在循环中做了print(c),你最终会得到

h
a
c
k
e
r

end=' '所做的是替换默认的\n(换行符)字符,该字符通常会强制每个print语句如上所述在单独的行上打印,而不是在每次打印后打印end=' '(即空格)的内容。那是给你的

h a c k e r

在使用end=之后,您经常要记住的一件事是,下一个print(可能完全不相关)将在上一次打印之后直接恢复,因此将显示在同一行上。人们通常会使用一个单独的print()来打印一个新行,这样下一个无关的print语句就会从一个新行开始

myjob是字符串对象,因此是iterable。这意味着,例如,您可以应用诸如for letter in myjob之类的循环来迭代字符串中的所有字母

如您所见,print的可选end参数将标准end替换为指定的新行字符。因此,在本例中,每次出现在for循环中,都会打印下一个字母,后跟一个空格。如果不指定结尾,您将看到每个字母都将打印到新行

end=”“删除在打印操作结束时添加的不可见新行(\n)。 如果您不想在单独的行上获得结果,则可用于循环

相关问题 更多 >

    热门问题