Skip to content

Latest commit

 

History

History
176 lines (120 loc) · 3.72 KB

File metadata and controls

176 lines (120 loc) · 3.72 KB
Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0458
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
本教程同步发布在: 

     个人网站: `https://oeasy.org` 
     蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
     GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
     Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

格式化字符串

回忆

  • 章节 研究了 文件流对象的 遍历
    • 文件流 本质 是iterable 的对象
      • 可以是 文本流
      • 也可以是字节流
    • 还可以遍历 整个文件

图片描述

  • 关于 文本处理 还有什么说法吗?🤔

字符串

  • 看一下
    • 字符串的格式化输出

图片描述

  • 这些 都是什么意思呢?

格式含义

格式化字符 含义 单词
d 整数 decimal
f 浮点数 float
x 十六进制形式 hexidecimal
X 大写十六进制形式 Hexidecimal
o 把进制形式 octal
s 字符串 string
e 科学计数法 exponent of 10
E 大写科学计数法 Exponent of 10
  • 可以用这个写个
    • 九九乘法表 吗?

初步

for i in range(10):
    for j in range(10):
        print(i,"*",j,"=",i*j,sep="",end="")
    print()
  • 运行结果

图片描述

  • 这个 显示有点错乱

调整

  • 调整为 % 显示方法
for i in range(1, 10):
    for j in range(1, 10):
        print("%d" % i, "*", "%d" % j, "=", \
              "%2d" % (i * j), \
              sep="", end=" ")
    print()
  • 显示结果

图片描述

  • 这里对齐的核心是
    • "%2d" % (i * j)
    • 要让 (i * j) 以 decimal 的方式显示
    • 并且 占

对角线

  • 想加上对角线效果

图片描述

  • 应该如何修改代码呢?
    • 这个任务就交给你啦

搜索帮助

图片描述

  • 可是这帮助手册也说了
    • 原来用的老方法是%(module opperator)
    • 现在用的新方法是 str.format()
  • 这str.format怎么用呢?
    • 点击那个链接进去看看

format函数

图片描述

  • 看起来并不难

验证

"The sum of 1 + 2 is {0}".format(1+2)
  • 去游乐场试试

图片描述

  • 还可以做点什么呢?

两个变量

  • 试试两个变量

图片描述

  • 可以设置更多变量吗?

更多变量

图片描述

  • 可以控制
    • 输出形式吗?

输出形式

图片描述

  • 0 的意思是

    • 参数列表里第0个变量
  • d 的意思是

    • 整型数字
  • 尝试把九九乘法表用str.format重写

总结

  • 这次了解了 按数制 输出的方法
    • 使用% (modulo)
    • 这种方法参照于 c语言的 printf函数
    • 目前已被替代

图片描述

  • 新方法 是 str.format

    • 可以设置各种格式
    • 也可以使用参数
  • 可以 将九九乘法表用str.format重写吗??🤔

  • 下次再说👋


  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。