python学习第二天
变量和运算符
python支持的运算符:数学。比较,逻辑,赋值,位
1.数学运算符:+,-,,/,%,//,*
+,-,*,/和小学数学中的加,减,乘,除的功能一模一样
2,% - 求余数(取余/ 取模)
print(5%2)
应用1:判断整数奇偶性,判断这个数对2取余的结果是否是0
应用2:是否整除-判断余数是否为0,求结果的余数是否为0
应用3:取低位数,比例如,获取一个整数个位数
num = 123
print(num%10)
// - 整除(商只取整数部分)
应用:取高位
print(num//100)
4 ** - 幂运算;x ** y - 求X的Y次方
print(2**3)
print(16**(1/2))
print(8**(1/3))
print('===============比较运算符===========')
注:所有的比较运算的运算结果都是布尔值
,<,>=,<=和数学中的>,<,
print(10>20) # False
print(10<20) # True
2 == - 判断两个值是否相等,!= - 判断两个值是否相等
3,python可以像数学一样用比较运算符连写的方式表示范围(C/JAVA/JS等不可以)
age = 30
print(18 < age < 28)
print('=============逻辑运算符=======')
3.逻辑运算符: and(与), or(或),not(非)
逻辑运算符的运算对象和结果一般都是布尔值
1,and
运算规程:两个都是ture结果才是ture,只要有一个是false结果就是false
true and ture -> true
true and falSE -> false
使用场景:需要多个条件同时满足的时候,就用and;想到于生活中的并且
获取奖学金的条件:绩点不低于4并且操评分高于95
gpa = 4.5
score = 90
print('是否能够获取奖学金:', gpa>=4 and score > 95)
c=35
print('是否能够同时被3和7整除')
2.or
'''
运算规则:两个都是FALSE,结果才是FALSE,只要有一个ture结果就是true
使用场景:需要多个条件中有一个条件满足就行,就使用or;相当于生活中的或者
3.not
运算条件:turae变false,false变ture
not true -> false
not false -> true
使用场景:对一个条件进行否定
一个数不能被3和7整除的条件
num=21
print('不能同时被3和7整除;', not(num % 3 ==0 and num % 7 ==0)
4,短路操作
and的短路操作:条件1 and 条件alse
2 -> and前面的那个条件如果结果false,那么后天的条件语句不会执行,结果直接是false
or的短路操作:条件1 OR 条件2 -> or 前面的那个条件是ture,那么后面的条件语句不会执行,结果直接是ture
4.赋值运算符:=,+=,-=,=,/=,%=,//=,*=
所有的赋值运算符的左边必须是变量;组合赋值运算符的左边除了是变量,这个表里还必须是已经声明过的
变量 = 值 ->将右边的值赋给左边的变量
2.组合的赋值运算符
变量 += 值 -> 变量 = 变量 + 值
bb = 100
bb += 10
print(bb)
运算顺序
运算符优先级
数学运算符>比较>逻辑>赋值(最低)
数学运算符的优先级和数学一样
如果有括号,先算括号里面的
位运算
所有的位运算都是针对数字的补码进行操作的
特点是: 快(效率快)
位运算:&(与),|(或),~(取反),^(异或),<<(左移),>>(右移)
1.&
运算规则:补码每一位上的数都是1结果就是1,如果有一个O就是0
1110 & 0111 = 0110
应用:高效判断数字的奇偶性- 让数字和1进行按位与运算,判断结果是0(偶数),还是1(奇数)
2.1
运算规则:每一位上的数如果都是0就是0,只要有1就是1
~取反
运规则算:将每一位上的0变成1,1变成0
~ 1101 -> 0010
print(~ -7)
4.^异或
规则:运算每一位上的数相同位0,不同位1
11011 ^ 10010 -> 01001
5.<< 左移
数字 << N -> 指定的数字的补码整体向左移动N位;计算:数字*2**N
print(2 << 2) # 2*2**2
数字>> N -> 计算:数字 // 2**N 负数整除减一
分支结构
python代码默认情况下是从第一行开始从上往下依次执行的,每一句语句都会执行
分支结构:某段代码是否执行看条件(if语句)
1 if结构 -- 满足条件就执行莫个操作,不满足就不执行
1,语法:
if 条件语句:
代码段
其他代码
2,说明:
if - 关键字,固定写法
条件语句 - 如何有结果的表达式都可以,例如:数据,赋值过的变量,运算表达式(不能是赋值语句)
: - 固定写法;(一般出现冒号的位置,后面都会换行产出缩进
代码段 - 和if保持一个缩进的一条或者多条语句;需要满足条件才执行的代码
3,执行过程
先判断条件语句的结果是否为ture(如果条件语句的结果不是布尔值,就先转换成布尔再看)
如果为ture就执行代码段,否则代码段不执行
num = 10
if num & 1 == 0:
print('偶数')
- if - slse结构 -- 满足条件执行摸个操作,不满足条件的时候执行另一个操作
语法:
if 条件语句:
代码段1
else:
代码段2
age = 20
根据年龄值得范围打印成年 或者 未成年
执行过程:先判断条件语句是否为ture,如果为ture就执行代码段11,否则执行代码段2
age = 17
if age >= 18:
print('可以上网')
else:
print('未满18, 不可以上网')