[oeasy]python0012_字符_character_chr函数_根据序号得到字符

字符(character)

回忆上次内容

  • 上次了解了ord函数
  • 这个函数可以通过字符得到序号
  • 那么可以反过来吗?
  • 通过序号得到字符可以吗?

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

ord的逆运算chr

  • 有来就有回

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

  • 好像可以
  • 我们可以把 104 作为参数给到 函数chr()
  • 注意给的参数是数字 104
  • 而不是字符串"104"
  • 没有引号
  • 我们可以发现 ​​数字104​​ 和 ​​字符'h'​​ 是有关联的
  • 有两个单词了
  • ord
  • chr
  • 他们都是什么意思来着?🤔
  • ord是ordinal 序号
  • 看一下帮助

ord

help(ord)

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

  • 看完之后可以q退回来
  • ​ord​​的意思是返回这个字符的对应序号​​ordinal​
  • ​ord(c,/)​​是一个函数
  • 参数​​c​​,一个字符
  • 帮助文件q可以退出帮助模式
  • 回到 python 命令行执行模式
  • 再查查 chr

查看序号对应的字符 chr

help(chr)

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

  • chr 对应什么单词呢?

character

  • ​chr​​的意思是根据序号可以得到相应的字符 ​​character​

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

  • character的意思是
  • 角色
  • 字母
  • 个性
  • 总之都是有鲜明性格特征的事物
  • 没有任何两个字母长得一样
  • u 和 w 长得必须完全不同

cp形成

  • ​chr(i)​​是一个函数
  • ​chr​​ 是函数名
  • ​i​​ 是函数的 ​​chr​​ 的参数

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

  • ord 和 chr,这俩是一对⚖️
  • 相反相成,相爱相杀⚖️
  • 一绕一个圈么?

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

开始玩耍

#先求序号,再查字符
chr(ord("h"))
#先查字符,在对应序号
ord(chr(104))

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

  • 这不是相互抵消了么
  • 绕了一圈又回来了么
  • 操作一轮猛如虎
  • 不愧是我二百五
  • 这应该如何理解呢?

有括号的要优先

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

  • 先算括号里面的
  • 再算用结果进行后面的计算

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

  • 汇编层面如何理解?

汇编理解

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

  • 红色里圈是调用chr(97)
  • 得到的结果是字符串"a"
  • 把得到的字符串"a"作为参数送到ord函数调用
  • 这就是函数的嵌套调用
  • 如果有print函数呢?

加一层嵌套

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

  • 把计算的结果再送给print当做参数
  • 我想把 ​​a​​ 和 ​​a对应的序号​​ 同时输出可以么?
  • 应该是print函数里面的细节
  • 什么不会就help什么

查询

  • help(print)

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

  • print 可以输出很多的 value
  • 这些 value 用逗号分割
  • 输出到标准输出流上去试试😋

输出

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

  • 中间的空格含义不明确
  • 我想用冒号搁中间
  • 用冒号来明确字母和序号之间的映射关系
  • 再去查找print帮助

帮助手册

  • 默认的 sep 是空格
  • 注意函数的参数sep=' '
  • 这个是默认的值

[oeasy]python0012_字符_character_chr函数_根据序号得到字符

  • sep 的意思应该是 separator
  • 分隔符
  • 修改试试🤪

分隔符

  • 好像真的可以修改
  • 而且我发现了某些规律
  • ​a​​、​​b​​、​​c​​都是挨着的
  • 为啥从​​97​​开始?
  • 各个字符是如何分布的呢?🤔
  • 先总结一下这节内容
  • 下次再研究字符分布规律

总结

  • ​ord(c)​​和chr(i)
  • 这是俩函数
  • 这俩函数是一对,相反相成的⚖️
  • ​ord​​ 通过 ​​字符​​ 找到对应的 ​​数字​
  • ​chr​​ 通过 ​​数字​​ 找到对应的 ​​字符​
  • ​字符​​ 的本质是 ​​数字​
  • 字符都对应着一些数字
  • ​a​​ 对应 97
  • ​b​​ 对应 98
  • ​c​​ 对应 99
  • 都连号好像应该是天经地义的?
  • 为什么小写a从97开始?
  • 但除了小写字母之外还有很多字符
  • 他们都是如何分布的呢?🤔
发表评论

相关文章