Python 六大标准基础数据类型

(一) Number数字类型

整数类型(int)

int 整型(正整数 0 分整数)
type 获取一个值的类型
#案例1:正整数
int_var1 = 1 	#正整数
print(int_var1,type(int_var1))

#案例2:定义变量为0的整数
int_var2 = 0 	#0
print(int_var2,type(int_var2))

#案例3:负整数
int_var3 = (-1) #负整数
print(int_var3,type(int_var3))

浮点数类型(float)

float:正浮点数  负浮点数
#案例1:正浮点数
float_var1 = 1.2 	#正浮点整数
print(float_var1,type(float_var1))

#案例2:负浮点数
float_var2 = (-1.3) #负浮点数
print(float_var2,type(float_var2))

布尔类型(bool)

bool: 真(True)	假(False)
#案例1:真(True)
a = 10
b = 5
res = a > b
print(res,type(res))
#运行结果返回:True <class 'bool'>

#案例2:假(False)
a = 10
b = 5
res = b > a
print(res,type(res))
#运行结果为:False <class 'bool'>

复数类型(comolex)

复数(complex): 实数 + 虚数
例:4 + 3j 
4是实数
3j是虚数

#案例1:
complex_var = 3-2j
print(complex_var)
print(type(complex_var))
#运行结果:
	(3-2j)
	<class 'complex'>

#案例2:complex(实数,虚数)
complex_var = complex(3,-2)
print(complex_var)
print(type(complex_var))
#运行结果:
	(3-2j)
	<class 'complex'>

#案例3:只有虚数,没有实数
comple_var = 4j
print(comple_var)
print(type(comple_var))
#运行结果:
	4j
	<class 'complex'>

(二) 容器类型分类:

字符串(str):

  1. 字符串的概念:用引号(""或'')引起来的就是字符串.
  2. len 获取容器类型数据的长度,元素的总个数

(1)单引号字符串

str_var = '51自学Python'
print(str_var,type(str_var))
#运行结果:
	51自学Python <class 'str'>

(2)双引号字符串

str_var1 = "文能提笔安天下,武能上马定乾坤."
print(str_var1,type(str_var1))
#运行结果:
	文能提笔安天下,武能上马定乾坤. <class 'str'>

(3)三引号字符串(支持跨行操作)

msg = """
文能提笔安天下,
武能上马定乾坤.
"""
print(msg,type(msg))
#运行结果:
	文能提笔安天下,
	武能上马定乾坤.
	<class 'str'>

(4)元字符串r"字符串"不转义字符,原型化输出字符串

str_var = r"E:文档2019年python全栈"
print(str_var)
#运行结果:
	E:文档python全栈

(5)字符串,可获取,不可修改,有序

#正向索引   0 1 2 3 4 5 6 7 8 9
str_var = "黑夜给我了黑色的眼睛"
#反向索引-10-9-8-7-6-5-4-3-2-1

#案例1:
res = str_var[1]#正向索引
print(res)
#运行结果:
	夜
 
#案例2:
res = str_var[-2]#反向索引
print(res)
#运行结果:
	眼

列表类型(list):列表可获取,可修改,有序.

(1)定义空列表

list_var = []
print(list_var,type(list_var))
#运行结果:
	[] <class 'list'>

(2)索引取值

# 1.获取列表里面的值
#			0  1  2  3  4  5   6   7
list_var = [11,22,33,44,55,66,"aa","bb"]
res = list_var[1]#正向取值
print(res)
#运行结果:
	22
 
# 获取最后一个值 (python特有) res => result
list_var = [11,22,33,44,55,66,"aa","bb"]
#		   -8  -7 -6 -5 -4 -3  -2   -1
res = list_var[-1]#逆向索引
print(res)
#运行结果:
	bb

(3)修改列表里面的值

list_var = [11,22,33,44,55,66,"aa","bb"]
list_var[-1] = 88
print(list_var)
#运行结果:
	[11, 22, 33, 44, 55, 66, 'aa', 88]

元组类型(tuple):可获取,不可修改,有序

(1)定义一个空元组

tuple_var = ()
print(tuple_var,type(tuple_var))
#运行结果:
	() <class 'tuple'>

(2)逗号是元组的标志性符号,如果想要表达空元组,可以用();

tuple_var = (1,)
print(tuple_var,type(tuple_var))
#运行结果:
	(1,) <class 'tuple'>

(3)索引获取元组里面的值

#             0   1    2    3
tuple_var = ("aa","bb","cc","dd")
#            -4   -3   -2   -1
print(tuple_var,type(tuple_var))
print(tuple_var[1])
#运行结果:
	('aa', 'bb', 'cc', 'dd') <class 'tuple'>
	bb

集合(set):集合类型作用:交差并补,操作无序,自动去重

set_var = {"唐僧","悟空","八戒","沙僧"}
print(set_var)

(1) 是否可以获取集合中的值?不可以

set_var = {"唐僧","悟空","八戒","沙僧"}
print(set_var[0])
#运行结果:
	TypeError: 'set' object does not support indexing
	(类型错误:“set”对象不支持索引)

(2) 是否可以设置集合中的值?不可以

set_var = {"唐僧","悟空","八戒","沙僧"}
set_var[0] = 1
print(set_var)
#运行结果:
	TypeError: 'set' object does not support item assignment
	(类型错误:“set”对象不支持项分配)

(3) 可以自动去重

set_var = {"唐僧","悟空","八戒","沙僧","悟空","八戒"}
print(set_var)
#运行结果:
	{'唐僧', '悟空', '八戒', '沙僧'}

(4) 定义空集合

set_var = set()
print(set_var,type(set_var))
#运行结果:
	set() <class 'set'>

字典(dict):由键值对存储的数据,字面上有序,本质上无序

语法:
	dic_var = {"键1":"值1","键值2":"值2"}
	由键值对存储数据,左边是键,右边是值,键值之间用冒号隔开.
3.6版本之前都是 字典和集合都是无序的
3.6版本之后,把字典的字面顺序记录下来,当从内存拿数据的时候,
   根据字面顺序重新排序,所以看起来像有序,但本质上无序
    dict_var = {"罗贯中":"三国演义","曹雪芹":"红楼梦","施耐庵":"水浒传","吴承恩":"西游记"}
print(dict_var)

获取字典当中的值

dict_var = {"罗贯中":"三国演义","曹雪芹":"红楼梦","施耐庵":"水浒传","吴承恩":"西游记"}
print(dict_var["罗贯中"])

修改字典当中的值

dict_var = {"罗贯中":"三国演义","曹雪芹":"红楼梦","施耐庵":"水浒传","吴承恩":"西游记"}
dict_var['曹雪芹'] = "石头记"
print(dict_var)

结论:

字典当中的键和集合当中的值,底层都是通过哈希算法出来的;
但凡使用了哈希算法,那么这个数据就是散列无序的,因为要把数据均匀的分布存储在内存当中,减少哈希碰撞

可哈希数据:Number(int float bool complex) str tuple 不可变的数据.
不可哈希的数据:list set dict
    
定义字典的语法是允许的,但是不要使用,定义字典的键,一般按照变量名的方式定义字符串.

集合的值也必须可哈希(不可变数据)
但凡是不可哈希的数据都不能作为集合的值
setvar = {1,9,"abc",(1,2,3),[1,2,3]}   #error
setvar = {1,9,"abc",(1,2,3,[1,2,3]) }  #error
print(setvar)
原文地址:https://www.cnblogs.com/CrownYP/p/11340678.html