「oeasy」python075_什么是_动态类型_静态类型_强类型_弱类型

B站影视 韩国电影 2025-03-18 16:40 2

摘要:age = 1 print(age, type(age))age = "1" print(age, type(age))

动态类型_静态类型

回忆上次内容

上次我们编写了一个加法运算程序

明了 胜于 晦涩

explicit is better than implicit

指的是变量类型 要明了

难道还有变量类型晦涩的情况??🤔

类型隐式转化

F12调出浏览器的调试器

点击控制台

控制台里输入

1 + "2"

结果是12

1 被隐式地转化为字符串类型了

数据的类型 会自动转化?!🤫

弱类型

javascript 这种 自动转化类型的语言

就是 弱类型的语言

weakly typed

和弱相对的是强

strongly typed

比如python

讲究 明了大于晦涩

不能自动转化

另一种区分维度

与强类型、弱类型这个维度类似的是

动态语言 、 静态语言

Dynamic、static

这如何理解?

动态类型 - dynamic type

编写一个test.py

age = 1 print(age, type(age))
age = "1" print(age, type(age))

运行结果

age变量 的类型

从 整型数字

转变为 字符串

同一变量名age 指向的类型

可以从整型数字

变动到 字符串

就是动态类型

python 是 一门

动态类型语言

那有没有 静态类型呢?!

静态类型 - static type

老前辈 c语言

就是静态类型的

void main(void){ int age = 1; char age = '1';
}

编辑 test.c

:w|!gcc %

保存并且

用外部命令gcc 编译当前文件

编译失败

test.c中声明了

age 是 整型变量

不能 再将

字符类型'1'

赋给变量age

变量类型 一旦被声明

就不能动了

这就是 静态类型

c 是 一门

静态类型语言

静态类型 vs 动态类型

变量类型 是

编程语言的核心

静态类型

类型错了

编译都无法通过

数值 可以改变

类型 不再改变

提高效率

声明类型 之后

需要在编程前思考清楚

动态类型

类型 还可以改变

自主灵活

声明之后

但 容易忘记 变量类型

导致 出错

如果你是变量

你愿意 一辈子一个类型 数值变化

还是 一辈子 可以在各种类型之间切换?

动态类型的优势

动态类型语言里

不怎么 追求明确

全靠 解释器

就能解释得通 就行

类型 不需要编译

自由 散漫

解释脚本类居多

这种灵活性

容易 和各编程语言 配合

跑起来很容易

导致python

而且

这就是 python 被叫做

胶水语言(glue Language)的原因

类型选择

越讲求效率

越静态 严格约束

静态

c python

rust javascript

java ruby

越灵活

越讲求开发速度

越动态

类型强弱

强类型语言

不允许隐式的类型转换

为什么 c是弱类型?

c语言

因为c 很严格

有好几档整型变量

短整型、整型、长整型...

对应不同字节

支持自动转化

所以是弱类型

c语言并不是纯粹的强类型或弱类型语言

隐式类型转换

灵活的指针类型转换

显式类型声明

严格的类型检查

而是介于两者之间

某些方面表现出强类型的特性

在其他方面则表现出弱类型的特性

总结

这次 分辨了 语言类型

静态类型、动态类型

强类型、弱类型

python

属于 动态类型、强类型 语言

对 初学者很友好

类型 容易 混淆

整型变量(int) 为什么叫做 int 呢?🤔

下次再说!👋

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

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

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

来源:小贺科技讲堂

相关推荐