上次了解的是
int词根溯源
如何理解 整型变量呢?🤔
数字下面两句 就是 整数类型变量的
声明
赋值
使用
i_age中
强化类型 是 整数类型(integer)
这种命名惯例 叫做 匈牙利命名法
age 代表着年龄
前缀i
怎么 才能 确认
i_age变量 是 整数类型的呢?
类型和地址introspection
自省
知道自己是谁
type函数
可以看到
i_age是int类型的变量
这整型变量在哪儿呢?
存储位置i_age 在内存中的地址
在 id(i_age)
第一句的赋值过程
分配空间的位置 在 id(i_age)
存储 整数41
然后把 分配的地址 给 i_age 变量
在内存中分配一块空间
i_age
类型 是 int
内存地址 是 id(i_age)
地址里 存的是 数字41
整型变量
也可以
给其他变量赋值吗?
赋值这个网站可以看到变量在内存中的情况
https://pythontutor.com/
首先选择
渲染 堆上的 所有变量
render all objects on the heap
i1 = 41i2 = 66print(id(i1),id(i2))i2 = i1print(id(i1),id(i2))
他俩 在 调用(call)栈(stack)的 帧(frame)上
也画出来了
赋值过程 和 上次 用字符串变量赋值 类似
为什么 会有
int这么一种类型呢?
整型数字整型变量 诞生的 目的
加减乘除、比大小...
就是 为了数字运算
整型变量
是 直接存储 的 二进制数字
能把字符串 转化为 整数 吗?
转化s_apple = '8'
前缀s
代表着 string(字符串)
还是匈牙利命名法
i_apple = int(s_apple)
注意int是一个class(类)
转化为 int 类的对象
可以把字符串
int函数怎么用呢?
喊救命help(int)
如果给出了基数(base)
就 可以把 其他进制的数
转化为 十进制数
说点实际的
2进制转化int("111", 2)
可以将二进制的数字转化为十进制
为什么会有二进制呢?
2进制最简单的输入
开关
最简单的输出
亮灭
最简单的进制
二进制
0和1
还有什么其他进制吗?
其他进制0 和 2-36进制
当base为0时
可以把字符串
转化为整型数字
base 为 2-36时
可以得到base进制数
为什么我们现在都用十进制?
十个手指头手指数量 决定我们数制的基数(base)
可以用一只手
完成十二进制吗?
掐指一算中国传统十二地支手决图
子午流注一天是
一个循环的圆
十二个时辰
12个时辰 等于 1天
这 是 十二进制
转化十二进制2天又2个时辰
总共多少个时辰?
总共26个时辰
这如何理解呢?
转化计算
1天 12个时辰
2天 24个时辰
再加2个时辰
总共26个时辰
int函数的第二个参数
所用的进制
代表着base(基数)
比如下图中的12
(22)12进制 等于
(26)10进制
还有什么其他进制?
其他进制八进制
六进制
其他进制也可以转化吗?
其他进制下面这个就是
将2进制的111 转化为十进制
如果 将整数值 直接赋给 int
有什么问题来着?
int 类int 本来是 类名
现在 被声明为 变量名
可能会引发问题
如下图
这个问题怎么解决呢?
删除用到了del关键字
还有什么关键字来着?
关键字 keywordhelp("keywords")
下面是 python3.9 目前所有的关键字
我们一起来捋一捋 见过的关键字
这里面我们见过
del
if/True/False
for/in
from/import/as
try/except/else/finally
很多关键字的习惯
跟 谁 学的来着?
词汇来源很多关键字的习惯 跟 c语言学的
还记得吗?
最早编写 hello world 的 c语言
也是编 python解释器 的语言
区别python 和 c 还是有一些区别
int 在 c 里面是
声明整型变量的关键字
int 在 python 里面 是
int类型
一个类(class)
还有什么类型来着?
总结还有 字符串 类型
str类型
这次 了解 的是
integer
整型变量
本质上是 二进制形式 直接存储的 数字
两个不同类型的变量
字符串型的 年龄变量
其中s 代表 string 字符串
整型的 年龄变量
其中i 代表 int 整数
i_age
s_age
整型 和 字符串
输出 到屏幕上区别
这两个类型 区别在哪呢??🤔
下次再说👋🏻
蓝桥->https://www.lanqiao.cn/courses/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython