Python基础数据类型
一、Python基本数据类型
类型:
1.数字类型:int(整形)、 float(浮点型) #### int:age=int(10) long(长整形):a=(2**60) 注意:在python3里不再有long 类型了,全是int
2.字符串类型: str(字符串)
3.列表类型:list(列表)
在[]内用逗号分隔,可以存放n个任意类型的值。索引对应值,索引从0开始,0代表第一个
students=['aaa','bbb','ccc',] #students=list(['egon','alex','wupeiqi',]) >>> students_info=[['aaa',18,['play',]],['bbb',18,['play','sleep']]] >>> students_info[0][2][0] #取出第一个学生的第一个爱好
'play'
4.字典类型:dict(字典)
#在{}内用逗号分隔,可以存放多个key:value的值, key与value一一对应,比较时只比较第一个key, value可以是任意类型 定义:dict={'name':'aaa','age':18,'sex':18} #dict=dict({'name':'egon','age':18,'sex':18}) 用于标识:存储多个值的情况,每个值都有唯一一个对应的key,可以更为方便高效地取值
5.布尔值:bool(布尔值)
判断条件是真是假,是真返回True,是假返回False
运算符:
算术运算符
+ - * / (加减乘除) %(取模即取余) ** 幂运算:2**3=2的3次方=8 // 取整运算,取商的整数部分
比较运算符
== 等于 !=不等于 >大于 < 小于 <= 小于等于 >= 大于等于
赋值运算符
赋值包括:链式赋值和交叉式赋值
a=b=1(链式赋值) a,b=b,a (交叉赋值)
逻辑运算符
与或非(and or not )
# 一:not、and、or的基本使用 # not:就是把紧跟其后的那个条件结果取反且not与紧跟其后的那个条件是一个不可分割的整体 # print(not 16 > 13) # print(not True) # print(not False) # print(not 10) # print(not 0) # print(not None) # print(not '') # and:逻辑与,and用来链接左右两个条件,两个条件同时为True,最终结果才为真 print(True and 10 > 3) print(True and 10 > 3 and 10 and 0) # 条件全为真,最终结果才为True print( 10 > 3 and 10 and 0 and 1 > 3 and 4 == 4 and 3 != 3) # 偷懒原则 # or:逻辑或,or用来链接左右两个条件,两个条件但凡有一个为True,最终结果就为True, 两个条件都为False的情况下,最终结果才为False print(3 > 2 or 0) print(3 > 4 or False or 3 != 2 or 3 > 2 or True) # 偷懒原则 # 二:优先级not>and>or # 如果单独就只是一串and链接,或者说单独就只是一串or链接,按照从左到右的顺讯依次运算即可(偷懒原则)。如果是混用,则需要考虑优先级了 # res=3>4 and not 4>3 or 1==3 and 'x' == 'x' or 3 >3 # print(res) # # False False False # res=(3>4 and (not 4>3)) or (1==3 and 'x' == 'x') or 3 >3 # print(res) res=3>4 and ((not 4>3) or 1==3) and ('x' == 'x' or 3 >3) print(res)
格式化输出
程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式。占位符:%s(字符串占位符:可以接收字符串,也可接收数字) %d(数字占位符:只能接收数字)
#%s的使用 print('My name is %s,my age is %s' %('aaa',18)) >>>My name is aaa,my age is 18 #%d的使用 print('My name is %s,my age is %d' %('egon',18)) >>>My name is aaa,my age is 18 print('My name is %s,my age is %d' %('egon','18')) #报错
以字典形式传值,可以不考虑位置
res = "my name is %(name)s, my age is %(age)s"%{"age":18,"name":"aaa"} print(res)
str.format:兼容性好
#按照位置传值 res = "my name is {}, my age is {}".format('aaa',18) print(res) #不按照位置 res = "my name is {name}, my age is {age}".format("age":18,"name":"aaa") print(res)
赋值解压
解压赋值可以用在任何可迭代对象上。用下划线和*号在字符串或列表中占据不想取出的值,把多余的省略掉
#字符串解压 >>> str_="beter" >>> a_,b_,c_,d_,e_=str_ >>> a _'b' >>> b _'e' >>> c _'t' >>> d _'e' >>> e _'r' #列表解压 >>> list_=["bet","tr"] >>> la_,lb_=list_ >>> la_ 'bet' >>> lb_ 'tr'