字符本质

回忆上次内容

  • hello world 不是从来就有的
  • 来自于unixc
  • 虽然我们今天有各种先进的学习手段
  • 最早的高级语言学习是从最早的那张打字机用纸的手写代码起源的
  • 所以输出用的是 print
  • 最早输出的是 hello world
  • 这就成了一个迷因
  • 计算机里面不都是二进制的 0 和 1 吗
  • 哪里来的he之类的字符呢?🤔

字符本质

#进入python3解释器
python3
  • 我们这次只输出一个字符'h'
#直接写h
h
#直接写"h"
"h"
#直接写'h'
'h'
#输出h
print("h")

python写字母h代码 写字母h python_字符串

python写字母h代码 写字母h python_命令行_02

  • 只有字母游乐场不认
  • 单引号和双引号引起的字母效果一样
  • 因为表示同样的字符串
  • 计算机里面不都是二进制的 0 和 1 吗
  • 可以输出h的二进制形态吗?🤔

ord 序数

#直接写h
"h"
#输出h的序数
ord("h")
  • ord 的意思是 ordinal

python写字母h代码 写字母h python_python写字母h代码_03

python写字母h代码 写字母h python_命令行_02

  • 我们通过字符可以得到他的序号
  • 可以反过来吗?
  • 通过序号可以得到字符可以么?🤔

逆运算

python写字母h代码 写字母h python_python_05

python写字母h代码 写字母h python_命令行_02

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

查看帮助

#查看帮助
help()
#然后输入你要查询的东西比如ord回车就可以了
#或者直接
help(ord)

python写字母h代码 写字母h python_python写字母h代码_07

python写字母h代码 写字母h python_命令行_02

查看字符序号 ord

python写字母h代码 写字母h python_python写字母h代码_09

python写字母h代码 写字母h python_命令行_02

`

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

查看序号对应的字符 chr

#输出104对应的字符
chr(104)
#查询一下相关帮助
help(chr)

python写字母h代码 写字母h python_python写字母h代码_11

python写字母h代码 写字母h python_命令行_02

  • chr的意思是根据序号可以得到相应的字符 character
  • chr(i)是一个函数
  • chr 是函数名
  • i 是函数的 chr 的参数
  • ord 和 chr,这俩是一对⚖️
  • 相反相成,相爱相杀⚖️

开始玩耍

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

python写字母h代码 写字母h python_python写字母h代码_13

python写字母h代码 写字母h python_命令行_02

  • 这不是相互抵消了么
  • 绕了一圈又回来了么
  • 操作一轮猛如虎
  • 不愧是我二百五
  • 我想把 aa对应的序号 同时输出可以么?
  • 查询帮助

查询

  • help(print)

python写字母h代码 写字母h python_命令行_15

python写字母h代码 写字母h python_命令行_02

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

输出

python写字母h代码 写字母h python_字符串_17

python写字母h代码 写字母h python_命令行_02

  • 中间的空格含义不明确
  • 我想用冒号搁中间
  • 用冒号来明确字母和序号之间的映射关系

python写字母h代码 写字母h python_python_19

python写字母h代码 写字母h python_命令行_02

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

分隔符

python写字母h代码 写字母h python_命令行_21

python写字母h代码 写字母h python_命令行_02

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

总结

  • 通过 help() 可以从 python 命令行模式进入到帮助模式
  • 通过 q 退出
  • ord(c)chr(i)
  • 这是俩函数
  • 这俩是一对,相反相成的⚖️
  • ord 通过字符找到对应的数字
  • chr 通过数字找到对应的字符
  • 字符的本质是数字
  • Python 里面的字符对应着一些数字
  • a对应 97
  • b对应 98
  • c对应 99
  • 可是,为什么是这样的对应关系,谁规定的,必须的么?🤔
  • 我们下次再说!👋