字符本质

回忆上次内容

  • 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. 解决input中输入中文过程中会触发input事件的问题

    问题描述: 监听文本输入框的input事件,在拼写汉字时会触发input事件,如下图: 需求: 选词完成后触发input事件,只触发一次. 解决办法: 通过查阅资料得知在输入中文(包括语音识别时)会先 ...

  2. P1683 入门

    传送锚点:https://www.luogu.com.cn/problem/P1683 题目描述 不是任何人都可以进入桃花岛的,黄药师最讨厌像郭靖一样呆头呆脑的人.所以,他在桃花岛的唯一入口处修了一条 ...

  3. Android 12(S) MultiMedia Learning(一)开篇

    这个系列将会作为自己学习android多媒体的笔记,如果有错误请帮忙指正. 本系列的学习均基于Android 12(S),代码来源:http://aospxref.com/

  4. SSH-Web 工具之 shellinabox:一款使用 AJAX 的基于 Web 的终端模拟器 安装及使用教程

    本文转载自: shellinabox:一款使用 AJAX 的基于 Web 的终端模拟器 一.shellinabox简介 通常情况下,我们在访问任何远程服务器时,会使用常见的通信工具如OpenSSH和P ...

  5. Dockerfile PHP镜像制作

    1 PHP镜像制作: 1.1 php-dockerfile FROM centos:7 LABEL maintainer www.chenleilei.net RUN yum install -y c ...

  6. QuartusII调用 PLL_IP核方法(Mega Wizard)

    [基本信息] 要求:调用PLL-IP核,50Mhz晶振输入,输出四路时钟不同信号:100Mhz,25Mhz,50Mhz(90°相位),50Mhz(20%占空比). 芯片型号:cyclone Ⅳ EP4 ...

  7. C# 配置文件增加自定义节点

    话不多说直接开撸! 首先创建一个Config的文件夹然后新增一个后缀名为.config的文件 配置文件的代码如下: <?xml version="1.0" encoding= ...

  8. C#.NET Rsa私钥加密公钥解密

    在C#中,RSA私钥只能签名,不能加密,如果要加密,要借助BouncyCastle库. nuget 中引用 Portable.BouncyCastle. 工具类: RsaEncryptUtil usi ...

  9. 时间戳,mysql 秒数,毫秒数与时间之间的相互转换

    时间戳,mysql 秒数,毫秒数与时间之间的相互转换 时间戳是指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总秒数.通俗的讲,时间戳是一份能够表示一份数据在一个特定时间点已 ...

  10. 查看es结构,es _search查询基础语法

    查看es结构,es _search查询基础语法 http://xx.xx.xx.xx:9200/ ES地址 car_info/_search POST {} POST { "query&qu ...