结尾字符串(end)
回忆上次内容
python3
的程序是一个 5.3M 的可执行文件
-
python3
里面存的是 cpu 指令 - 可以执行的那种
- 我们可以把指令对应的汇编找到
-
objdump -d ~/python3 > python3.asm
- 汇编语句是和当前机器架构的指令集相关的
-
uname -a
可以查询指令集
- 我们执行的过程其实是
- 系统先执行
python3
这个可执行文件
- 在内存中构建解释器
- 将参数
hello.py
放入解释器 python3
解释器 对于hello.py
解释执行
- 在显示器输出了
hello world
-
python3
解释器执行完毕
- 把控制权还给 shell
- 这就是我们执行
hello.py
的过程 - 我想输出个稍微复杂点的东西
- 可以做下面这个框架标题吗?🤔
尝试制作
vi banner.py
- 首先要新建一个
banner.py
文件
- 并用
vi
打开并编辑
- 效果如下图
-
:w|!python %
执行脚本
- 新开个test.py做实验
两个空行
- 然后尝试在两行中输出
- 两行
print()
- 运行结果
- 为什么
2
个 print() 就会输出2
个空行?
- 这里面也没有换行啊?
- help 一下
查询帮助
- 去游乐场
- help(print)
- 这里面有一个 参数end
- 意思是结尾符
- end默认值为
\n
-
\n
就是我们上次接触的换行符
- 这个默认参数
- 让结尾默认有个换行
- 也就是说默认结尾符(end)是换行符
- 如果我们把 默认结尾符(end)
- 设置为
$
会如何?
- 说干就干
end 结尾字符
print("HelloWorld",end='$')
- end 就是结尾
- print 会给字符串最后结尾加上一个
$
- 他直接把后面的提示符给顶出来一块
- 哈哈哈哈😄
- 如果是多个字符呢?
多个字符
- 比如
abc
- 多个字符其实就是字符串
- 都会加到结尾处
- 如果是多个换行符呢?
- 任何字符都可以放到结尾字符串里面
- 但如果结尾字符串里啥都没有呢?
- 会如何?
不换行
print("hello",end="")
- 试试 end=""
- 这样就把原来行尾默认的换行符去掉了
- 也就是
不换行输出
- 如果使用 end=''
- 但是依旧想要在结束的地方换行
- 也就是另起一行
- 应该怎么办?
结尾还是换行
- 手动在输出字符串结尾添加
\n
- 这样就可以不换行持续在一行输出了!
- 同样如果在里面加上
\n
也就会换行了
- 下面两句是等价的
print("hello\n",end='') print("hello")
- 这不就是又绕回到默认状态了么?!
- 通过绕了这一大圈
- 其实我们深入地了解了换行符和end参数
- 😅 很多事情比之前更清晰了
总结
print
函数
- 有个默认的
end参数
-
end参数
的值可以是任意字符串 -
end参数
的值会输出到结尾位置 -
end参数
的默认值是 \n
- 如果
end
是空串(end=""
)
- 意味着输出后不自动换行
- 我可以手动在输出字符串的末尾加上换行符(
\n
)
- 这样的话
- 我不但可以控制输出时结尾换不换行
- 还能控制具体在哪里换行
- 我想输出点别的
- 比如说当前⏰时间?🤔
- 我们下次再说!👋
- 蓝桥->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