1-4-01. 数据类型
1. 数据类型
刚上学时,老师教我们 数字 、拼音、汉字、真假判断 等,然后我们根据学到的内容写作文,老师来检查并打分。
现在学编程,我教大家 int、str、bool 等,然后大家根据这些内容来写代码,写完代码交给Python解释器去运行。
字段 | 用法 |
---|---|
整形(int) | 整型,其实就是以前数学课上讲的整数(不包含小数),在写代码时用于表示整数相关的东西,例如:年龄、存款、尺寸、手机号等。一般我们提到的:5、18、22、99、… 等整数 在Python中都称为是整型,且支持 加/减/乘/除/取余/指数 等操作。 |
字符串(str) | 字符串,其实就是我们生活中的文本信息。例如:姓名、地址、自我介绍等。 |
布尔类型(bool) | 布尔类型中共有两个值:True / False |
list,列表类型 | list,列表类型,用于存储一些数据的容器(有序 & 可修改) |
tuple,元组类型 | tuple,元组类型,用于存储一些数据的容器(有序 & 不可修改) |
dict,字典类型 | set集合,一个不允许重复重复 & 可变类型(元素可哈希)。 |
set,集合类型 | dict字典,一个容器且元素必须是键值对。 |
float,浮点类型(浮点型) | float类型,我们生活中常见的小数。 |
目前:只有 str、list、tuple 可以被for循环
每种数据类型都有自己的特点及应用场景,以后的开发中需要根据实际的开发情况选择合适的数据类型。
![[assets/Pasted image 20221014225353.png]]
关于or和and的规则
如果or左边的布尔结果为True,则直接将左边的结果返回,右边压根不看了
如果or左边的布尔结果为False,则直接将右边的结果返回,无论右边的布尔结果是否为True
如果and两边的布尔结果为假,返回左边的结果
如果and两边的布尔结果为真,返回右边的
如果and左边的为真,右边的为假,返回右边的,无论右边的结果是真是假
如果and左边的为假,右边的为真,返回左边的,无论左边的结果是真是假
or,看第一个值,如果第一个值为真,结果就应该是第一个值,否则就结果就是第二个值。
and,看第一个值,如果第一个值真,结果就应该是第二个值,否则结果就是第一个值。
1.1 类型转换
上文数据类型int/str/bool有了初步了解,他们都有自己不同的定义方式。
-
int,整型定义时,必须是数字且无引号,例如:5、8、9
-
str,字符串定义时,必须用双引号括起来,例如:”中国”、”武沛齐”、”666”
-
bool,布尔值定义时,只能写True和False
不同的数据类型都有不同的功能,例如:整型可以加减乘除 而 字符串只能加(拼接)和乘法。 如果想要做转换可遵循一个基本规则:想转换什么类型就让他包裹一些。
例如:str(666) = "666"是将整型转换为字符串、int(“888”)是将字符串转 888。
转换为整形:
# 字符串转换为整形(度可度之人)
int("666")
int("999")
#"6" + "9" 的结果应该是: "69"
int("6") + int("9") 的结果是:15
int("alex是sb") 报错
# 布尔类型转换为整形
int(True) 转换完等于 1
int(False) 转换完等于 0
转换为字符串:
# 整形转字符串
str(345)
str(666) + str(9) #结果为:"6669"
# 布尔类型转换为字符串
str(True) #"True"
str(False) #"False"
转换为布尔类型:
# 整形转布尔 所有能得到的结果都是true,除了0是false
bool(1) True
bool(2) True
bool(0) False
bool(-10) True
# 字符串转布尔 【只有""为false,其他都是true,哪怕是有空格都是ture】
bool("alex") True
bool("砂玻帮你") True
bool("") False
bool(" ") True
三句话搞定类型转换:
-
其他所有类型转换为布尔类型时,除了 空字符串、0以为其他都是True。
-
字符串转整形时,只有那种 "988" 格式的字符串才可以转换为整形,其他都报错。
-
想要转换为那种类型,就用这类型的英文包裹一下就行行。
str(...)
int(...)
bool(...)
注意:类型转换不是改变原来值,实际在底层是新创建了一个值。例如有整数 6 ,然后使用 str(6) 转化了一下得到 “6”,实际上这个字符串”6”是依据整数6新创建的。