欢迎光临散文网 会员登陆 & 注册

[oeasy]python0072_整数类型_int_integer_整型变量

2023-07-14 16:55 作者:oeasy  | 我要投稿

帮助手册

回忆上次内容

  • 上次了解的是 字符串

  • 字符串 就是 字符的串

    • 字符串长度 可以用 len函数

    • 字符可以用下标索引 []

  • 可以用str

    • 将整型数字 转化为 字符串

  • 字符的长度本身 有长有短

    • 都算一个字符

    • 可能对应 3 个字节

    • 都对应 1 个字节

    • ascii字符集 包括各种 转义字符

    • unicode 字符中的汉字

    • 但不管本身是 1 字节 还是 3 字节

    • 将字符串 赋给一个字符串变量

      • 字符串在内存中的地址 就是 变量的id

      • 存储于 计算机的内存当中

    • 除了字符串

      • 还有什么变量类型?🤔

    数字

    • 下面两句 就是 整数类型变量的

      • 定义

      • 引用

    • i_age中

      • i代表着 integer 整数类型变量

      • age 代表着年龄

    • 怎么才能确认

      • i_age变量 是 整数类型的呢?

    类型和地址

    • introspection

      • 自省

      • 知道自己是干什么的

    • 可以看到

      • i_age是int类型的变量

    • int是什么意思呢?

    int 含义

    • int 全称 integer

      • 一个就是一个

      • 两个就是两个

      • 没有一个半

      • 意思是整的数

      • 和零碎的相反

    • int 代表 整数类型

      • 简称 整型

    • i_age是一个整型变量

      • 这个整型变量 存储在什么位置呢?

    存储位置

    • i_age 在内存中的地址

      • 在 id(i_age)

    • 第一句的赋值过程

      • 分配空间的位置 在 id(i_age)

      • 然后把分配空间地址给 i_age 变量

      • 在内存中分配一块空间 存储 整数

    • i_age

      • 类型 class 是 int

      • 内存地址 是 id(i_age)

    输出

    • 两个不同类型的变量

      • 字符串型的 年龄变量

      • 其中s 代表 string 字符串

      • 整型的 年龄变量

      • 其中i 代表 int 整数

      • i_age

      • s_age

      • 在打印输出的时候

        • 这两个东西 看起来完全一样啊

      • 具体类型不同 有作用么?

      运算逻辑

      • 首先就是 运算的逻辑

      • 字符串的加法是

        • 拼接(cancatenate)在一起

      • 整数的加法是

        • 按照数字的值 进行加法运算

      • 为什么数字 int 类型

        • 能够按照值 进行加法运算 呢?

      整型数字

      • 这个变量是一个整型的变量

        • 定义的时候

        • 产生这个变量的时候

        • 就是为了运算

      • 整型变量 和字符串变量不同

        • 为了字符串查找、匹配、显示之类的目的

        • 字符串变量 是一个字符的串

        • 一开始就是

      • 两种类型之间

        • 可以相互转化吗?

      转化

      i_apple = int(s_apple)

      • 可以用int函数

        • 将字符串转化为整数

      • 注意int是一个class(类)

        • 转化为十进制整型数字

        • 转化为 int 类的对象

        • 可以把字符串

        • 也可以把其他进制的数

        • 什么是其他进制?

        十二时辰

        • 关于时间的时分秒

          • 其实都不是十进制的

        • 中国传统十二地支

          • 可以看出这是一个循环的圆吗?

        • int可以

          • 将 十二进制 转化为 二进制 吗?

        转化十二进制

        • 两天又两个时辰

          • 总共多少个时辰?

        • 总共26个时辰

          • 这如何理解呢?

        转化

        • int函数的第二个参数

          • 代表着使用的进制

        • 下面这个就是

          • 将2进制的111 转化为十进制

        • 一般语言比如 c、java

          • 都把 int 当做关键字

        • 但是在 python 这里

          • int 是一个类

        • 在编程语言中

          • 什么应该 当做类?

          • 什么应该 进入关键字?

        • 每个语言都不一样

          • 真的很有意思

        int 类

        • 这不同的分类 涉及很多东西

          • 分词 lexical analysis 如何拆成最小的词素

          • 语法 parser 这些元素应该如何组合

          • 语义分析 Syntax analysis 组合起来应该如何理解

          • 理解了之后 又该生成什么样的指令

        • 类名int 被定义为变量名

          • 可能会引发问题

          • 如下图

        • int、str 都是类名

          • 都要注意这些问题

        • int 和 str

          • 都没有进入关键字

        • 到底哪些字符串

          • 属于关键字呢?

        关键字 keyword

        • 下面是 python3.9 目前所有的关键字

          • 我们一起来捋一捋 见过的关键字

        • 这里面我们见过

          • try

          • except

          • else

          • finally

          • for

          • import

          • 还有这四个是一套的

        • 很多关键字的习惯来自于 c 语言

          • 那个最早编写 hello world 所用的编程语言

          • 还记得么?

          • 其实也是编 python解释器 用的语言

        • python 和 c 还是有一些区别

        • int 在 c 里面是声明整型变量的关键字

        • int 在 python 中是一个类

          • 在电脑内存 里面长什么样子 呢?

          • 具体存的 是 整型数字类的 对象

          • 这个 int型的对象

        二进制

        • 在打印输出的时候 使用十进制

          • 这符合 我们的生活习惯

          • 因为 我们有 个手指头

        • 但是计算机用的是 进制

          • binary

        • 在电脑存储和运算的时候

          • 使用二进制(binary)

          • 一切东西在电脑内 都是用二进制方式存储的

          • 因为计算机里 只有高低电平(0 和 1)

          • 相当于 两个手指头

        • 不管你有几个手指头

          • 同样是数 41 棵树

          • 数出来的数字是不会变的

          • 只是使用不同的表示方式而已

        • 真的么?

        二进制十进制转化

        • (41)10 进制 和 (101001)2 进制 是相等的

          • 互相之间可以相互转化

        • 其中的bin

          • 代表 binary 二进制

        • 不论用 10 个手指头、还是 2 个手指头

          • 41 个苹果的数量本身不会变

          • 只是计数方法变了

        • int(bin(i_age),2)

          • 这是什么意思呢?

        • 先看括号里面

          • bin该如何理解来着?

        二进制(binary) 转 十进制(decimal)

        • help(bin)

        • bin(41)

        • '0b101001'

          • 这是一个二进制形式的字符串

          • 其中 0 明确这是一个数字

          • b 明确这是一个二进制数字

        进制转化

        • bin(i_age)

          • 就是将整型变量i_age 转化为 二进制的字符串形态

          • 就是 "0b101001"

        • 再查询int帮助

        • int(bin(i_age),2)

          • "0b101001" 从二进制转化十进制

        • int甚至可以

          • 把7进制数转化为10进制

        • 七进制的123 转化为 十进制

          • 得到 66

        二进制 binary字符串 转 十进制整数

        • 用int函数

          • 将二进制的字符串形态

          • 转化为整型数字

        int("0b101001", base = 2) int("101001", base = 2) int("101001", 2)

        • int的意思是integer

          • 整数

        • 这三条其实是等价的

          • 标识着 用的是多少进制

          • "0b…"明确是二进制数字

          • base 是参数的名字

        总结

        • 这次了解的是整型数字类变量

          • integer

          • 前缀为i

        • 整型变量 和 字符串变量 不同

          • 把 2进制字符串

          • 转化为 十进制整数

          • 整型变量 是 直接存储二进制形式的

          • 可以用 int()函数

          • int()

            • 接受两个变量

            1. 待转化的字符串

            2. 字符串使用的进制

          • 二进制 和 十进制之间

            • bin(41)

            • int(“101001”,2)

            • 把 10 进制 转化为 2 进制

            • 把 2 进制 转化为 10 进制

            • 可以互相转化

            • 除了 二进制、 十进制

              • 怎么转化呢?🤔

              • 还有什么样的进制来着

            • 下次再说*🏻

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

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

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


            [oeasy]python0072_整数类型_int_integer_整型变量的评论 (共 条)

            分享到微博请遵守国家法律