oeasy教您玩转python - 007 - # 字符本质
字符本质
回忆上次内容
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
可是,为什么是这样的对应关系,谁规定的,必须的么?🤔
我们下次再说!*