数据类型基础
1、什么是数据类型
数据类型指的就是变量值的不同类型,姓名可能是一种数据类型、年龄可能是一种数据类型、爱好可能又是另一种数据类型,至于是什么数据类型我们将在下一章详细说明。
2.不同的数据类型
2.1数字类型
1.整型(int)
作用:
表示人的年龄、各种号码、级别
定义:
age = 18 # age = int(18)
print(id(age))
print(type(age))
print(age)
140722974123184
<class \'int\'>
18
怎么用:
加减乘除、逻辑判断(大于、小于)
2.浮点型(float)
作用:
表示身高体重薪资等小数点后面还有数字的字符。
定义
salary = 2.2 #salary = float(2。2)
print(id(salary))
print(type(salary))
print(salary)
1433294378376
<class \'float\'>
2.2
怎么用
加减乘除、逻辑判断(大于、小于)
2.2字符串类型(str)
作用
表示名字、爱好等
定义
字符串就是一串被串起来的字符,在单引号、双引号或三引号内包裹的一串字符。需要注意的是:三引号内的字符可以换行,而单双引号内的字符不行。
name1 = \'wwb\'
name2 = "wang"
print(id(name1))
print(type(name1))
print(name1)
3131992073360
<class \'str\'>
wwb
name3 = """wwbwang"""
print(name3)
wwb
wang
怎么用
字符串只能+、*和逻辑比较
字符串的拼接,即重新申请一个小空间把两个字符串都拷贝一份后再拼接。而不是你YY的把一个小空间内的变量值复制到另一个变量的小空间内,然后拼接。
注意:如果字符串内有引号,则包裹字符串的引号和字符串内部的引号不能相同
mag2 = "my name is \'wang\'"
mag3 = "my name is \'bin\'"
print(mag2+mag3)
my name is \'wang\'my name is \'bin\'
k nick nick
注意:字符串的乘法只能乘以数字。
name = \'wang\'
print(name*10)
wangwangwangwangwangwangwangwangwangwang
注意:字符串比较大小,按照ASCII码比较,以后会细讲。
pig1 = \'hello\'
pig2 = \'z\'
print(pig1 > pig2)
False
注意:字符串的比较是字母的顺序。
pig3 = \'zero\'
pig4 =\'bin\'
print(\'z\' > \'a\')
print(\'Z\' > \'A\')
True
True
2.3列表(list)
1.1 作用
存放多个值,如多个女朋友、多个爱好。
1.2 定义
在[]内用逗号分隔开任意类型的值。
hobby = \'read\'
hobby_list = [hobby, \'run\', \'girl\']
print(id(hobby_list))
print(type(hobby_list))
print(hobby_list)
4558605960
<class \'list\'>
[\'read\', \'run\', \'girl\']
1.3 如何用**
hobby_list = [\'read\', \'run\', \'girl\']
# 索引序号 0 1 2
# 取出第二个爱好
print(hobby_list[1])
run
hobby_list = [\'read\', \'run\', [\'girl_name\', 18, \'shanghai\']]
# 取出girl的年龄
print(hobby_list[2][1])
18
2.4字典(dict)
如果现在有个需求需要存我的信息,通过我们之前学习的数据类型,只有列表能够存储我们的信息。
usur_info = [\'wang\',\'zhuang\',\'19\',[\'boy\'\'shanghai\'\'30\']]
print(usur_info[1])#zhuang
print(usur_info[0])#wang
print(usur_info[3][1])#shanghai
zhuang
zhuang
使用列表虽然达到了我们的目的,但是我们能通过列表取值的时候,是基于我们已经知道了列表内部所有的元素。因此我们是不是可以给列表内的每一个元素都添加一个描述信息呢?否则如果不是存我的信息,而是用列表存取了成千上万个值,那么我们怎么通过索引精准取值呢?这样看起来好像是不可能的,因此可以使用新的数据类型——字典。
1.1 作用
1.2 定义
在{}内用逗号分隔开多个元素,每一个元素都是key: value的格式,其中value是任意格式的数据类型,key由于具有描述性的作用,所以key通常是字符串类型。
user_info = {\'name\': \'nick\', \'gender\': \'male\', \'age\': 19,
\'company_info\': [\'oldboy\', \'shanghai\', 50]}
print(id(user_info))
print(type(user_info))
print(user_info)
4396183344
<class \'dict\'>
{\'name\': \'nick\', \'gender\': \'male\', \'age\': 19, \'company_info\': [\'oldboy\', \'shanghai\', 50]}
1.3 如何用
#字典套列表
usur_info1 = {\'name\':\'wang\',\'gender\':"man",\'age\':19,
\'team\':[\'boy\'\'shanghai\'\'30\']}
print(usur_info[\'name\'])
print(usur_info[\'team\'][\'0\'])
#字典套字典
user_info = {\'name\': \'nick\', \'gender\': \'male\', \'age\': 19, \'company_info\': { \'c_name\': \'oldboy\', \'c_addr\': \'shanghai\', \'c_num_of_employee\': 50}}print(user_info[\'name\'])print(user_info[\'company_info\'][\'c_name\'])
nick
oldboy
二、练习
students = [
{\'name\': \'nick\', \'age\': 19},
{\'name\': \'egon\', \'age\': 18}
]
print(students[0][\'name\'])
nick