[oeasy]python0022_框架标题的制作_banner_结尾字符串_end
结尾字符串(end)
回忆上次内容
python3
的程序是一个 5.3M 的可执行文件objdump -d ~/python3 > python3.asm
python3
里面存的是 cpu 指令可以执行的那种
我们可以把指令对应的汇编找到
汇编语句是和当前机器架构的指令集相关的
uname -a
可以查询指令集我们执行的过程其实是
在显示器输出了
hello world
python3
解释器执行完毕在内存中构建解释器
系统先执行
python3
这个可执行文件将参数
hello.py
放入解释器python3
解释器 对于hello.py
解释执行把控制权还给 shell
这就是我们执行
hello.py
的过程我想输出个稍微复杂点的东西
可以做下面这个框架标题吗?🤔

尝试制作
vi banner.py
首先要新建一个
banner.py
文件并用
vi
打开并编辑效果如下图

:w|!python %
执行脚本

新开个test.py做实验
两个空行
然后尝试在两行中输出
两行
print()

运行结果

为什么
2
个 print() 就会输出2
个空行?这里面也没有换行啊?
help 一下
查询帮助
去游乐场
help(print)

这里面有一个 参数end
end默认值为
\n
这个默认参数
也就是说默认结尾符(end)是换行符
\n
就是我们上次接触的换行符让结尾默认有个换行
意思是结尾符
如果我们把 默认结尾符(end)
设置为
$
会如何?说干就干
end 结尾字符
print("HelloWorld",end='$')
end 就是结尾
print 会给字符串最后结尾加上一个
$

他直接把后面的提示符给顶出来一块
哈哈哈哈😄
如果是多个字符呢?
多个字符
比如
abc

多个字符其实就是字符串
都会加到结尾处
如果是多个换行符呢?

任何字符都可以放到结尾字符串里面
但如果结尾字符串里啥都没有呢?
会如何?
不换行
print("hello",end="")
试试 end=""

这样就把原来行尾默认的换行符去掉了
也就是
不换行输出
如果使用 end=''
但是依旧想要在结束的地方换行
也就是另起一行
应该怎么办?
结尾还是换行
手动在输出字符串结尾添加
\n
这样就可以不换行持续在一行输出了!
同样如果在里面加上
\n
也就会换行了下面两句是等价的
print("hello\n",end='')print("hello")
这不就是又绕回到默认状态了么?!

通过绕了这一大圈
其实我们深入地了解了换行符和end参数
😅 很多事情比之前更清晰了
总结
print
函数意味着输出后不自动换行
我可以手动在输出字符串的末尾加上换行符(
\n
)end参数
的值可以是任意字符串end参数
的值会输出到结尾位置end参数
的默认值是\n
有个默认的
end参数
如果
end
是空串(end=""
)这样的话
我不但可以控制输出时结尾换不换行
还能控制具体在哪里换行
我想输出点别的
比如说当前⏰时间?🤔
我们下次再说!👋
蓝桥->https://www.lanqiao.cn/teacher/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython
视频->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy