一、变量
1、作用:用来保护数据
程序中需要数据的时候有两种做法:
1、直接提供数据:
print('666666666')
2、先将数据保存到变量中,再通过变量来提供数据:
number = ('66666666666666')
print(number)
结论:程序中使用数据的时候,先将数据保存到变量中,然后再通过是同变量来使用这个数 据
2、语法:变量名 = 数据
(1)说明:
变量名:由程序员自己命名
(2)两个要求:
1、是标识符
2、不是关键字
(3)三个规范:
1、见名知义(看到变量名就大概知道这个变量中保存的是什么数据)
2、所有字母都小写,多个单词之间用下划线隔开
3、不能使用系统的函数名(print、input、type),类名和模块名
(4)固定写法:
可以任何有结果的表达式(具体的数据、运算表达式、函数调用表达式)
name = '小明'
dog_name = '旺财'
dogName = '大黄' # 单词首字母来区分不同的单词(驼峰式命名)
a = 100 # 具体的数据
x = 100 + 200 # 运算表达式
age = =imput('请输入年龄')
3、使用
(1)使用变量中的数据,所以数据能做的事,保存数据的变量都可以做
a1 = 100
print(100)
print(a1)
print(100 + 200)
print(a1 + 200)
print(type(100))
print(type(a1))
(2)重新给变量赋值
重新给变量赋值以后,变量只会保存最新的值
a1 = 200
print(a1) # 结果为200
a1 = 'abc'
print(a1) # 结果为abc
(3)同时定义多个变量
同时定义多个变量赋相同的值:变量名1 = 变量2 = 变量3 = … = 数据
x1 = y2 = z1 =12
print(x1,y1,z1)
同时定义多个变量赋不同的值:变量名1,变量2,变量3 …=数据1,数据2,数据3…(变量数量=数据数量)
x2,y2,z2 = 10,20,30
print(x2,y2,z2)
练习:
# 练习:写代码交换两个变量值
# 方法1:
m = 100
n = 200
t = m # t = 100
m = n # m = 200
n = t # n = 100
print(m, n)
# 方法2:
m = 100
n = 200
m, n = n, m # m, n = 200, 100
print(m, n)
二、运算符
1、数学运算符:+、-、*、/、%、//、**
(1)python中的+、-、*、/和数学中的+、-、*、÷的功能一样(注意:除法运算的运算结果 一定是小数)
print(5 ÷ 2)
print(5 - 2)
print(5 * 2)
print(5 / 2)
被除数 ÷ 除数 = 商(//)…余数(%)
(2)% - 取余(取模)
x % y —— 求x除以y的余数
print(10 % 3)
应用场景1:判断两个整数之间是否存在整除关系(如果一个属能够被另外一个数整 除,那么它们的余数为0)
print(10 % 5)
应用场景2:取正整数的低位数(对10或者10的N次方取余)
num = 2348
print(num % 10)
print(num % 100)
print(num % 1000)
(3)// —-整除(求商、商向小取整)
print(5 // 2) # 2 2.5 3 -> 2
应用场景1:计算一个数中有多少个完整的另外一个数
print(192 // 10)
t = 82929
print(t // 3600)
应用场景2:去掉整数的低位数,保留高位数
num =2345
print(num // 10)
print(num // 100)
print(num // 10000)
(4)4、** —-幂运算
x ** y ——求x的y次方
print(2 ** 3)
print(16**0.5) # 4.0
print(8 **(1/3)) # 2.0
print(2 ** -2)
练习
# 练习:写代码获取num的十位数
num = 28393
# 方法1:
print(num // 10 % 10)
# 方法2:
print(num % 100 // 10)
2、逻辑运算符:and、or、not
(1)and - 逻辑与运算
应用场景:用于连接需要同时成立的两个条件,相当于生活中的“并且”
运算规则:条件1 and 条件2 (如果两个条件都成立,结果是True,否则结果是 False)
# True and True ——-True
# True and False ——-False
# False and True ——-False
# False and False ——-False
#案例:写出判断num是否能同时被3和7整除的条件
num = 34
print('num是否能同时被3和7整除:', ,num % 3 == 0 and num % 7 == 0)
(2)or - 逻辑或运算
应用场景:如果需要两个或者多个条件中有一个条件成立就行,多个条件就用or连 接,相当于生活中的“或者”
运算规则:条件1 or 条件2 (只要有一个条件成立,结果就是True,两个都不成立 则为False)
# True and True ——-True
# True and False ——-True
# False and True ——-True
# False and False ——-False
# 判断year的年份是否是闰年
# 闰年分为世纪闰年(能被400整除的年)和普通闰年(能被4整除但是不能被100整除的年)
print('year是否是闰年:', (year % 4 == 0 and year % 100 != 0) or year % 400 ==0)
(3) not - 逻辑非运算
应用场景:对某个条件进行否定,相当于生活中的“不”
运算规则:not 条件 (对指定条件进行否定)
# not True ——-False
# not False ——-True
age = 28
# 年龄不大于18的条件
print('age值是否大于18:',not age > 18)
print('age值是否大于18:',age <= 18)
3、赋值运算符:=、+=、-=、*=、/=、//=、%=、**=
注意:所有的赋值运算符的功能都是完成给变量赋值的操作
(1)=
变量名 = 数据 (直接将数据保存到变量中)
a = 10
(2)+=
变量名 += 数据 (现将变量中的数据取出与后面的数据进行加法运算,然后将运算结果 重新赋值给前面的变量)
注意:变量中需要本来就有数据
# a += 10 -----报错
a = 10
a += 20 # a =30
4、运算符的优先级
混合运算的时候,会先算优先级高的运算符,再算优先级低的运算符
1、数学运算符 >比较运算符>逻辑运算符>赋值运算符(最低)
2、** > *、/、%、// >+、-
3、and > or
4、有括号先算括号里面的 - ()