python中类型有哪些:分基础与复合两类可直接实操区分

python中类型有哪些:分基础与复合两类可直接实操区分

刚学Python写代码的头一周,最懵的问题就是python中类型有哪些,对着网上零散的笔记越看越乱,一会看到字符串、数字,一会又跳出列表、字典,总觉得这些数据类型毫无规律,随便乱用的结果就是代码频频报错,变量赋值之后永远搞不清为什么运算会出错。

最开始的认知特别浅薄,只知道敲代码时输入数字就是数字类型,打引号的文字就是字符串类型,压根没意识到Python的类型体系是完整的分类,那段时间写加减运算,经常把带引号的数字和纯数字放一起计算,程序直接抛出类型错误,反复调试半天,始终找不到问题根源,还傻傻以为是代码拼写出错,反复删减标点、调整空格,浪费了大把的时间,现在回头看,就是完全没摸透基础数据类型的底层区别,只记了零散的名字,没懂各自的使用场景,才会反复卡在最基础的语法问题上。

后来才反应过来,基础类型就五种。

实打实实操测试过,整数、浮点数、布尔、字符串、空类型,这五个是Python最核心的基础数据类型,也是日常编码使用率最高的类型。整数就是不带小数的数字,用来做整数运算、计数统计;浮点数对应所有带小数点的数值,做精准数值计算会用到;布尔类型最简单,只有True和False两个值,专门用来做条件判断,是所有if判断语句的核心;字符串用来存储文本、符号、数字文本,所有被单双引号包裹的内容都是字符串;空类型就是None,专门用来定义空变量,避免变量未赋值报错,这些都是一次次敲代码、看返回结果验证过的,没有半点虚的,日常写基础代码基本离不开这五类。

之前一直搞错的点,就是把复合类型和基础类型混为一谈,总觉得所有能存数据的格式都是同一类数据类型,这也是新手最容易栽跟头的地方。很多教程不会直白区分,只会堆砌所有类型名称,导致新手越学越混乱,根本分不清哪些是单一独立的基础数据,哪些是可以收纳多组数据的组合数据。

折腾好久才搞明白,除了基础的五种类型,Python日常高频使用的都是复合数据类型,核心就四种:列表、元组、字典、集合。这几种类型和基础类型最大的区别,就是可以批量存储多个不同类型的数据,当初写批量录入学生信息的小脚本时,一开始只用字符串存储所有数据,结果数据杂乱无章,没法单独调取某一个信息,挨个替换类型调试后才摸清各自特性。列表灵活度最高,支持增删改查,适合存储有序、需要随时变动的数据;元组数据固定不可修改,用来存放固定参数、配置信息;字典依靠键值对匹配存储,查询速度极快,适配一一对应的关联数据;集合自带自动去重属性,专门用来筛选、清理重复数据,每一个用法都是踩坑试出来的。

很多冷门类型不用刻意背诵。

日常刷题、写脚本、做基础项目开发,字节、字节数组、冻结集合这些小众类型几乎用不到,过度记忆只会徒增负担,完全没必要把所有冷门类型全部记熟,抓高频核心就足够应付绝大多数场景。

慢慢迭代下来,彻底摒弃了之前死记硬背类型名称的笨方法,只靠实操场景区分,单一独立数据用基础类型,批量组合数据用复合类型,简单直接,再也没出现过类型不匹配的低级报错,编码效率也提上来不少。

那天晚上关掉编译器,屏幕微光彻底熄灭的时候,终于不用再对着一堆杂乱的类型名词死记硬背了。