def花 发表于 2020-7-8 09:46:39

print中end的参数让我懵逼!!!

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

var = 520
fun(var)
print(var)

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

-------------------------------------
这个end让我有点迷惑,它是怎么用的,为什么这么用?

Twilight6 发表于 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('是的!')
输出结果:
我好帅!~!!!!是的!


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

wp231957 发表于 2020-7-8 09:59:05

END的其他模式感觉意义也不太大
python 的print默认就是换行打印,不象c用\n 控制
所以 end="" 你记住 就是不换行输出这个功能比较有用就可以了

yhhpf 发表于 2020-7-8 10:02:21

end翻译过来不就是结尾么?print()函数默认是end="\n"既默认用换行符结尾。
所以你代码里赋值为""时,相当于就是没有结尾就是""相当于没有结尾。

def花 发表于 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())

Twilight6 发表于 2020-7-8 10:07:45

def花 发表于 2020-7-8 10:05
懂了 那为什么
print('请输入一个整数:',end='')
temp = input()




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

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

上面的代码是用 temp 参数来接收 input 用户输入的字符串

def花 发表于 2020-7-8 10:07:57

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

没有结尾,所以temp = input() 是给它个结尾?

Twilight6 发表于 2020-7-8 10:09:32

def花 发表于 2020-7-8 10:07
没有结尾,所以temp = input() 是给它个结尾?


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

def花 发表于 2020-7-8 10:10:17

Twilight6 发表于 2020-7-8 10:07
input 会自己打印出字符串,不需要你用 print 打印

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

input自带打印。。。懂了所以它才会让输出的值在后面QAQ豁然开朗

Twilight6 发表于 2020-7-8 10:10:55

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

是的

def花 发表于 2020-7-8 10:11:10

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

记住了,多谢QAQ

hehex 发表于 2020-7-8 11:13:54

写个九九乘法表就明白啦,end = '\t'
页: [1]
查看完整版本: print中end的参数让我懵逼!!!