0.数据类型
变量是存储数据的,不同的数据有不同的类型来存储。
1.整型 int
1.1定义
整型用于存储整数。
eg:记录年龄、身份证号、个数
1.2实例
num = 1
print(num)
print(type(num))
2.浮点型 float
2.1定义
浮点型用于存储带小数的值。
特征:带小数点的数字。
eg: 记录薪资、身高、体重
num_float = 1.1
print(num_float)
print(type(num_float))
3.字符串 str
3.1定义
字符串类型用于存储一组字符。
特征:被引号引起来的一串字符。
eg: 记录描述性质的状态,名字、一段话
3.2格式
字符串有可以用:
1.单引号 'x'
2.双引号 "x"
3.三单引号 '''x'''
4.三双引号 """x"""
三单引号,三双引号,的左侧没有赋值符号的时候是注释,
有赋值符号的时候是字符串,
3.3实例
str1 = 'x'
str2 = "x"
str3 = '''x'''
str4 = """x"""
print(str1, str2, str3, str4, type(str1))
3.4打印引号
字符串以某种引号开始,在往后再遇到自己就会中断,
所以在字符串中使用引号,外层需要用不同类型的引号。
str5 = '有人说:"这个世界上他是最厉害了!" '
print(str5)
str6 = "有人说:"这个世界上他是最厉害了!" "
print(str6)
3.5跨行书写
编辑界面中一行无法写完一句话,可以采用分行书写,代码看上去也整洁。
方式1:使用 \ 斜杠 续行符,在下一行继续书写字符串,按一和段落的样式输出。
在跨行书写的时候不能在续行符后加 # 号注释。
方式2: 三单引号、三双引号,直接书写,按书写时的样式原样输出。
str7 = "你好······" \
"欢迎你····" \
"学习·····"
print(str7)
str8 =\
"""
你好······
欢迎你····
学习·····
"""
print(str8)
你好······欢迎你····学习·····
(三引号的开始这样也算)
你好······
欢迎你····
学习·····
(三引号的结束这样也算)
3.6字符串的索引取值
字符串是字符的有序集合,Python中可以通过其位置来获取具体的元素,
每个单独的字符都有索引,索引从0开始,负数则为倒数计数。
格式:
变量名[索引值]
str9 = '123456789'
print(str9[0])
print(str9[-9])
3.8空字符串与空格字符
str10 = " "
str11 = ""
print(str10, type(str10))
print(str11, type(str11))
"""
<class 'str'> 存在一个空格字符
<class 'str'> 空字符串
"""
4.列表 list
4.1定义
存储多个数据,数据可以是多种类型。
特征:中括号括起来,内部可以存放多个数据,元素与元素之间用逗号隔开,元素可以是任意数据类型。
在[]内用逗号分隔开多个任意类型的值,一个值称之为一个元素.
4.2格式
变量名 = [元素1, 元素2, 元素3, ···]
4.3实例
list1 = [1, 1.1, 'a', [6, ], ]
print(list1, type(list1))
list2 = []
print(list2, type(list2))
"""
[1, 1.1, 'a', [6]] <class 'list'>
[] <class 'list'>
"""
4.4索引取值
列表中的每个元素都有索引。
格式:
变量名[索引]
多层格式:
变量名[索引][索引]···
* 索引反映的是顺序、位置,对值没有描述性的功能
list1 = [1, 1.1, 'a', [1, ], ]
print(list1[0])
print(list1[3][0])
4.5修改元素值
将指定的元素替换。
格式:
变量[索引] = 新元素
list1[0] = 'hello'
print(list1)
5.字典 dict
5.1定义
字典数据类型能准确的存储数据类型。
特征:大括号括起来,可以存放多个元素,元素之间用逗号隔开,元素为K:V键值对形式。
K > Key:对v的描述信息,一般为字符串。
V > Value:真正的数据,相当于变量的值,可以是任意类型。
5.2格式
变量名 = {'key': value}
5.3实例
dic = {'username': 'kid', 'age': 18, 'hobby': '学习'}
print(dic, type(dic))
5.4字典取值
字典是无序的,无法通过索引来取值,而是通过Key来取值。
格式:
变量名[key]
多层格式:
变量名[key][key]···
dic = {'username': 'kid', 'age': 18, 'hobby': {'白天': '学习'}}
print(dic['username'])
print(dic['hobby']['白天'])
5.5修改value值
选中key,替换value。
格式:
变量[key] = 新alue
dic['username'] = 'qz'
print(dic)
6.元组 tuple
6.1定义
元组可以看成是列表,唯一不同的是,元组内的值不可以被改变。
特性:用小括号括起来,可以存放对个元素,元素与元素之间用逗号隔开,元素可以是任意类型。
6.2格式
* 只有一个元素的时候元素后面加上一个逗号,否则这个元素就不是元组。
* 推荐所有容器类型,无论内部有几个元素,要加上逗号,尤其是只有一个值得时候*
变量名 = (元素1,)
变量名 = (元素1, 元素2, ···)
省略括号写法
变量名 = 元素1,
变量名 = 元素1, 元素2, ···
6.3实例
t1 = (1, 2, 3, 4, 'a', 'b')
print(t1, type(t1))
t2 = (1)
print(t2, type(t2))
t3 = (1,)
print(t3, type(t3))
t4 = ()
print(type(t4))
t5 = 1,
print(t5, type(t5))
"""
(1, 2, 3, 4, 'a', 'b') <class 'tuple'>
1 <class 'int'>
(1,) <class 'tuple'>
<class 'tuple'>
<class 'tuple'>
"""
6.4索引取值
元组和元组一样可以按索引取值。
格式:
变量名[索引]
多层格式:
变量名[索引][索引]···
t4 = (1, 2, 3, 4, {'hobby': {'白天': ('学习', '努力学习')}})
print(t4[0])
print(t4[4]['hobby']['白天'][1])
"""
1
努力学习
"""
6.5元组测试修改值
t5 = (5,)
t5[0] = 1
7.集合set
7.1定义
集合是一个去重的无序序列。(无法使用索引取值)
特征:用大括号括起来,可以存放多个元素,元素与元素用逗号隔开,元素自动去重保留一个。
7.2格式
元素不能列表和字典。
变量名 = {元素1, 元素2,}
7.3实例
set1 = {1, 2, 3, 4, 'xx', 5, (1,), 1, 2, }
print(set1, type(set1))
7.4错误实例
类型错误:不可哈希的类型:“xx”
set1 = {1, [1, ]}
print(set1, type(set1))
set1 = {1, {'k1', 18}}
print(set1, type(set1))
8.布尔值 bool
8.1定义
布尔值以条件判断真假。
特征:布尔值只有“真” True 和“假” False。(首字母大写)
8.2Python中的真与假
假:False、None、 0、 0.0、 ''、 []、 {}、 (,) ··· 为空的元素···
真: False、None、 0、 0.0、空的元素外都为真。
9.容器类型
都能存多个值的数据类型被称之为容器类型.
Python中容器分为四种类型:
list 列表
tuple 元组
dict 字典
set 集合
10.总结
总结:如何选择合适的类型来记录状态
1.选取的类型是否可以明确标识事物的状态
2.存不是目的,存的目的是为了日后取出来用,并且方便的用
* 把自己想象成一台计算机,如果我是计算机,
我会如何以何种形式把事物的状态记到脑子里,
然后再去Python中找相应的数据类型来让计算机像自己一样去记下事物的状态
11.练习
1.用变量的定义说明int、float、str、list、dict、bool类型用于记录何种状态,每种类型至少写出三个示例,如下所示
# int型
age = 10
level = 3
year = 1990
2.list与dict区别
相同点:
都能存多个值,称之为容器类型
不同点:
list是用索引对应值,索引反映的是位置/顺序
dict是用key对应值,其中key通常为字符串类型,而str类型具有描述性功能
所以key对值可以有描述性功能
students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]]
info={
'name':'egon',
'hobbies':['play','sleep'],
'company_info':{
'name':'Oldboy',
'type':'education',
'emp_num':40,
}
}
students=[
{'name':'alex','age':38,'hobbies':['play','sleep']},
{'name':'egon','age':18,'hobbies':['read','sleep']},
{'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
]