数据类型基本介绍
1、什么是数据类型
变量值才是我们存储的数据,所以数据类指的就是变量值的不同种类
2、为何数据要分类型?
变量值是用来保存现实世界中的状态的,那么针对不同的状态就应该用不同类型
的数据去表示
3、数据类型的分类?
一:数字类型(整型int)
1、使用:表示人的年龄、各种号码、等级
2、定义:


1 age=18 #相当于age=int(18) 2 print(id(age)) 3 print(type(age)) 4 print(age)
二、浮点型( float)
1、作用:表示身高、体重、薪资。。。
2、定义:


1 salary=3.1相当于salary=float(3.1) 2 print(id(salary)) 3 print(type(salary)) 4 print(salary)
三、字符串类型str
1、作用:表示描述性质的状态,比如人的名字,家庭住址
2、定义:在单引号、双引号、三引号内包含的一串字符(单引号与双引号的作用一样,三引号可以写多行注释)


1 name='isetan' name=str('isetan' ) 2 msg=''' 3 tom 4 isetan 5 wcl 6 ''' 7 print(type(name)) 8 print(type(msg))
3、字符串拼接
字符串类型只能:+ 或者 *


1 ####查看编码值用ord('a'),将编码值换算为字符chr(65) 2 msg='hello' 3 name='isetan' 4 print(msg + name) 5 name='isetan' 6 print(name * 10) 7 msg1='zaello ' 8 msg2='za' 9 print(msg2 > msg1) 10 print('a' > 'Z')
四:列表list
1、作用:用来存取放多个任意类型的值
2、如何定义:在[]内用逗号分隔开多个任意类型的值


1 l=[1,'a',3.1,[1,3]] #相当于 l=list([1,'a',3.1,[1,3]]) 2 print(id(l)) 3 print(type(l)) 4 print(l) 5
3、如何用:按照索引取值,索引是从0开始的


1 hobbies=['read','run','basketball'] 2 print(hobbies[2]) #取'basketball' 3 print(hobbies) #打印列表 4 l=['tom','male',['oldboy',200]] 5 print(l[2][1])
五:字典dict
1、作用:用来存取放多个值,按照key:value的方式存放的值,取的时候可以通过
key而非索引去取值,key对value是有描述性功能的
2、定义方式:在{}内用逗号分隔开多个元素,每一个元素都是key:value的格式,其
中value可以是任意类型,key大多数情况都是字符串类型


1 user_info=['isetan','male',18,['oldboy','Shanghai',20]] 2 print(user_info[1]) 3 print(user_info[0]) 4 print(user_info[3][1]) 5 user_info={ 6 'name':'isetan', 7 'sex':'male', 8 'age':18, 9 'company_info':{'c_name':'oldboy','c_addr':'Shanghai','members':20} 10 } 11 12 print(id(user_info)) 13 print(type(user_info)) 14 print(user_info) 15 print(user_info['name']) 16 print(user_info['company_info']['c_name'])
六:布尔bool
1、作用:用于判断的条件
2、如何定义:True,False
print(10 > 2 and 3 > 14)
print(type(True))
所有的数据类型的值本身就是一种布尔值,即所有的数据类型都可以当作条件去用
在如此多的数据类型中只需要记住:0,None,空,它们三类的布尔值为False


1 # 空列表、空字典、空字符串 2 print(bool(0)) 3 print(bool(None)) 4 print(bool('')) 5 print(bool([])) 6 print(bool({}))
七、在python3中的input会将用户输入的任何内容都存成字符串类型


1 name=input("请输入您的姓名:") name='isetan' 2 pwd=input("请输入您的密码:") pwd='123' 3 print(name,type(name)) 4 print(pwd,type(pwd))
在python2中的raw_input用法与python3的input是一摸一样的


1 name=raw_input("请输入您的姓名:") name='egon' 2 pwd=raw_input("请输入您的密码:") pwd='123'
python2中的input 要求明确输入值的类型


1 age=input('age>>>: ') #age='18' 2 print(age,type(age)) 3 age=int(age) 4 print(age > 11)
八、格式化输出


1 name='egon' 2 age=18 3 %s其实可以接收任意类型的值 4 print('my name is %s my age is %s' %(name,age)) 5 print('my name is %s my age is %s' %(name,[1,2])) 6 %d只能接收int类型的值 7 print('my age is %d' %age)
九:基本运算符
1、加减乘除法(+、—、*、/)


1 a = 5 2 b = 6 3 print(a+b) 4 print(a-b) 5 print(a*b) 6 print(a/b)
2、比较运算(>、>=、<、<=)


1 a = 5 2 b = 6 3 print(a>b) 4 print(a>=b) 5 print(a<b) 6 print(a<=b) 7 print(a!+b) 8 print(a<>b)
3、赋值运算符(+= -+ *= /= %= //+)


1 a = 5 2 b = 6 3 print(a+=b) 4 print(a-=b) 5 print(a*=b) 6 print(a/=b) 7 print(a//=b) 8 print(a%=b)
4、逻辑运算(and or not )


1 print(not 10 > 3) #True 2 print(10 > 3 and 3 > 2) #True 3 print(3 >= 3 and 3 > 2 and 'xxx' != 'isetan' and 3 > 2) #True 4 print(False or True) #True 5 print(3 > 3 or 3 > 2 or 'xxx' != 'isetan' or 3 > 2)#False 6 print(not 3 > 3 or (not 3 > 2 and 'xxx' == 'isetan' or 3 > 2)) #True
九:变量值的解压缩


1 #1 每个变量赋值后逐个取出 2 lst=['isetan','asb','wsb'] 3 x=l[0] 4 y=l[1] 5 z=l[2] 6 x,y,z=lst 7 print(x,y,z) 8 9 #2、用*_表示不需要取的部分,该方法限制只取中间的无法取出 10 yj=[11,22,33,44,55,66,77,88,99,100,200,300] 11 mon1,mon2,mon3,mon4,mon5,mon6,*_=yj 12 print(mon1) 13 print(mon2) 14 mon1,mon2,*_,mon11,mon12=yj 15 print(mon1) 16 print(mon2) 17 print(mon11) 18 print(mon12)