提拉米苏Su 发表于 2021-1-24 20:43:47

Python零基础变量和字符串下,动手题第二个

>>> for i in range(1, 10):
...   for j in range(1, i+1):
...         print(i, "x", j, "=", i * j, end=' ')
...   print("\n")
这是什么意思啊,到end看不懂了

Twilight6 发表于 2021-1-24 20:50:44


end 是 print 函数的一个默认参数,可以用 help 来看默认文档:
>>>help(print)
Help on built-in function print in module builtins:
print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
   
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.

可以看出,print 中的 end 参数默认值是为 '\n' 即换行符,这也是 print 函数为什么能够自动换行的原因

所以你重新赋值:print(i, "x", j, "=", i * j, end=' ')就相当于将 end 的值改变

而 end 参数的作用是 print 函数内所有参数打印结束后,追加打印一个 end ,所以此时你的代码就默认追加打印一个 ' ' 空格字符串

jackz007 发表于 2021-1-24 21:06:43

      end 是 print() 函数的一个命名可选参数,end = '' 的作用是,改变 print() 函数在输出完信息后,会自动回车换行的行为,因为,如果不定义此参数,缺省值是 end = '\n',就是说,在显示完所有输入参数的内容后,会自动换行。
页: [1]
查看完整版本: Python零基础变量和字符串下,动手题第二个