字符本质
回忆上次内容
hello world
不是从来就有的- 来自于
unix
和c
- 虽然我们今天有各种先进的学习手段
-
最早的高级语言学习是从最早的那张打字机用纸的手写代码起源的
- 所以输出用的是
print
- 最早输出的是
hello world
- 这就成了一个迷因
- 所以输出用的是
- 计算机里面不都是二进制的 0 和 1 吗
- 哪里来的
h
、e
之类的字符呢?🤔
字符本质
#进入python3解释器 python3
- 我们这次只输出一个字符'h'
#直接写h h #直接写"h" "h" #直接写'h' 'h' #输出h print("h")
- 只有字母游乐场不认
- 单引号和双引号引起的字母效果一样
- 因为表示同样的字符串
- 计算机里面不都是二进制的 0 和 1 吗
- 可以输出
h
的二进制形态吗?🤔
ord 序数
#直接写h "h" #输出h的序数 ord("h")
- ord 的意思是 ordinal
- 我们通过字符可以得到他的序号
-
可以反过来吗?
- 通过序号可以得到字符可以么?🤔
逆运算
- 好像可以
-
我们可以作为参数把 104 给到 函数chr()
- 注意给的是数字 104
-
而不是字符串"104"
- 没有引号
- 我们可以发现
数字104
和字符'h'
是有关联的 - 有两个单词 ord 和 chr 了
- 他们都是什么意思来着?🤔
- 先用 help 查查 ord
查看帮助
#查看帮助 help() #然后输入你要查询的东西比如ord回车就可以了 #或者直接 help(ord)
查看字符序号 ord
`
ord
的意思是返回这个字符的对应序号ordinal
ord(c,/)
是一个函数,参数c
,一个字符- 帮助文件
q
可以退出帮助模式 - 回到 python 命令行执行模式
- 再查查 chr
查看序号对应的字符 chr
#输出104对应的字符 chr(104) #查询一下相关帮助 help(chr)
chr
的意思是根据序号可以得到相应的字符character
-
chr(i)
是一个函数- chr 是函数名
i
是函数的chr
的参数
- ord 和 chr,这俩是一对⚖️
- 相反相成,相爱相杀⚖️
开始玩耍
#先求序号,再查字符 chr(ord("h")) #先查字符,在对应序号 ord(chr(104))
- 这不是相互抵消了么
-
绕了一圈又回来了么
- 操作一轮猛如虎
- 不愧是我二百五
- 我想把
a
和a对应的序号
同时输出可以么? - 查询帮助
查询
- help(print)
- print 可以输出很多的 value
- 这些 value 用逗号分割
- 输出到标准输出流上去试试😋
输出
- 中间的空格含义不明确
-
我想用冒号搁中间
- 用冒号来明确字母和序号之间的映射关系
-
默认的 sep 是空格
- sep 的意思应该是 separator
- 分隔符
- 修改试试🤪
分隔符
- 好像真的可以修改
-
而且我发现了某些规律
a
、b
、c
都是挨着的- 为啥从
97
开始? - 各个字符是如何分布的呢?🤔
-
先总结一下这节内容
- 下次再研究字符分布规律
总结
-
通过
help()
可以从 python 命令行模式进入到帮助模式- 通过 q 退出
-
ord(c)
和chr(i)
- 这是俩函数
-
这俩是一对,相反相成的⚖️
ord
通过字符
找到对应的数字
chr
通过数字
找到对应的字符
字符
的本质是数字
-
Python 里面的字符对应着一些数字
a
对应 97b
对应 98c
对应 99
- 可是,为什么是这样的对应关系,谁规定的,必须的么?🤔
- 我们下次再说!👋