• [oeasy]python0022_框架标题的制作_banner_结尾字符串_end


    结尾字符串(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​​的过程
    • 我想输出个稍微复杂点的东西
    • 可以做下面这个框架标题吗?🤔

    尝试制作

    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​​)
    • 这样的话
    • 我不但可以控制输出时结尾换不换行
    • 还能控制具体在哪里换行
  • 相关阅读:
    i.MX 6ULL 驱动开发 五:LED 驱动
    深度学习--全连接层、高阶应用、GPU加速
    大数据开发工程师必备技能有哪些?
    VUE3 之 插件的使用 - 这个系列的教程通俗易懂,适合自学
    快速学习react 从入门到入土
    lora网关以太网传输
    解决deepspeed框架的bug:不保存调度器状态,模型训练重启时学习率从头开始
    ES 未分片 导致集群状态飘红
    node.js的路径、fs模块
    y123.第七章 服务网格与治理-Istio从入门到精通 -- Sidecar及流量拦截机制(九)
  • 原文地址:https://blog.csdn.net/overmind/article/details/128138440