数据类型+与用户交互+格式化输出+基本运算符day03
一、数据类型
1、什么是数据类型
变量值才是我们存储的数据,所以数据类型就是指变量值的不同种类
2、为什么数据要分类型
变量值是用来保存现实世界的状态的,针对不同状态会有不同的类型数据进行表示
3、如何用,即数据类型的分类
a、整型int
作用:表示人的年龄,各种号码,等级。
定义:
age=18 # age=int(18)
b、浮点型float
作用:表示身高,体重,薪资等
定义:
salary=3.1 # salary=float(3.1)
c、字符串类型
1、表示描述性质的状态,如:名字,地址等
2、定义:在单引号,双引号,三引号内包含一串字符。注:其中三引号可以引用多行。
3、字符串可以进行+或者*运算,(字符串拼接)
注:不推荐使用加运算,会占用过多的系统资源。例如,a='as' b='bs' print(a+b) 相当于在内存中开辟一个空间将'as'放进去绑定门牌号a,再开辟一个空间 将‘bs’放进去,a+b就是新开辟另一个空间然后分别将ab的值复制过来再赋值给a+b。造成资源的浪费
4、字符串比大小
字符串之间也是可以比较大小的,
eg: a='abc' b='z',其中字符串之间比大小,应先比较第一位,如果第一位相同再看后面的,如‘z’>'a'所以b>a
d、列表list
作用:用来存取多个值
定义:在[ ]内用逗号分隔开多个任意类型的值。 eg: l=[1,2,'a']
如何用:按照索引取值,索引是从0开始的
eg:hobbies=['read','run','basketball']
print ( hobbies[2] ) # 取第三个爱好篮球
e、字典dict
作用:用来存取多个值,按照key:value方式存放值,取的时候通过key而不是索引取值,key对value是有描述作用的
定义:在{ }内用逗号分隔开多个元素,每个元素都是key:value的格式,其中value可以时任意类型,key大多数情况均为字符串
f、布尔bool
作用:用于判断
如何定义:True False
所有的数据类型的值本身就是一种布尔值,即:所有的数据类型都可当条件用
在众多的数据类型中,有三类的布尔值为False,分别是:数字0,None,空。
二、与用户的交互
1、在Python3中的input会将用户输入的任何内容都存成字符串类型
2、在Python2中raw_input的用法和Python3中的input的用法一模一样,在Python2中也有input,不过,这里的input是,用户输入什么类型的数据,就是什么类型的数据,不方便用户操作,所以一般在Python2中也用raw_input与用户进行交互
三、格式化输出
有时候会要求用户输入某些信息,并按顺序打印出来,但是用逗号或者是加号只能放到句尾,所以这时候需要用占位符。
eg:name='egon'
age=18
print('my name is %s my age is %s' %(name,age))
其实age后面的占位符可以换成%d,其中,%s可以接收任意类型的值,%d只能接收整型的值
四、基本运算符
1、算术运算符
2、比较运算符
3、赋值运算符
4、逻辑运算符
上述图片出处https://www.yiibai.com/python/python_basic_operators.html
其中,关于逻辑运算,
eg:
print(3 >= 3 and 3 > 2 and 'xxx' != 'egon' and 3 > 2)
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))
第一个,先把第一个and前的条件当成一部分,后面的全部当成一部分,进行运算,前部分为真,则判断后面的,在以剩下部分的第一个and为分界线,前部分为真,则看后面剩下的and运算,后面的结果为真,结合前面算的结果可知整个式子为真。下面的or运算和上述算法一样,都是遵循从左往右的规则进行计算。
其中,最后一个式子的not取非,是指not后面的第一个条件取非,即3>2结果取非。
关于赋值运算
重点:
1、链式赋值:a=b=c=d=10
2、交叉赋值:x,y=y,x # 即将x和y的值互换
变量的解压缩
将列表中数据取出来赋值给其他变量
eg:
l=['egon','asb','wsb']
x=l[0]
y=l[1]
z=l[2]
x,y,z=l
print(x,y,z)
对于多个数据的,只取前几个或者后几个,中间的变量可以用*_代替,如果只是单独某个数据不取的话,就用_代替变量,
eg:
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)