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
- 可是,为什么是这样的对应关系,谁规定的,必须的么?
- 我们下次再说!
oeasy教您玩转python - 007 - # 字符本质的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转linux010103我在那pwd
我在哪pwd 回忆上次内容 我们上次列出了关于发行版详细信息文件的位置 ls /etc/*release 其中 ls是命令的名字,意味着list列表 /是整个文件系统的根root /etc是根目录下的 ...
随机推荐
- 如何解决 IntelliJ Idea 编译 Java 项目时,找不到包或找不到符号的问题?
执行 Maven Reimport 描述: 重新导入 Maven 包. 操作步骤: -> 选择 Project 目录右键 -> Maven -> Reimport 执行 Invali ...
- 2024盘古石取证比赛(APK)
题目列表 使用软件: Notepad++,火眼证据分析软件,雷电分析app,DB browser for SQLCipher 1. 分析伏季雅的手机检材,手机中诈骗APP的包名是:[答案格式:abc. ...
- Android 13 - Media框架(33)- ACodec(九)
关注公众号免费阅读全文,进入音视频开发技术分享群! 前一节我们学习了Output Format Changed事件是如何上抛并且被处理的,这一节我们紧接着来学习OutputBuffer是如何上抛并且被 ...
- Android 13 - Media框架(3)- MediaPlayer生命周期
关注公众号免费阅读全文,进入音视频开发技术分享群! 上一节了解了MediaPlayer api的使用,这一节就我们将会了解MediaPlayer的生命周期与api使用细节. 1.MediaPlayer ...
- idea 使用 mvn clean package 报错 Could not create local repository at
使用 mac 版本的 idea 打包使用打包命令 mvn clean package 总是报错: [ERROR] Could not create local repository at /Repos ...
- xv6 文件系统
文件系统 公众号:Rand_cs 本文继续来看 x v 6 xv6 xv6 的文件系统部分, x v 6 xv6 xv6 将文件系统的设计分为 7 层: 磁 盘 → 缓 存 区 → 日 志 → i n ...
- linux,curl命令发送各类请求详解
当你经常面对api时,curl将是你重要学习的工具,因为curl可以让你不需要浏览器也能作为Http客户端发送请求.而且它是跨平台的,Linux.Windows.Mac都会执行的很好. 一.curl ...
- (编程语言界的丐帮 C#).NET Framework 读取Excel到DataTable
(编程语言界的丐帮 C#).NET Framework 读取Excel到DataTable 生成DataTable到Excel,支持 2007 .xlsx,2003 .xls. nuget 引用 NP ...
- caddy 服务器的 Docker 镜像构建流程
构建一个包含 Caddy 服务器的 Docker 镜像,关键部分: https://github.com/caddyserver/caddy-docker/blob/master/Dockerfile ...
- FreeRTOS简单内核实现3 任务管理
0.思考与回答 0.1.思考一 对于 Cotex-M4 内核的 MCU 在发生异常/中断时,哪些寄存器会自动入栈,哪些需要手动入栈? 会自动入栈的寄存器如下 R0 - R3:通用寄存器 R12:通用寄 ...