遗落人间小仙女 发表于 2021-5-21 16:28:07

第二次课后作业bug

课后题是:
请编写代码:使用 input() 函数让用户录入姓名,然后将名字保存到变量(name)中,最后使用 print() 函数打印出来。

答案如下:
>>> name = input("请输入您的名字:")
请输入您的名字:明珠
>>> print("你好", name, sep=",", end="!")
你好,明珠!

那位大神解释一下这句
print("你好", name, sep=",", end="!")
是怎么回事,怎么还有sep,end呢

qq1151985918 发表于 2021-5-21 16:40:28

sep end 是 print的两个参数
sep表示多个print对象的分隔符,默认为空格 ,
end表示本行print结尾最后所跟的字符,默认为换行

灰晨 发表于 2021-5-21 16:41:00

sep参数是用来设定print()中的多个对象之间的连接符号是什么,默认是空格,而print中多个对象之间是通过逗号,来分隔。
end参数用来设定print输出的内容以什么结尾,默认是‘\n’,这就是为什么多个print()函数输出的内容会分别换行

Peteryo01223 发表于 2021-5-21 16:43:06

本帖最后由 Peteryo01223 于 2021-5-21 16:52 编辑

>>> 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.


Python 里面有解释 print 这个函数,如上。这是官方解释,最权威。

Print() 是个 BIF,内置函数,开发者提前写好的,方便我们大家直接调用。本质上,它也是一个函数啦,所以你看到的 sep 和 end,都是这个函数中,由开发者当时自己设定几个的参数,一般是隐藏的,看不到,但一直存在。其中:


[*]sep,即:seperation 分隔,默认值是空格。你可以试试看,给 sep 一个 *,你就能看到,str 之间,由* 分割开了。
[*]end,即:end 结尾,默认值是换一行。你试试,给 end 一个 \n\n\n,那么末尾就会回车三次,也就是换行三次。


这些参数都有默认值,平时你不写,python 就会按照默认值处理。
>>> print('1','2','3')
1 2 3
>>> print('1','2','3' , sep='*')
1*2*3
>>> print('1','2','3' , sep='*', end = '\n\n\n')
1*2*3


>>>

Twilight6 发表于 2021-5-21 16:46:00


sep、end 这些都是属于 print 函数的参数,而平时不需要你赋值是因为它们都有默认值

例如 sep 的默认值是一个空格,其主要用于各需要打印的变量之间的间隔字符

比如 print('A','B',sep='!!!') 此时打印出来的结果会是: A!!!B

就是将 A 和 B 连接,并在它们之间插入!!! 之后打印出来。

而 end 参数的功能是在 print 函数打印结束后,追加打印 end 参数,默认值为 \n 即换行符

这也是为什么 print 函数会自动换行的原因,比如你这里将 end 赋值为 ! 感叹号,此时 print 追加打印的就不是换行符,而是 感叹号了~

遗落人间小仙女 发表于 2021-5-21 17:24:48

Peteryo01223 发表于 2021-5-21 16:43
Python 里面有解释 print 这个函数,如上。这是官方解释,最权威。

Print() 是个 BIF,内置函数,开发 ...

感谢大佬,讲的很透彻{:5_106:}
页: [1]
查看完整版本: 第二次课后作业bug