这两个单引号令我困惑

时间:2017-10-26 04:43:16

标签: python break continue

for char in 'python string':
    if char == '':  # 1: problem
        break
    print(char, end='')  #2: problem
    if char == 'o':
        continue
  • 1:当我在这2个引号之间给出单个空格时 它显示一个结果,当没有空间显示另一个时 结果。为什么?
  • 2:当我在这2之间留出一个空格 引号字是间距。为什么呢?

2 个答案:

答案 0 :(得分:0)

1

''' '不同。第一个是空字符串,第二个是长度为1的字符串,其中有一个空格。 for-loop中的比较也永远不会返回true。迭代字符串会返回其中的每个字符,根据定义长度为1.因此char == ''比较始终为False。但是如果你在那里放置一个空格,当True是短语char中的空格时,它将返回'python string'

2:

end函数的print关键字定义了打印完所有位置参数后要打印的内容。默认为'\n',以打印换行符。因此,使用print('python', 'string', end=' ')将打印字符串python string(请注意末尾的额外空格)。

答案 1 :(得分:0)

结束参数定义了在打印内容时需要附加的内容。它默认为新行字符('\ n)或给定的任何字符。

for char in 'python string':
    print(char)

p
y
t
h
o
n

s
t
r
i
n
g

当没有给出空格或空字符串时,它会打印出字符串是什么:

for char in 'python string':
    print(char, end ='')

python string

使用单个空格,它会附加到每个字符:

for char in 'python string':
    print(char, end =' ')

p y t h o n   s t r i n g 

使用双倍空格,然后:

for char in 'python string':
    print(char, end ='  ')

p  y  t  h  o  n     s  t  r  i  n  g