python的基本数据类型有6中:数字类型、字符串类型、列表、元组、集合、字典等。这六种数据类型又可以分为不可变类型(数字类型、字符串类型、元组)和可变类型(列表、集合、字典)
数字类型:(Number)
包括这4中数据:int整数、bool布尔、float浮点、complex复数
运算和Java等高级语言是一样的
注:python可以同时为多个变量赋值,一个变量可以通过赋值指向不同类型的对象
a, b = 1, 2 #多变量复制,相当于a = 1, b = 2
a, b = (3, 4) #以元组的形式复制,是和上面一样的
# 在赋值的过程中,右边不能是赋值表达式
a = (b = 3) # 这行代码事会报错的
# 在python中,变量是没有类型的,只有值是有类型的,即变量可以指向所有的对象
a = 1
a = "string"
a = True
a = [1, 2]
a = (1, 2)
a = {"a": 1, "b": 2}
数值的除法包含两个运算符:/返回一个浮点数; //返回一个整数
# 这里列举与其他语言运算符不同的例子 # / 除运算在除的过程中,会保留小数 a = 10/4 # 结果是2.5 # // 整除运算在整除的过程中,不会保留小数 a = 10 // 4 # 结果是2
在混合计算中,python会把整型转换为浮点型
# 在进行运算时,python解释器会将所有值转换同一类型,在进行运算 a = 1 + 2 + 3.8 # 结果是6.8
type()和isinstance()的区别
type()不会认为子类是一种父类类型
isinstance会认为子类是一种父类类型
class A:
def __init__(self):
print("A")
class B(A):
def __init__(self):
super().__init__()
print("B")
if __name__ == "__main__":
b = B()
print(type(b) == A) # 返回False
print(type(b) == B) # 返回True
print(isinstance(b, A)) # 返回True
print(isinstance(b, B)) # 返回True
del 变量名 删除变量
a = 1 del a print(a) # a is not defined
String(字符串)(不可变的类型)、List(列表)(可变的数据类型)、元组
这三者的结构相似,操作也是很相似
1、表达方式
字符串使用引号括起来、列表使用 " [] " 括起来、元组使用 " () " 括起来
# 字符串形式
a = "abcdefghijklmn"
# 列表形式
a = list("a") # a = ["a"]
a = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n"]
# 元组形式
a = tuple("a") # a = ("a")
a = ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n")
2、变量元素值修改
# 字符串和元组是不可变的数据类型,字符串和元组不能增加、修改、删除 a = [1, 2] a.append(3) # [1, 2, 3] append()只在末尾添加,可以用insert()随意添加 a.pop() # [1, 2, 3] pop() 不加参数默认删除最后一个元素 a[0] = 2 # [2, 2] 用索引的方式直接修改即可 a[1] # 2 索引是从0开始的,也可以从末尾开始访问和修改,是从-1开始 a = "abcdefg" a[2] # 字符串只能访问 c a = (1, 2, 3) a[1] # 2
3、截取方式
# 三者截取方式一毛一样的
# 以[:]这样的形式截取, 不加参数相当于复制;[start:end]截取片段是从start开始到end-1
a = "abcdef"
a[:2] # "ab"
a[-5:-2] # "bcd"
a = ["a", "b", "c", "d", "e", "f"]
a[:2] # ["a", "b"]
a[-5:-2] # ["b", "c", "d"]
a = ("a", "b", "c", "d", "e", "f")
a[:2] # ("a", "b")
a[-5:-2] # ("b", "c", "d")
对于序列类型(除了字符串类型),变量的元素值可以是任何类型的值
# 列表存储数据
a = [1, "string", (1, 2), [1, 2], {1, 2}, {"a":1,"b":2}]
# 元组存储数据
a = (1, "string", (1, 2), [1, 2], {1, 2}, {"a":1,"b":2})
# 集合存储数据(不能有重复的数据)
a = {1, "string", (1, 2), [1, 2], {1, 2}, {"a":1,"b":2}}
# 字典存储数据
a = {
"a": 1,
"b": "string",
"c": (1, 2),
"d": [1, 2],
"e": {1, 2},
"f": {"a":1,"b":2},
}
集合,字典
1、表现形式
# 字典的表现形式
a = {}
a = dict()
# 集合的表现形式
a = set()