今日是学习python的第003课,本节课主要学习了变量值的三个特征、常量、基本数据类型、格式化输入输出及基本运算符。
变量值的三个特征
1、id:变量值的唯一编号,变量值的内存地址不同则id不同
2、type:类型
3、value:数值
常量
在python程序编写中,约定俗成用全大写表示的变量名代表常量
数据类型定义
一、什么是数据类型
数据就是存放的变量值,数据类型就是变量值的类型
二、变量值为何要区分数据类型
因为变量值记录的是现实事物的特征,所以针对不同的特征就需要有不同类型的值加以区分标识
基本数据类型
一、数字类型
1、整型int:年龄、身份证号码、电话号码等整数类型的数字
例如:
age=18
2、浮点型float:身高、薪资、体重等会有小数类型的数字
例如:
salary=2.5
二、字符串类型str:名称、家庭住址、性别、单个爱好等描述性的文字
定义:在引号(单引号、双引号、三引号)内包含一串字符
例如:
name='RX79G'
三、列表list:记录多个值,比如人的多个爱好,一个班级里多个同学的姓名、性别
定义:在中括号[]内用逗号分隔开多个任意类型的值
例如:
test=[18,2.5,'RX79G',['a','b','c',['abc','cba']]]
四、字典dict:记录多个key:value的值
定义:在大括号{}内用逗号分隔开多个key:value的值,其中value可以是任意数据类型,而key通常应该是字符串类型
例如:
info={'name':'RX79G',
'age':34,
‘sex’:'male',
'hobby':['music','game','read','tourism']}
五、布尔类型bool:True/False,用来标识条件是否成立
例如:
age=18
print=(age>100)#结果为:False
print=(age<100>
所有类型的值都自带布尔值,当数据类型的值为0、none、空时,布尔值为False,除此以外都为True
格式化输入输出
1、input:在python3中的input会将用户输入的任何内容都存成str字符串类型
例如:
name=input('请输入您的用户名:')
pwd=input('请输入宁的密码:')
ifname=='RX79G'andpwd=='123'
print('登陆成功')
else:
print('用户名或者密码错误')
2、print:输出结果
基本运算符
一、算术运算
print(10+2)
print(10/3)结果有整有余
print(10//3)结果取整,去掉小数部分
print(10%3)结果取余
print(2**3)2的3次方
二、比较运算
比较运算只能在同类型数据之间进行,其中int整型与float浮点型同属于数字类型
例如:
print(10>2.5)
print(10>=10)
三、赋值运算
1、增量赋值
例如:
age=18
age=age+1#这是复杂的表达
age+=1#这是简单的表达,等同age=age+1
print(age)#结果为:19
x=10
x%=3#x=x%3
print(x)#结果为:1
2、链式赋值
例如:
a=b=c=d=e=10
print(aisbiscisdise)#结果为:True
3、交叉赋值
例如:
x=10
y=20
x,y=y,x
print(x,y)#结果为:2010
4、解压赋值
例如:
nums=[1,2,3,4,5]
a,b,c,d,e=nums
print(a,b,c,d,e)#结果为:12345
如果只需要给前3位赋值,如下
mums=[1,2,3,4,5]
a,b,c,_,_=muns
print(a,b,c)#结果为:123
四、逻辑运算:and、or、not
and:连接左右两个条件,两个条件必须都成立,最后结果才为True。一旦左边条件为False则最终结果就为False,不会再去计算右边的条件。
例如:
print(1>2and3>1)#结果为:False
or:连接左右两个条件,两个条件中只要有一个成立,结果就是True。一旦左边条件为True,则最终结果就为True,不会再去计算右边的条件;一旦左边条件为False,还需要去计算右边条件,如果结果为True,最终结果也为True,否则反之。
not:取反
例如:
print(1>2)#结果为:False
print(not1>2)#结果为:True
五、身份运算:is与==
is:比较的是id是否相等
==:判断值是否相等
例如:
x=10
y=x
print(id(x),id(y))
print(xisy)
print(x==y)#结果为:id相等,值一定相等。
还有一种情况,值相等id不一定相等(在cmd中运行得出的结果)
x=1111111111111111111111111111111111111111111111111111111111111111111111111111111111111
y=1111111111111111111111111111111111111111111111111111111111111111111111111111111111111
id(x)
2181129522824
id(y)
2181129523040
xisy
False
x==y
True
作业
一、pythontest.py执行的三个阶段是什么?在哪个阶段识别文件内的python语法?
答:三个阶段分为:
1、运行python解释器
2、python解释器将python文件由硬盘读入内存
3、python解释器解释执行刚刚读入内存的代码,开始识别python语法
所以在第三阶段,python解释器才开始识别python语法
二、将下述两个变量的值交换
s1=’alex’
s2=’SB’
答:
s1,s2=s2,s1
print(s1,s2)
三、判断下述结果
msg1=’alexsaymynameisalex,myageis73,mysexisfemale’
msg2=’alexsaymynameisalex,myageis73,mysexisfemale’
msg1ismsg2
msg1==msg2
答:
True
True
四、什么是常量?在python中如何定义常量
答:常量就是不会变化的数值,在python中约定成俗使用全大写的变量名表示常量。
五、有存放用户信息的列表如下,分别存放用户的名字、年龄、公司信息
userinfo={
'name':'egon',
'age':18,
'company_info':{
'cname':'oldboy',
'addr':{
'country':'China',
'city':'Shanghai',
}
}
}
要求取出该用户公司所在的城市
答:
print(userinfo[‘company_info’][‘addr’][‘city’])
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])
要求取出三名学生的详细信息分别赋值给三个变量(用一行代码实现)
答:
a,b,c=students
print(a,b,c)
编程小白陆玮珉
2018年9月13日