象棋爱好者 发表于 2023-1-3 19:17:26

python问题

print("你好", name, sep=",", end="!")这个sep和 end是干嘛用的呀

tommyyu 发表于 2023-1-3 19:34:01

https://fishc.com.cn/thread-141463-1-1.html

jackz007 发表于 2023-1-3 19:39:34

本帖最后由 jackz007 于 2023-1-3 19:42 编辑

print(1,2,3,sep='+')# 在 1、2、3 之间添加'+',如果不写,那么缺省值是 sep = ' '
print(1,end='+2+3')   # 在 1 之后添加'+2+3',如果不写,那么缺省值是 end = '\n'

AhrimanSefid 发表于 2023-1-3 20:46:29

print()函数print()函数的作用是把某些信息输出到控制台上。官方文档提供的格式为:print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)print()函数的参数 -- *objects这里的*objects表示想要在控制台中显示出的内容,星号说明它的数量没有限制,所以,像这样写也是合法的:
[*]>>> print("I ","am ","a ","kid.")
[*]I am a kid.

复制代码
print()函数的参数 -- sepsep的作用就是在字符串中间插入文本,给sep赋值的文本就会被插入*objects的中间如果没有赋值的话,python就会默认不插入任何东西但是,由于前一个*objects的数量没有限制,我们不能直接对其进行赋值,不然python就会认为我们是在给就像下面一样:
[*]>>> print("Bryson","Payne"," ") #这里试图设置sep,把"win!"插入到*objects的中间
[*]BrysonPayne

复制代码
所以,我们在给sep赋值的时候就要表明:sep="win!",像下面的做法就是对的:
[*]>>> print("Bryson","Payne",sep=" ")
[*]Bryson Payne

复制代码
print()函数的参数 -- endend的作用就是在字符串末尾插入文本,给end赋值的文本就会被插入*objects的末尾如果没有赋值的话,python就会默认插入一个"\n",这是一个转义字符,表示换行与sep参数一样,也是要单独进行赋值:
[*]>>> print("I win",end="!")
[*]I win!

复制代码
print()函数的参数 -- filefile的作用就是指定要在哪里输出*objects,*objects就会输出到指定的file文件里。通常情况下,python会默认输出到控制台上。file 参数必须是一个具有 write(string) 方法的对象;如果参数不存在或为 None,则将使用 sys.stdout(输出到控制台)。 由于要打印的参数会被转换为文本字符串,因此 print()不能用于二进制模式的文件对象。 对于这些对象,应改用 file.write(...)print()函数的参数 -- flushflush是python3.3给python新添加的一个参数,给flush参数赋值的只能是一个布尔类型(True/False)的值如果没有对flush参数进行赋值的话,python会默认返回False虽然输出是否缓存通常取决于 file,但如果 flush 关键字参数为 True,输出流会被强制刷新。

象棋爱好者 发表于 2023-1-3 22:01:35

jackz007 发表于 2023-1-3 19:39


谢谢啦

象棋爱好者 发表于 2023-1-3 22:02:08

AhrimanSefid 发表于 2023-1-3 20:46
print()函数print()函数的作用是把某些信息输出到控制台上。官方文档提供的格式为:print(*objects, sep='...

谢谢啦
页: [1]
查看完整版本: python问题