字符本质

回忆上次内容

  • hello world 不是从来就有的
  • 来自于unixc
  • 虽然我们今天有各种先进的学习手段
  • 最早的高级语言学习是从最早的那张打字机用纸的手写代码起源的

    • 所以输出用的是 print
    • 最早输出的是 hello world
    • 这就成了一个迷因
  • 计算机里面不都是二进制的 0 和 1 吗
  • 哪里来的he之类的字符呢?

字符本质

#进入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))

  • 这不是相互抵消了么
  • 绕了一圈又回来了么

    • 操作一轮猛如虎
    • 不愧是我二百五
  • 我想把 aa对应的序号 同时输出可以么?
  • 查询帮助

查询

  • help(print)

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

输出

  • 中间的空格含义不明确
  • 我想用冒号搁中间

    • 用冒号来明确字母和序号之间的映射关系

  • 默认的 sep 是空格

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

分隔符

  • 好像真的可以修改
  • 而且我发现了某些规律

    • abc都是挨着的
    • 为啥从97开始?
    • 各个字符是如何分布的呢?
  • 先总结一下这节内容

    • 下次再研究字符分布规律

总结

  • 通过 help() 可以从 python 命令行模式进入到帮助模式

    • 通过 q 退出
  • ord(c)chr(i)

    • 这是俩函数
    • 这俩是一对,相反相成的⚖️

      • ord 通过字符找到对应的数字
      • chr 通过数字找到对应的字符
    • 字符的本质是数字
  • Python 里面的字符对应着一些数字

    • a对应 97
    • b对应 98
    • c对应 99
  • 可是,为什么是这样的对应关系,谁规定的,必须的么?
  • 我们下次再说!

oeasy教您玩转python - 007 - # 字符本质的更多相关文章

  1. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  2. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

  3. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  4. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  5. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  6. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  7. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

  8. oeasy教您玩转linux010201持续输出yes

    我们来回顾一下 上一部分我们都讲了什么?

  9. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

  10. oeasy教您玩转linux010103我在那pwd

    我在哪pwd 回忆上次内容 我们上次列出了关于发行版详细信息文件的位置 ls /etc/*release 其中 ls是命令的名字,意味着list列表 /是整个文件系统的根root /etc是根目录下的 ...

随机推荐

  1. Java静态变量在静态方法内部无法改变值

    一.如何解决"Java静态变量在静态方法内部无法改变值"的问题 在Java中,静态变量(也称为类变量)属于类本身,而不是类的任何特定实例.它们可以在没有创建类的实例的情况下访问和修 ...

  2. Vue History模式IIS的配置补充

    摘自 :https://blog.csdn.net/ssdnif/article/details/103856283 官方提供的配置<?xml version="1.0" e ...

  3. 关于Embedded Resource的理解

    Embedded Resource .NET中使用外部资源时常用的方式都是使用资源文件,作为程序集的一部分发布.资源文件的读取也比较方便,字符串.图片和任何二进制数据,包括任何类型的文件都可以作为资源 ...

  4. 鸿蒙极速入门(五)-路由管理(Router)

    页面路由指在应用程序中实现不同页面之间的跳转和数据传递.HarmonyOS提供了Router模块,通过不同的url地址,可以方便地进行页面路由,轻松地访问不同的页面. 一.基础使用 Router模块提 ...

  5. C#笔记 线扫相机利用串口通信设置曝光

    1. 串口通信 串行接口是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件.一般完成这种功能的电路,我们称为串行接口电 ...

  6. 国产大语言模型ChatGLM3本地搭建、使用和功能扩展

    1.官网 ChatGLM3 2.下载ChatGLM3源码 直接在https://github.com/THUDM/ChatGLM3,下载源码 3.下载模型 如果显卡8G一下建议下载ChatGLM3-6 ...

  7. Vue CLI 4与项目构建实战指南

    title: Vue CLI 4与项目构建实战指南 date: 2024/6/9 updated: 2024/6/9 excerpt: 这篇文章介绍了如何使用Vue CLI优化项目构建配置,提高开发效 ...

  8. 计算机网络实验一:vlan的创建与划分

    这个是 pkt文件 有两道题 所以我是两个文件 https://pan.quark.cn/s/d4170897cb59 https://pan.quark.cn/s/da48878c77f5 发现 复 ...

  9. 基于阿里Anolis OS8.8 的Hadoop大数据平台建设

    基于阿里Anolis OS8.8 的Hadoop大数据平台建设 VNC安装与使用 0 Anolis OS基本操作 0.1 Anolis OS用户与组管理 0.2 系统进程管理 0.3 文件操作命令及权 ...

  10. restTemplate.getForEntity restTemplate.getForObject GET请求

    //带参数 @Test public void testGet1(){ String url = "http://IP:PORT/query?token={token}&memNo= ...