[oeasy]python0073_进制转化_eval_evaluate_衡量_oct_octal_八进制

news2024/10/7 16:24:33

进制转化

回忆上次内容

  • 上次了解的是
    • 整型数字类变量
    • integer
    • 前缀为i

图片描述

  • 整型变量 和 字符串变量 不同
    • 整型变量 是 直接存储二进制形式的
    • 可以用 int()函数
      • 将 2进制形式的 字符串
        • 转化为 十进制整数
  • int()函数
    • 接受两个变量
      1. 待转化的字符串
      2. 字符串使用的进制
  • 二进制 和 十进制之间
    • 可以互相转化
      • bin(41)
        • 把 10进制整型数字 转化为 2进制字形式符串
      • int(“101001”,2)
        • 把 2进制形式字符串 转化为 10进制整型数字
  • 除了 二进制、 十进制
    • 还有什么样的进制来着?
      • 怎么转化呢?🤔

更多进制

  • (41)10进制
    • 可以转化为 各种进制形态的字符串
    • 而且还能 转化

图片描述

函数名对应单词前缀
binbinary前缀 0b
octoctal前缀 0o
hexhexadecimal前缀 0x

数字本质

  • 不论 用什么进制形态 表示数字
    • 本质都一样

图片描述

  • 类型 都是 整型
    • int 类型
    • 具体数字都是 (41)10进制

八进制 十进制

图片描述

  • 八进制对应单词为oct

图片描述

十六进制 十进制 转化

图片描述

  • hex 来自于 six

图片描述

进制总结

  • 转来转去
    • 其实万变不离其宗

图片描述

函数名对应单词前缀
binbinary前缀 0b
octoctal前缀 0o
intinteger无前缀
hexhexadecimal前缀 0x

二进制 八进制 转化

  • 每一爻都分为阴爻阳爻
    • 三爻构成八卦

图片描述

  • 3-bit二进制数
    • 对应一个 八进制数

河图

  • 河图中三八为木数
    • 同属东方青龙木
    • 属生发之相
    • 今天也用三八、八卦来形容普遍联系性
    • 毕竟三生万物

图片描述

  • 18进制数
    • 对应 32进制数
  • 28进制数
    • 对应 62进制数

二进制 十六进制 转化

  • 18进制数
    • 对应 32进制数
  • 116 进制数
    • 对应 42进制数

图片描述

  • 216 进制数
    • 对应 82 进制数
    • 正好一个字节
  • 数字在内存里面就
    • 存在 这一个字节 里面么?

转化为字节

  • int.bytes函数
    • 可以将整型数字转化为字节
  • 函数有两个参数
    • length
    • byteorder

图片描述

  • length 决定将数字 转化为个字节
    • 2 个字节可以容纳 0-65535 个数字
    • 41 可以存在 这个范围内
  • byteorder 字节顺序
    • big 从左到右
    • little 从右到左

数字形态

  • 整型数字变量 i_age
  • 在存储在两个字节里面什么样呢?
    • 字节状态是b"\x00)"
      • b'\x00' 是 一个字节全是0
      • b')' 是多少呢?

图片描述

  • )对应的字符的序号(ord) 的 16进制形态
    • 0x29
  • 也就是说 ) 字符
    • 对应字节状态为 b'\x29'

图片描述

  • 两个字节的int型变量
    • 字节序列 b\x00\x29
    • 也就是b\x00)
  • 反过来说
    • b"\x00\x29"
      • 这两个字节
        • 存储着数字41
        • 这是数字形式
  • 那 字符串形式41
    • 是如何存储的呢?

字符串形态

  • 那字符串形态的变量"41"
    • 是什么样子来着
  • 字符串
    • 就是字符的串
    • 这个字符串 只有两个字符
    • 好像一个大腰子

图片描述

  • 字节状态如何呢?

具体形态

  • "41"是一个字符串
    • 里面有两个字符
    • 每一个字符对应一个字节

图片描述

  • 第一个字符是 4
    • 对应十六进制数 0x34
  • 第二个字符是 1
    • 对应十六进制数 0x31

图片描述

具体字符

图片描述

  • 内存里面就是这两个字节
    • b"\x34\x31"
    • b 的意思是 bytes(字节序列)

ascii中观察

  • “x34” 是第一个字节
    • x指的是十六进制hexidecimal
    • (34)16对应着字符4
  • “x31” 是第二个字节
    • x指的是十六进制hexidecimal
    • (31)16对应着字符1

图片描述

整型数字和字符串

  • i_ages_age 对比
i_ages_age
41“41”
整型数字字符串
b"\x00\x29"b"\x34\x31"
  • 他们之间可以相 互转化吗?

整型数字和字符串的 转化

  • 字符串转化为整型数字

图片描述

  • 整型数字转化为字符串

图片描述

  • 类型转化
    • 练了无数次
    • 都练出茧子了
  • 这次来个新方法

新办法

  • 不论什么形式的字符串
    • 都可以用 eval()函数衡量出来

图片描述

  • evaluate 衡量
    • 0b 前缀 二进制
    • 0o 前缀 八进制
    • 0x 前缀 十六进制

图片描述

  • 不光如此
    • eval 还可以计算

eval

  • eval 可以计算

图片描述

  • 甚至可以计算函数

图片描述

  • 这能解决
    • 字符串"3.3"
    • 不能扮演(cast)整型数字的问题吗?

图片描述

  • 什么是cast来着?

cast

  • cast原意是投掷
    • cast a shadow 光投掷到手上
      • 就会形成手影

图片描述

  • 扮演成

    • 手经过 cast
      • 成为鹿 或者 狼
  • 后来代指

    • 人扮演成其他的角色
  • 字符串"3.3"

    • 能扮演整数吗?

间接扮演

  • 直接扮演不行

图片描述

  • 先衡量(evaluate)出字符串的值
    • 得到(浮点型小数)
  • 再让得到的浮点型小数
    • 扮演(cast)一个整数(int)

图片描述

  • 先扮演孙悟空
    • 再扮演孙悟空变的 土地庙

总结

  • 这次 总结了

    • 四种进制的转化函数
    • 计算字符串值的函数eval
  • 数字41 和 字符串"41" 的不同

函数名前缀目标字符串所用进制
bin0b二进制
oct0o八进制
hex0x十六进制
eval无前缀十进制
  • 字符串"41"
    • 两个字符
    • 字符转化为 ascii 序号
    • b"\x34\x31"

图片描述

  • 数字 41
    • 转化为 二进制 0b101001
    • 两个字节前面补零
    • b"\x00\x29"
    • 这就两个字节

图片描述

  • 但是这两个字节在存储的时候

    • 有先后次序吗?🤔
  • 下次再说👋

  • 蓝桥->https://www.lanqiao.cn/courses/3584

  • github->https://github.com/overmind1980/oeasy-python-tutorial

  • gitee->https://gitee.com/overmind1980/oeasypython

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/783770.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

No spring.config.import property has been defined

报错如下,异常信息里面已经提示了修改的方式: 19:16:46.221 [main] ERROR org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter - *************************** APPLICATION FAILED TO START ***************************Description…

数据库应用:MySQL高级语句(三)存储过程

目录 一、理论 1.存储过程 2.存储过程操作 3.存储过程的参数 4.存储过程的控制语句 二、实验 1.创建和调用存储过程 ​编辑 ​编辑 2.存储过程的参数 3.存储过程的控制语句 三、总结 一、理论 1.存储过程 (1)概念 存储过程是一组为了完成…

「旅游小攻略」广东河源

Hello 小伙伴们好呀,我是爱折腾的 jsliang~ 今天主要安利的,是「广东省/河源市/源城区」附近的逛吃逛吃。 特别适合 2 天 1 夜、3 天 2 夜的,自驾游或者随心走的小伙伴,随着本篇攻略嗨起来吧~ 更多了解欢迎加 WX:Liang…

DBSCAN 算法详解 + 代码实现 + 参数的选择

基于密度的噪声应用空间聚类(DBSCAN)是一种无监督聚类算法,它可以替代KMeans和层次聚类等流行的聚类算法。 KMeans 的缺点 容易受到异常值的影响,离群值对质心的移动方式有显著的影响。在集群大小和密度不同的情况下存在数据精确…

2023-07-23 LeetCode每日一题(接雨水)

2023-07-23每日一题 一、题目编号 42. 接雨水二、题目链接 点击跳转到题目位置 三、题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 提示&#xff1a; n height.length1 < n < 2 …

ChatGPT 4.0 —— Code Interpreter

&#x1f4ce;产品销售数据集.csv 选取以上的数据集作为输入&#xff0c;对Code Interpreter 进行测试 1.输入指定数据集&#xff0c;要求给出该数据集的概貌 2.请分析销售的总金额和其他变量的关系 Python Script: # Import required libraries import matplotlib.pyplot a…

UE5 用DLL文件制作第三方插件

本篇博文介绍了&#xff0c;如果在UE 中如何使用第三方库&#xff0c;及制作成插件的方法。 DLL 文件是上篇文章中创键的具体的方法见上篇文章。下面开始介绍方法 首先&#xff0c;创建一个空白的 UE5 C 项目&#xff0c;然后再创建一个空白内容的插件&#xff0c;如下图所示 …

转义字符\

转义字符就是反斜杠想要实现的转义功能首字母。 为什么需要转义字符&#xff1f; 当字符串中包含反斜杠、单引号和双引号等有特殊用途的字符时&#xff0c;必须使用反斜杠对这些字符进行转义&#xff08;转换一个含义&#xff09; 反斜杠&#xff1a;\ 单引号&#xff1a;’ 双…

HCIA动态路由基础实验(eNSP)

实验题目及要求&#xff1a; IP配置&#xff1a; R1: <Huawei>sys Enter system view, return user view with CtrlZ. [Huawei]sysname r1 [r1]int GigabitEthernet 0/0/0 [r1-GigabitEthernet0/0/0]ip add 192.168.1.1 30 Jul 22 2023 13:07:24-08:00 r1 %%01IFNET/4/…

构建Web3生态系统:区块链技术与数字管理的融合

Web3技术是一种基于区块链技术的下一代互联网技术&#xff0c;它致力于实现去中心化、安全和透明的互联网世界。在Web3生态系统中&#xff0c;区块链技术是基础设施&#xff0c;而浏览器和数字管理是主要的应用场景。 区块链技术是Web3的核心&#xff0c;它是一种去中心化的分…

Spring更简单读取和存储对象

目录 前言 注解 存储Bean 通过类注解 配置扫描路径 添加类注解存储Bean对象 Controller(控制器存储) Service(服务存储) Repository(仓库存储) Component(组件存储) Configuration(配置存储) 类注解之间的关系 Bean的命名规则 通过方法注解 重命名Bean 方式一 方式…

【【51单片机 --秒表--定时器扫描按键数码管】】

轻松做秒表&#xff0c;谁用谁知道 我们在Key 和Nixie 内部都写一个函数这个是main 中中断函数的调用 因为中断是有优先级的&#xff0c;假设有多个中断&#xff0c;那么总是优先级高的在进行&#xff0c;如果我们安排多个中断的话&#xff0c;整体设计就会变得很麻烦 我们放在…

K8s系列---【K8s如何配置优雅停机?】

K8s如何配置优雅停机&#xff1f; 应用部署在k8s中&#xff0c;需要设置pod的优雅停机时间(terminationGracePeriodSeconds)&#xff0c;一般大于应用程序中spring.lifecycle.timeout-per-shutdown-phase设置的超时时间&#xff1b;设置之后服务更新或者重启时k8s会捕获到1号进…

2 push方法的使用(相当于python的append方法)

push方法相当于python的append方法&#xff0c;用来添加数组元素。 另外&#xff0c;数组取元素也是使用data[i]的格式。 例子&#xff1a; <script>var dataList [[1,2,3,4,5,6],[7,8,9,1,2,3]];var x dataList[0];console.log(x);dataList.push([1,1,2,3,4,5]);cons…

leetcode 47. 全排列 II

2023.7.23 这道题是上一题全排列 的一个升级版。 唯一区别就是需要增加一个树层去重的操作&#xff0c;因为数组nums中允许有重复的元素了&#xff0c;而上一题没有重复元素。 下面看代码&#xff1a; class Solution { public:vector<vector<int>> ans;vector<…

MySQL存储过程——概念及基本语法

1.什么时存储过程 2.存储过程操作语法 2.1 创建和调用 2.2 查看和删除 show create procedure p1;删除存储过程 drop procedure if exists p1;

Linux6.11 Docker 网络

文章目录 计算机系统5G云计算第四章 LINUX Docker 网络及Cgroup资源限制一、Docker 网络实现原理二、Docker 的网络模式1.网络模式详解1&#xff09;host模式2&#xff09;container模式3&#xff09;none模式4&#xff09;bridge模式5&#xff09;自定义网络 三、资源控制1.CP…

5.2 Bootstrap 过渡效果(Transition)插件

文章目录 Bootstrap 过渡效果&#xff08;Transition&#xff09;插件使用案例 Bootstrap 过渡效果&#xff08;Transition&#xff09;插件 过渡效果&#xff08;Transition&#xff09;插件提供了简单的过渡效果。 注意&#xff1a;如果您想要单独引用该插件的功能&#xff0…

如何在 Linux 中创建和使用别名命令

动动发财的小手&#xff0c;点个赞吧&#xff01; Linux 用户经常需要反复使用一个命令。一遍又一遍地键入或复制相同的命令会降低您的工作效率并分散您对应该做的事情的注意力。 您可以通过为最常用的命令创建别名来节省一些时间。别名就像自定义快捷方式&#xff0c;代表可以…

FM算法介绍

文章目录 1. 逻辑回归模型的不足2. POLY2模型——特征交叉的开始3. FM模型——隐向量特征交叉4. FFM模型——引入特征域的概念5. 从POLY2到FFM的模型演化过程6. 参考书籍 1. 逻辑回归模型的不足 逻辑回归作为一个基础模型&#xff0c;显然有其简单、直观、易用的特点。 但其局…