python基本语法(二)
数据类型
1、什么是数据类型
变量值才是我们存储的数据,所以数据类指的就是变量值的不同种类
2、为何数据要分类型?
变量值是用来保存现实世界中的状态的,那么针对不同的状态就应该用不同类型的数据去表示
一:数字类型
整型int
1、作用:表示人的年龄、各种号码、等级
2、定义
1 age=18 #age=int(18) 2 3 print(id(age)) 4 print(type(age)) 5 print(age)
二、浮点型float
1、作用:表示身高、体重、薪资。。。
2、定义
salary=3.1 #salary=float(3.1) print(id(salary)) print(type(salary)) print(salary)
三、字符串类型str
1、作用:表示描述性质的状态,比如人的名字,家庭住址
2、定义:在单引号、双引号、三引号内包含的一串字符
name='egon' #name=str('egon' ) msg=''' alex egon wxx '''
#多行字符串必须用多引号
print(type(name)) print(type(msg))
#注意点:双引号里只能用单引号,单引号里只能用双引号,如下:
msg="my name is 'egon'"
print(msg)
3、如何用
字符串类型只能:+或者 *
msg='hello' name='egon'
print(msg + name) name='egon' print(name * 10)
'''运行结果
helloegon
egonegonegonegonegonegonegonegonegonegon
'''
msg1='zaello ' msg2='za'
print(msg2 > msg1) #字符排序比较,比较 print('a' > 'Z')
四:列表list
1、作用:用来存取放多个值
2、如何定义:在[]内用逗号分隔开多个任意类型的值
l=[1,'a',3.1,[1,3]] #l=list([1,'a',3.1,[1,3]]) print(id(l)) print(type(l)) print(l)
x=111 l=[1,2,x,'a'] print(l) '''运行结果
2251997791688
<class 'list'>
[1, 'a', 3.1, [1, 3]]
[1, 2, 111, 'a']'''
3、如何用:按照索引取值,索引是从0开始的
print(hobbies[2]) # print(hobbies) l=['alex','male',['oldboy',200]] print(l[2][1]) students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]] print(students_info[0][2][0])
五:字典dict
1、作用:用来存取放多个值,按照key:value的方式存放的值,取的时候可以通过key而非索引去取值,key对value是有描述性功能的
2、定义方式:在{}内用逗号分隔开多个元素,每一个元素都是key:value的格式,其中value可以是任意类型,key大多数情况都是字符串类型
'name' 'sex' 'age' 'company_info' user_info=['egon','male',18,['oldboy','Shanghai',20]] print(user_info[1]) print(user_info[0]) print(user_info[3][1]) 'name' 'sex' 'age' 'company_info' user_info={ 'name':'egon', 'sex':'male', 'age':18, 'company_info':{'c_name':'oldboy','c_addr':'Shanghai','members':20} } print(id(user_info)) print(type(user_info)) print(user_info) # print(user_info['name']) print(user_info['company_info']['c_name']) students=[ {'name':'alex','age':38,'hobbies':['play','sleep']}, {'name':'egon','age':18,'hobbies':['read','sleep']}, {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']}, ] print(students[1]['hobbies'][1])
六:布尔bool
1、作用:用于判断的条件
2、如何定义:True,False
print(10 > 2 and 3 > 14) print(type(True))
所有的数据类型的值本身就是一种布尔值,即所有的数据类型都可以当作条件去用
在如此多的数据类型中只需要记住:0,None,空,它们三类的布尔值为False
print(bool(0)) print(bool(None)) print(bool('')) print(bool([])) print(bool({}))
用户交互
在python3中的input会将用户输入的任何内容都存成字符串类型
name=input("请输入您的姓名:") #name='egon' pwd=input("请输入您的密码:") #pwd='123' print(name,type(name)) print(pwd,type(pwd)) print('=========>1') print('=========>2') print('=========>3')
在python2中的raw_input用法与python3的input是一摸一样的
name=raw_input("请输入您的姓名:") #name='egon' pwd=raw_input("请输入您的密码:") #pwd='123' age=input('age>>>: ') #age='18' print(age,type(age)) age=int(age) print(age > 11)
格式化输出
name='egon' age=18 # %s其实可以接收任意类型的值 # print('my name is %s my age is %s' %(name,age)) # print('my name is %s my age is %s' %(name,[1,2])) #%d只能接收int类型的值 # print('my age is %d' %age) name=input('username>>: ') age=input('age>>: ') sex=input('sex>>: ') job=input('job>>: ') print(""" ------------ info of %s ----------- Name : %s Age : %s Sex : %s Job : %s ------------- end ----------------- """ %(name,name,age,sex,job))
基本运算符
重点:
链式赋值
#写法一
d=10 c=d b=d a=d print(d) print(a) print(b) print(c)
#写法二 d=10 a=b=c=d=10 print(d) print(a) print(b) print(c)
交叉赋值
#方法一 x=100 y=200 temp=x x=y y=temp print(x,y)
#方法二 x=100 y=200 x,y=y,x print(x,y)
变量值的解压缩
l=['egon','asb','wsb'] # x=l[0] # y=l[1] # z=l[2] x,y,z=l print(x,y,z) l=['egon','asb','wsb','lsb'] x,y,z,a=l print(x,y,z,a) _='lsb' x,_,z,_=l print(_) yj=[11,22,33,44,55,66,77,88,99,100,200,300] # mon1,mon2,mon3,mon4,mon5,mon6,*_=yj # print(mon1) # print(mon2) # print(mon3) # print(mon4) # print(mon5) # print(mon6) mon1,mon2,*_,mon11,mon12=yj print(mon1) print(mon2) print(mon11) print(mon12)
对于字典来收,解压出来的是key
info={'name':'egon','age':18,'sex':'male'} x,y,z=info print(x,y,z)
逻辑运算
print(not 10 > 3) print(10 > 3 and 3 > 2) print(3 >= 3 and 3 > 2 and 'xxx' != 'egon' and 3 > 2) print(False or True) print(3 > 3 or 3 > 2 or 'xxx' != 'egon' or 3 > 2) print(not 3 > 3 or (not 3 > 2 and 'xxx' == 'egon' or 3 > 2))
未完待修改