day2 - 变量和运算符

day3 - 变量和运算符

1. 变量

1), 变量的作用

变量是用来保存数据的(将数据保存到变量中以后,就可以通过使用变量来使用数据)
1)数据保存到变量中以后再来使用数据可以让数据的意义更明确
2)数据保存到变量中以后再来使用数据,数据可以不用重复写和重复修改
结论:使用数据一般不要直接使用,而是先将数据保存到变量中,再通过变量来使用数据。

2) 定义变量(创建变量保存数据)

语法:变量名 = 数据

说明:
1)变量名 - 由程序员自己命名,但是必须符号两个命名要求和三个规范
要求:是标识符;不能是关键字
规范:见名知义(看到变量名就知道这个变量中保存的是什么数据);
不使用系统函数名(print、input、type)、类名(int、float、str、bool)或模块名(random);
所有的字母都小写,多个单词之间用下划线隔开(目前Python变量名也可以使用驼峰式命名)

# 1)如果用print来作为变量名使用
print = 100 
print(100) #打印功能消失

# 2)如果用类型名来作为变量名使用
int = 10
print(int(3.5)) #类型转换无法进行

name = '余婷'

# 3)驼峰式命名
catName = ''

# 4)下划线分割单词
cat_name = '喵喵'

2)= - 固定写法
3)数据 - 需要保存到变量中的对象;可以是任何有结果的表达式(例如:具体的数据、已经赋值过的变量、有结果的运算表达式等)

# 1)用变量保存具体的数据
a = 200
b = 'abc'

# 2)用变量保存已经赋值过的变量中的数据
c = name
print(c)

# 3)用变量保存运算表达式的运算结果
d = 200 + 200
print(400)

3),使用变量

使用变量就是使用变量中保存的数据 (数据能做的事情,保存这个数据的变量都可以做)
什么时候需要变量中保存的数据,什么时候就使用变量

# 通过打印变量来打印变量中保存的数据
print(num)      # 100
print('num')    # 加引号是str

# 通过获取变量的类型来获取变量中保存的数据的类型
print(type(num))        # <class 'int'>
print(type('num'))      # <class 'str'>

# 将变量中保存的数据作为运算对象
print(num + 456)        # 300
# print('num' + 456)    # 报错

4),重新给变量赋值

# 4.重新给变量赋值
# 第一次给变量x赋值为999
x = 999
print(x) 

# 重新给变量x赋值为111(重新赋值后新的值会覆盖原来的值)
x = 111
print(x) 

# 和原来类型不一样也可以赋值
x = 'abc'
print(x)

5),同时定义多个变量

1)同时定义多个变量赋相同的值:变量 1 = 变量 2 = 变量 3 = … = 数据

q=w=e=10
print(q,w,e

2)同时定义多个变量赋不同的值:变量 1, 变量 2, 变量 3, … = 数据 1, 数据 2, 数据 3, …

x1,y1=10,20
print(x1,y1)

练习:已知变量 m 和 n 的值,写代码交换变量 m 和 n 的值

m = 100
n = 200
m,n = n,m
print(m,n)

2. 运算符

1) 数学运算符

python 中的数学运算符:+、-、*、/、%(取余)、//(整除)、**(幂运算)

(1)+、-、*、/运算符

print(5 + 2)
print(5 - 2)
print(5 * 2)  # 10
print(5.0 * 2)  # 10.0
# 除法一定是浮点数,其他的由运算对象决定
print(5 / 2)  # 2.5
print(10 / 2)  # 5.0

(2)取余、取模(求余数)的应用

1,判断两数关系

# 判断整除关系
print(3 % 3)
# 判断奇偶
print(5 % 2)

2,取出对应位数

# 取出个位数
print(345 % 10)
# 取出后两位数
print(345 % 100)
# 取出10的n次方为对10^n取模

(3)x //y - x 除以 y 的商,商向小取整(找和商相邻的两个整数中较小的那个)

# 整除求商,向小取整
print(5 // 2)  # 2.5向小取整 2
print(-5 // 2)  # -2.5向小取整 3

1,练习:求 num 中有多少个 40

num = 300
print(num // 40)

2,应用:去掉整数的低位数,保留高位数(对 10 的 n 次方进行整除)

num =3456
print(num // 10)        # 345
print(num // 100)       # 34
print(num // 1000)      # 3

练习 1:获得 num 中的十位数

练习 2:获取 num 中的百位数

(4) ** - 幂运算

x ** y - 求 x 的 y 次方

2) 比较运算符

比较运算符:>、<、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)

(1) 所有的比较运算符的运算结果都是布尔值

print(type(20 < 10))	# False

(2) python 中的比较运算符支持连写表示范围

age = 18
# 判断age是否在18到28之间
print(18 <= age <=28)		# True

练习:写出判断 score 是否在 [70,90) 范围内

age = 80
print(70 <= age < 90)

3) 逻辑运算符

逻辑运算符:and(逻辑与)、or(逻辑或)、not(逻辑非)
复合条件 - 将多个条件连接成一个条件的连接方法:a. 要求多个条件同时成立;b. 要求多个条件中只要有一个条件成立就行

(1) and(逻辑与)

1,应用场景:要求多个条件同时成立的时候,这多个条件就用 and 来连接,相当于生活中的并且
2,运算规则:条件 1 and 条件 2 - 两个条件都成立结果就是 True,只要有一个不成立结果就是 False
案例 1:写出判断 num 是否能够同时被 3 和 5 整除的条件

num = 16
print('num能否被3和5同时整除:', num % 3 == 0 and num % 5 == 0)
print('num能否被3和5同时整除:', num % 15 == 0)

案例 2:写出判断 num 是否是大于 10 的偶数的条件

num = 12
print('num是否是大于10的偶数',num > 10 and num % 2 == 0)

练习:写出判断 num 是否是能被 5 整除的奇数的条件

num = 5
print('num是否是能被5整除的奇数:', num % 5 == 0 and num % 2 == 1)

(2) or(逻辑或)

1,应用场景:要求多个条件同时成立的时候,这多个条件就用 or 来连接,相当于生活中的或者
2,运算规则:条件 1 or 条件 2 - 两个条件中只要有一个条件成立结果就是 True,两个条件都不成立结果才是 False
案例:判断 num 是否能够被 3 或者 7 整除

num = 75
print('num是否能够被3或者7整除:', num % 3 == 0 or num % 7 == 0)

练习:判断 year 对应的年份是否是闰年
闰年分为普通闰年(能被 4 整除且不能被 100 整除)和世纪闰年两种(能被 400 整除)

year = 2000
print('是否是闰年:', (year % 4 == 0 and year % 100 !=0) or (year % 400 == 0))

(3) not(逻辑非)

1)应用场景:对条件进行否定(相当于生活中的否定语句)
2)运算规则:not 条件 - 对指定条件进行否定
案例 1:写出 age 不大于 18 的条件

age = 20
print(not age > 18)
print(age <= 18)

案例 2:写出 num 不等于 10 的条件

num = 12
print(not num == 10)

练习:写出判断num是否不能同时被3和7整除的条件

num = 34
print(num % 21 != 0)
print(not(num % 3 == 0 and num % 7 == 0))
# 能被3整除的时候不能被7整除、能被7整除的时候不能被3整除、既不能被7整除也不能被3整除
print((num % 3 == 0 and num % 7 != 0) or (num % 7 == 0 and num % 3 != 0) or (num % 3 != 0 and num % 7 != 0))

4) 赋值运算符

赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
不管是简单的赋值运算符还是复合赋值运算符,其功能都是给变量赋值(将一个数据保存到一个变量中)
注意:所有的赋值运算符的左边必须是变量,右边必须是能够提供数据的表达式

(1) 简单赋值运算符

简单赋值运算符:=
变量 = 数据 - 将数据直接保存到变量中

a = 11
b = 23 * 7

(2) 复合赋值运算符

复合赋值运算符:+=、-=、*=、/=、%=、//=、**=
变量 += 数据 - 先将变量中的数据取出来和后面的数据进行加法运算,然后让加法运算的结果保存到前面的变量中
注意:复合赋值运算符前面的变量必须是已经赋值过的变量

c = 100
c += 10
c -= 20
print(c)  # 90
c *= 2
print(c)  # 180
c %= 3
print(c)  # 0

5) 运算符优先级

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
** > *、/、%、// > +、-
and > or
有括号先算括号里面的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值