1.变量定义及数据交换,数据类型
1.1 注释的几个符号
- # 、' ' : 注释单行;
- ‘’‘ ’‘’;“”“ ”“” : 三个单引号或双引号在段首和段尾,注释一段说明
1.2 变量的定义
a,b = 10,20
print(a,b)
1.3 交换变量的数据
a,b = b,a
a和b的值互相交换
- 赋值符号前后要有空格
1.4 python中提供一个方法让用户获取当前变量的数据类型
type()
love = 'ilove u'
res = type(love) # 定义一个变量用来返回数据类型;
<class 'str'> str == string
1.5 大字符串
- s = '''this is very long
artile'''- as = "long"\
"long"
print(s, as)
1.6 使用引号定义的字符串,可以嵌套别的引号
s = '''the moon light flash through 'the window' to the """floor"""oh'''
1.7 转义字符
\n 表示换行;
\t 表示制表符 etc.
a = 'the \n the'
a = r'the\n the' 可以取消转义字符
2.数字类型 Number
2.1 int整型,浮点数float
varn = 0×10;十六进制
*乘号是小写字母x
print(varn, type(varn))
avarn = b'001100111'; bytes
复数 complex
varn = 5+6j
2.2 布尔类型 bool
aa = True ; 1为真
bb = False ; 0为假
print(aa, type(aa))
3.list列表类型
记录一组数字或其他数据
varlist = [14,4534,46,27]
- 列表中数据可以通过下标方式获取
print(varlist[0])- 列表中元素的值可以存储一个列表,称为二级列表(二维列表),或多级列表
avarlist = [1,'hi',[3,88,9,32],9.5]
print(avarlist[2])
print(avarlist[2][1])
4.Tuple元组类型
同list类似,用于存储多个数据
vart = (1,2,3,'a','d')
vart = 1,2,3
- 在定义元组时,若只有一个元素,需要加逗号,不然就不是元组类型
- list和tuple区别
list中括号,tuple小括号;
列表中的值可以被改变,元组中的值不可以
5.Dict字典类型
- 字典也是用于存储一组或多组数据时使用,用大括号{}定义
- 字典是 键值对 的存储方式 name:admin
- 键必须是字符串或数字类型,值可以是任意类型
- 键名不能重复,值可以重复
vard = {'title':'《鬼谷子》, ‘author’:‘鬼谷子’, 'price’:29.99}
print(vard, type(vard))获取字典中的值
print(vard['title'])
6.set集合类型
set集合是一个 无序且元素不重复的 集合的数据类型
set集合使用 中括号或者set()来定义
vars = {1,3,54,'d','t'}
vars = set('123456')
print(avars, type(vars))
- 需要定义一个空集合时,只能使用set()方法,因为大括号定义空集合代表空字典类型
vars = {}
vars = set()
- 给集合添加元素
a = {1,2,3,'a'}
a.add('b')
- 无法获取集合中的单个元素,但可以删除
print(a.discard('a'))
- 检查当前元素是否在集合中
print(1 in a)
- 集合主要用于运算,交集,差集,并集,对称集合
a = {1,2,3,'a','b'}
b = {1,2,3,'aa','bb'}
print(a & b); 交集
print(a - b); 差集 a集合有,b集合没有的
print(a | b); 并集 两个集合放到一起,并且去重
print(a ^ b); 对称集合 两个集合重复的去掉
7.基础数据类型转换
7.1 数据类型总结
字符串 string
数字类型 number
~ 整型 int
~ 浮点 float
~ 复数 complex
~ 布尔 bool
列表 list
元组 tuple
字典 dict
集合 set
可变数据类型:列表,字典,集合
不可变数据类型:字符串,数字,元组
容器类型数据:字符串,列表,元组,集合,字典
非容器类型数据:数字,布尔
7.2 数据类型转换
形式:自动类型转换,强制类型转换
7.2.1 自动类型转换
两个不同值进行运算时,结果会向更高的精度进行计算
** True >> Int >> float >> complex **
a = 123
b = True ; 在和数字运算时,true转为数字1,false转为0
print(a + b)print(3.55 + 8); float + int = float
print(3.14 + True); 4.140000000000001
7.2.2 强制类型转换
以下函数可将其他类型数据转换为对应的数据类型:
repr() 将对象转化为供解释器读取的形式,返回一个对象的 string 格式str() 将对象 x 转换为字符串
int()
float()
bool()
list()
tuple()
dict()
set()a = 123
b = '123'
c = 3.14
d = True
e = [1,2,3]
f = (1,2,3)
g = {1,2,3}
h = {'a':1,'b':2}
- 可以把所有其他数据类型转换为字符串类型
res = str(a)- 字符串转数字类型,需纯数字才可以
列表(其他容器类型)无法转换为数字int类型,浮点转换类似
res = int(b) print(res, type(res))
res = float(a)- bool可把其他类型转换为True或False
需要总结哪些是False:''空字符串
0、0.0,False
[],{},(),set()
7.2.3 容器类型数据转换
- list列表
数字类型是 非容器类型,不能转换为列表;
字符串 转换为列表时,会把字符串中每一个字符当作列表的元素;
集合 可以转换;
元组 可以;
字典 可以,但转换后只保留字典中的值 - tuple元组 数字类型是 非容器类型,不能转换为 元组;
其他容器类型数据转换和列表一样 - set集合
数字类型是 非容器类型,不能转换为 集合;
字符串,列表,元组 可以转换为集合, 结果无序的
字典转换只保留 键 key - dict字典
数字类型是 非容器类型,不能转换为 字典;
字符串不可以;
列表 要求是一个二级列表,并且每个二级元素只能有两个值;
元组 要求是一个二级列表,并且每个二级元素只能有两个值;