结尾字符串(end)

回忆上次内容

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

python 处理汇编 python 嵌入汇编_字符串

尝试制作


vi banner.py


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

python 处理汇编 python 嵌入汇编_linux_02

  • :w|!python % 执行脚本

python 处理汇编 python 嵌入汇编_linux_03

  • 新开个test.py做实验

两个空行

  • 然后尝试在两行中输出
  • 两行print()

python 处理汇编 python 嵌入汇编_开发语言_04

  • 运行结果

python 处理汇编 python 嵌入汇编_开发语言_05

  • 为什么2个 print() 就会输出2个空行?
  • 这里面也没有换行啊?
  • help 一下

查询帮助

  • 去游乐场
  • help(print)

python 处理汇编 python 嵌入汇编_开发语言_06

  • 这里面有一个 参数end
  • 意思是结尾符
  • end默认值为 \n
  • \n 就是我们上次接触的换行符
  • 这个默认参数
  • 让结尾默认有个换行
  • 也就是说默认结尾符(end)是换行符
  • 如果我们把 默认结尾符(end)
  • 设置为$会如何?
  • 说干就干

end 结尾字符


print("HelloWorld",end='$')


  • end 就是结尾
  • print 会给字符串最后结尾加上一个$

python 处理汇编 python 嵌入汇编_linux_07

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

多个字符

  • 比如abc

python 处理汇编 python 嵌入汇编_开发语言_08

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

python 处理汇编 python 嵌入汇编_python 处理汇编_09

  • 任何字符都可以放到结尾字符串里面
  • 但如果结尾字符串里啥都没有呢?
  • 会如何?

不换行


print("hello",end="")


  • 试试 end=""

python 处理汇编 python 嵌入汇编_linux_10

  • 这样就把原来行尾默认的换行符去掉了
  • 也就是不换行输出
  • 如果使用 end=''
  • 但是依旧想要在结束的地方换行
  • 也就是另起一行
  • 应该怎么办?

结尾还是换行

  • 手动在输出字符串结尾添加 \n
  • 这样就可以不换行持续在一行输出了!
  • 同样如果在里面加上\n也就会换行了
  • 下面两句是等价的
print("hello\n",end='')
print("hello")


  • 这不就是又绕回到默认状态了么?!

python 处理汇编 python 嵌入汇编_开发语言_11

  • 通过绕了这一大圈
  • 其实我们深入地了解了换行符和end参数
  • 😅 很多事情比之前更清晰了

总结