鱼C论坛

 找回密码
 立即注册
查看: 2082|回复: 11

[已解决]print中end的参数让我懵逼!!!

[复制链接]
发表于 2020-7-8 09:46:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def fun(var):
    var = 1314
    print(var, end='')

var = 520
fun(var)
print(var)

---------------------------------------
print('请输入一个整数:', end='')
temp = input()

-------------------------------------
这个end让我有点迷惑,它是怎么用的,为什么这么用?
最佳答案
2020-7-8 09:50:40
本帖最后由 Twilight6 于 2020-7-8 09:55 编辑



print 中的 end 默认参数 在将 print 中的内容全部打印完成后会追加打印一个 end 参数

而 print 的end 参数默认值是 \n 换行符,这也是为什么 print 会自动换行的原因

当我们人为将 end 重新赋值时候,end= '\n' 就会被我们人为赋值的值所覆盖

比如你等于一个空字符串 end = ''  那么将在 print 函数打印完成后追加打印一个 end 参数的值,即打印一个空字符串

举个例子:
不改变 end 参数的默认值:
print('我好帅!~')
print('是的!')
输出结果:
我好帅!~
是的!
改变 end 参数的默认值:
print('我好帅!~',end='!!!!')
print('是的!')
输出结果:
我好帅!~!!!!是的!

为什么这么用? 这里只是为了打印在一行 所以这样使用而言,这里没有什么具体含义和作用

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-8 09:50:40 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-7-8 09:55 编辑



print 中的 end 默认参数 在将 print 中的内容全部打印完成后会追加打印一个 end 参数

而 print 的end 参数默认值是 \n 换行符,这也是为什么 print 会自动换行的原因

当我们人为将 end 重新赋值时候,end= '\n' 就会被我们人为赋值的值所覆盖

比如你等于一个空字符串 end = ''  那么将在 print 函数打印完成后追加打印一个 end 参数的值,即打印一个空字符串

举个例子:
不改变 end 参数的默认值:
print('我好帅!~')
print('是的!')
输出结果:
我好帅!~
是的!
改变 end 参数的默认值:
print('我好帅!~',end='!!!!')
print('是的!')
输出结果:
我好帅!~!!!!是的!

为什么这么用? 这里只是为了打印在一行 所以这样使用而言,这里没有什么具体含义和作用

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-7-8 09:59:05 | 显示全部楼层
END的其他模式  感觉意义也不太大
python 的print  默认就是换行打印,不象c  用\n 控制
所以 end="" 你记住 就是不换行输出  这个功能比较有用  就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-7-8 10:02:21 | 显示全部楼层
end翻译过来不就是结尾么?print()函数默认是end="\n"既默认用换行符结尾。
所以你代码里赋值为""时,相当于就是没有结尾就是""相当于没有结尾。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-8 10:05:09 | 显示全部楼层
Twilight6 发表于 2020-7-8 09:50
print 中的 end 默认参数 在将 print 中的内容全部打印完成后会追加打印一个 end 参数

而 print 的 ...

懂了 那为什么
print('请输入一个整数:',end='')
temp = input()
这个为什么会把输入的值打在后面,如果要把输入的值打在后面不应该是这样吗:
print('请输入一个整数:',end='')
print(input())
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-8 10:07:45 | 显示全部楼层
def花 发表于 2020-7-8 10:05
懂了 那为什么
print('请输入一个整数:',end='')
temp = input()




input 会自己打印出字符串,不需要你用 print 打印

如果你用 print 打印是打印 input 函数的返回值,即是用户接受 input 输入时候 返回的字符串

上面的代码是用 temp 参数来接收 input 用户输入的字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-8 10:07:57 | 显示全部楼层
yhhpf 发表于 2020-7-8 10:02
end翻译过来不就是结尾么?print()函数默认是end="\n"既默认用换行符结尾。
所以你代码里赋值为""时,相当 ...

没有结尾,所以temp = input() 是给它个结尾?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-8 10:09:32 | 显示全部楼层
def花 发表于 2020-7-8 10:07
没有结尾,所以temp = input() 是给它个结尾?



差不多吧,也不算结尾,input 函数有自己的作用

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-8 10:10:17 | 显示全部楼层
Twilight6 发表于 2020-7-8 10:07
input 会自己打印出字符串,不需要你用 print 打印

如果你用 print 打印是打印 input 函数的返 ...

input自带打印。。。懂了所以它才会让输出的值在后面QAQ豁然开朗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-8 10:10:55 | 显示全部楼层
def花 发表于 2020-7-8 10:10
input自带打印。。。懂了所以它才会让输出的值在后面QAQ豁然开朗

是的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-8 10:11:10 | 显示全部楼层
wp231957 发表于 2020-7-8 09:59
END的其他模式  感觉意义也不太大
python 的print  默认就是换行打印,不象c  用\n 控制
所以 end=""  你 ...

记住了,多谢QAQ
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-8 11:13:54 | 显示全部楼层
写个九九乘法表就明白啦,end = '\t'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 03:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表