数据类型
不同的数据类型可以进行的操作是不一样的
python中数据类型有6种,分别是数字,字符串,列表,元祖,字典,集合
其中,字符串、元祖、集合是不可变的
数字
数字类型包括整型int,浮点型float,复数complex三种
int,整数
float,小数
complex,复数
不怎么用字符串
定义
字符串可以用单引号’ ‘,双引号" ",三引号’‘’ ‘’'定义
用单引号和双引号定义是一样的,只是有时候会有嵌套的情况出现
用三引号定义的字符串可以换行
字符串的切片
切片其实就是把这个字符串截断,下标从0开始,左闭右开,包头不包尾
如果只写一个就是只取索引是那个位置的字符
字符串是不可变的,除非重新定义
列表
中括号,逗号
列表类型也可以切片
元组
小括号,逗号
字典
字典用大括号,是键值对格式
字典无法切片,但是可以引用
集合
数据类型转变
隐式转变
系统自动进行
整型+浮点型会自动转换成浮点型
显式转变
不同类型直接相加会报错
强制转换
运算符
算术运算符
加、减、乘、除、取模、向下取整、求幂运算
赋值运算符
=、+=、-=、*=、/=、%=、//=、**=
等于,加等,减等,乘等,除等,模等,向下取整等于,求幂运算等于
# 赋值运算符 =
x = 5
print(x)
x = 5
x += 5
print(x)
x = 5
x -= 5
print(x)
x = 5
x *= 5
print(x)
x = 5
x /= 5
print(x)
x = 6
x %= 5
print(x)
x = 24
x //= 5
print(x)
x = 6
x **= 5
print(x)
上面代码段对应的结果
比较运算符
大于>,小于<,等于==,不等于!=,大于等于>=,小于等于<=
结果的类型为布尔型,值为True,False
# 3 比较运算符 结果的类型为布尔型,值为 True,False
x = 10
y = 12
res = x > y
print("res的数据类型:", type(res))
print("x>y的结果res:", res)
res = x < y
print("res的数据类型:", type(res))
print("x<y的结果res:", res)
res = x == y
print("res的数据类型:", type(res))
print("x==y的结果res:", res)
res = x != y
print("res的数据类型:", type(res))
print("x!=y的结果res:", res)
# 大于 或者 等于
res = x >= y
print("res的数据类型:", type(res))
print("x>=y的结果res:", res)
# 小于或者等于
# res = x <= y
res = (x < y) or (x == y)
print("res的数据类型:", type(res))
print("(x < y) or (x == y)的结果res:", res)
逻辑运算符
and,or,not
and:所有都为真,才是真
or:有一个为真,就是真
not:把条件进行反转
# 逻辑运算符
age = 18
name = "孔明9"
gender = "男6"
# and 所有条件都满足,才为true
print("年龄是18岁吗?", age == 18)
print("名字叫孔明吗?", name == "孔明")
print("性别是男性吗?",gender == "男")
print("年龄是18岁,并且名字叫孔明,并且别是男性吗?",
age == 18 and name == "孔明" and gender == "男")
# or
# 只要有一个 条件满足,就为 True
print("年龄是18岁吗?", age == 18)
print("名字叫孔明吗?", name == "孔明")
print("性别是男性吗?",gender == "男")
print("年龄是18岁,或者名字叫孔明,或者性别是男性吗?",
age == 18 or name == "孔明" or gender == "男")
# not
print("年龄不是18岁吗?", not age == 18)