概述
day3- 变量和运算符学习总结
01 类型操作
1) type 函数
- type - 数据 - 获取数据的类型
print(type(100)) # 整型 <class 'int'>
print(type(0.12)) # 浮点型 <class 'float'>
print(type('a')) # 字符串 <class 'str'>
print(type(None)) # 空值 <class 'None type'>
2) 显示类型转换
-
类型名(数据) - 将指定数据转换成指定类型
案例:将数字100转换成字符串
print(str(100)) # 100(字符串)
print(str(100)+2) # 报错(字符串和数值属于不同类型,不能相加)
print(100+2) # 102(数值增加)
a. 所有整数和浮点数都可以相互转换
print(int(2.34),int(0.11),int(1.82)) # 2,0,1 (浮点数转换为整数即为去除小数点)
print(float(1)) # 1.0 (整数转换为浮点数即为加上小数点)
b. 所有的数据都可以转换为字符串,转换的时候需要加引号
print(str('100')),str('hello') # 100 hello
c. 所有的数据都可以转换成布尔值
-
所有的零值和空值都会转换成False,其他数据都会转换成True
-
空值有None、0、0.00等,字符串空串也是空值,如:‘’、“”
print(bool(None),bool(0),bool(0.0),bool(1),bool('hello'),bool('-1')) # False False False True True True
思考:是不是所有的字符串都可以转换成整数或者浮点数
print(int('1'),int(1.1)) # 1 1 print(float('100'),float("1.23")) # 100.0 1.23 # print(float('a'),int('a')) # 报错 # print(int('0'),int('None')) # 报错 # 总结:只有数值的字符串可以转换
02 变量
1) 变量的使用场景
- 程序中使用数据的时候,先将数据保存到变量中,然后再通过使用变量来达到使用数据的目的。
2)使用变量
a. 定义变量(创建变量) - 将数据保存到变量中
-
语法:变量名 = 数据
-
变量名 :程序员自行命
要求:是标识符、不能是关键字)
规范:见名知义(看到变量名就大概知道这个变量中保存的是什么数据)
名字内有字母,字母需小写,多个单词之间用下划线隔开
不能使用系统的函数名、类名和模块名(如:print、int、input、type、float 等),使用后程序内则不能使用该函数或类名,会报错。 -
固定写法: 变量 = 数据
数据 - 任何有结果的表达式(包括:具体的某种类型的数据、某种运算的运算结果等)
b. 使用变量 -使用变量中保存的数据
a=1
name='小米'
print(a) # 1
print(name) # 小米
-
数据能做的事情,保存数据的变量都可以做
a=100 print(100,100+2) # 100 102 print(a,a+2) # 100 102 b1=100 b2=a print(b1,b2) #100,100 print(type(100)) # <class 'int'> print(type(a)) # <class 'int'> a1=1 a2=2 b='abc' age=18 c=age print(a,b,c,a1,a2) # 100 abc 18 1 2 print(int(a1),float(a2)) # 1 2.0
c. 重新给变量赋值 - 给已经定义过的变量重新赋值,重新赋值后新的值会覆盖原来的值
hero='石头人'
print(hero) # 石头人
hero='炸弹人'
print(hero) # 炸弹人
d. 同时定义多个变量赋不同的值:变量名1,变量名2,变量名3,…=数据1,数据2,数据3…
m,n,t=5,15,20
print(m,n,t) # 5 15 20
# 练习:交换变量a和b的值
a,b=100,110
print(a,b) # 100 110
b,a=a,b
print(a,b) # 100 110
03 数学运算符
数学运算符 | 含义 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 乘 |
% | 取余、取模 |
// | 整除 |
** | 幂运算 |
1) + - * /
-
python中+ - * /的和数学中+ - * /的功能一模一样
-
除法不管是什么数相除结果都是浮点数,其他数的结果和原数值是整数/浮点数相关。
print(1.23+0.3,2-5,2*3,6/2) # 1.53 -3 6 3.0
2) % - 取余(求余数)
# x%y - 求x除以y的余数
print(15%2) # 1 (15/2=7...1)
print(13%5) # 3 (13/5=2...3)
-
应用场景1:-- 判断两个数之间是否存在整除关系,余数为0即为整除关系;
– 判断数的奇偶性,余数为1为奇数,余数为0为偶数
print(13%2,13874%2) # 1 0
-
应用场景2:获取整数的低位数
-
num=25362 # 如何获取低位数? print(num%10) # 2 print(num%100) # 62 print(num%1000) # 362
3) // - 整除,求商然后向小取整
print(num//1000,num//10000,num//100000) # 25,2,0
print(5//2) # 2 (结果本是2.5,但是向小取整,所以结果是2)
print(-5//2) # -3 (结果本是2.5,但是向小取整,所以结果是-3)
-
应用场景:去掉一个整数的低位数(去低位,保高位)
print(233//10) # 23 (结果本是23.3,但是向小取整,所以结果是23) print(986//100) # 9 (结果本是9.86,但是向小取整,所以结果是9)
练习 :
```python
# 练习:写代码获取任意一个正整数的十位数
num=56370
#方法一:先取余,再整除(去低位,留高位)
print((num%100)//10) # 7 十位数
print((num%1000)//100) # 3 百位数
#方法二:先整除(去低位,留高位),再取余
print((num//10)%10) # 7 十位数
print((num//100)%10) # 3 百位数
```
4) ** - 幂运算
# x ** Y - 求x的Y次方
print(3**2) #9
print(16**0.5) #4
print(8**(1/3)) #2
print(2**-2) #0.25 一个数的负次方即为这个数的正次方的倒数
04 比较运算符
比较运算符 | 含义 |
---|---|
> | 大于 |
< | 小于 |
== | 等于 |
!= | 不等于 |
1)运算符结果
-
所有的比较运算符的运算结果都是布尔结果
print(10>20) #False print(10<20) #True print(10==20) #False print(10!=20) #True num=23 # /2取余 print(num%2==0) #False print(num%2==1) #True
-
连写表达式范围
age=27 print(18<=age<=30) #True print(30<=age<=40) #False print(age>=18 & age<=30) #True
05逻辑运算符
逻辑运算符 | 含义 |
---|---|
and | 逻辑与运算 |
or | 逻辑或运算 |
not | 逻辑非运算 |
1) and - 逻辑与运算
-
应用场景:如果需要多个条件同时满足,就将这些条件用and链接,相当于生活中的“并且”。
-
运算规则:条件1 and 条件2 ,两个都是True结果才是True,只要有一个是False结果都是False。
# 案例:判断num是否能同时被3和7整除 # 同时被3和7整除 -> 能被3整除,能被7整除 # 能被3整除:num % 3 ==0 # 能被7整除:num % 7 ==0 num=233 print(num%3==0 and num%7==0) # False # 案例:判断x是否是一个大于100的整数/浮点数 # 是否大于100:x > 100 # 是整数:type(x) == int # 是浮点数:type(x) == float x=709.8 print(x>100 and type(x)==int) # False print(x>100 and type(x)==float) # True y=138 print(y<200 and type(y)==int) # True print(y<200 and type(y)==float) # False
2) or - 逻辑或运算
- 应用场景:如果多个条件要求只要有一个条件成立或者能满足就可以,那么这些条件就使用or来连接,相当于生活中的或者。
- 运算规则:条件1 or 条件2 ,只要有一个条件是True,那么结果就是True;两个都是False,结果才是Flase。
# 练习1:判断num是否能被3或者5整除
num=34
print(num%3==0 or num%5==0) #Flase
"""练习2:判断指定的年是否是闰年
# 普通闰年:能被4整除但是不能被100整除 - year%4==0 and year%100!=0
能被4整除 - year%4==0
不能被100整除 - year%100 !=0
世纪闰年:能被400整除 - year%400==0
year=2001
print(year%4==0 or year%400==0) # False
3) 逻辑非运算
- 应用场景:对一个条件进行否定;(如果一个条件正向写情况很多很复杂,反向却很简单的时候,条件就可以反向写,然后再加not)
- 运算规则:not条件 - True变Flase、Flase变True
age=16
# 年龄不大于18
print(not age>18,age<=18) # True True
# 年龄不大于18
print(not age>18,age<=18) # True True
# num不能被3整除
num=26
print(not num %3==0,num%3 !=0) # True True
# 案例: 判断num是否不能同时被3和7整除
num=23
print(not(num%3==0 and num%7==0)) # True
print(not(num%3*7)==0) # True
06 赋值运算符
-
赋值运算符:=、+=、-=、*=、/=、//=、%=、**=
-
说明:所有的赋值运算符的功能都是将数据保存到变量中,运算符的前面必须是变量,后面必须是提供数据的表达式。
1) =
-
变量名 = 数据 - 将=后面的数据保存到前面的变量中
a=10 b=20 print(a,b) # 10,20 a=30 print(a,b) # 30,20
2)复合的赋值运算:+=、-=、*=、/=、//=、%=、**=
-
变量 += 数据 - 将变量中保存的数据取出来,和后面的数据进行加法运算,最后将运算结果保存到前面的变量中。
a += 10 print(a) # 40 a -=10 print(a) #20 a *=10 print(a) #300
3) 运算符优先级
- 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
- ** > *、/、%、// > +、-
- 有括号先算括号内的 - ()
a=10 b=20 print(a,b) # 10,20 a=30 print(a,b) # 30,20
2)复合的赋值运算:+=、-=、*=、/=、//=、%=、**=
-
变量 += 数据 - 将变量中保存的数据取出来,和后面的数据进行加法运算,最后将运算结果保存到前面的变量中。
a += 10 print(a) # 40 a -=10 print(a) #20 a *=10 print(a) #300
3) 运算符优先级
- 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
- ** > *、/、%、// > +、-
- 有括号先算括号内的 - ()
最后
以上就是细心滑板为你收集整理的day3- 变量和运算符学习总结的全部内容,希望文章能够帮你解决day3- 变量和运算符学习总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复