学习python的第二天

运算符和分支结构

一.给变量赋值的基本原理

当给变量赋值的时候,会先在内存中开辟空间保存数据(开辟的内存空间的大小由数据来决定),然后将数据对应的内存空间和变量进行关联。重新给变量赋值的时候,又会重新开辟空间保存新的数据(开辟空间的大小由新数据决定),然后再将新数据对应的内存空间和变量重新进行关联。
之前的内存空间会自动删除。
补充:id函数:id(变量) - 获取变量的地址

二.运算符

python中的运算符:数学运算符、比较运算符、逻辑运算符、赋值运算符。

1. 数学运算符

有+(加)、-(减)、*(乘)、/(除)、%(取模、取余)、//(整除)、**(幂运算)。

  1. +、-、*、/和数学中的加减乘除功能一模一样,没有区别。
    注意:/的结果是浮点数。
  2. % - 取余、取模(数学中的求余数)
    应用1:判断整数的奇偶性
    根据整数对2取余的结果是否是0来判断这个数是否是偶数。
    应用2:取整数的低位数
num = 899
print(899 % 10)   #  9个位上的数
  1. // - 整除(商向下取整)
    应用:取整数高位数
num1 = 234
print(num1 // 100)    # 2百位上的数

练习:将num1中的10位数取出来

num1 = 234
print(234 % 100 // 10)
print(234 // 10 % 10)     # 3
  1. ** - 幂运算
    x**y - 求x的y次方
print(2 ** 3)   # 8
print(16 ** 0.5)   # 4
print(8 ** (1 / 3))   # 2
2.比较运算符

<、>、==、>=、<=、!=(不等于)
所有的比较运算符的结果都是布尔值。

print(10 > 20)  # False

在python中的比较运算符支持表示范围的连写方式

age = 18
print(10 <= age <= 28)
3.逻辑运算符

and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)。
在实际开发过程中,逻辑运算符的运算对象一般都是布尔值,结果也是布尔值。

  1. and - 逻辑与运算
  • 运算规则:全部都是True结果才是True,只要有一个都是False结果就是False。
    True and True - True
    True and False - False
    False and True - False
    False and False - False
  • 应用:如果希望多个条件同时满足,那么就使用and将条件进行连接。相当于生活中的并且
    练习:定义两个变量分别保存一个学生的绩点和操评分,最后根据分数的值打印这个学生是否能拿奖学金。(条件:绩点不低于3.5并且操评分大于90)
    是否能拿奖学金:True/False
grade = 3.5
score = 84
print('是否能拿奖学金:', grade >= 3.5 and score > 90)
#是否能拿奖学金: False
  1. or - 逻辑或运算
  • 运算规则:只要有一个True结果就是True,全部都是False结果才是False。
    True or True - True
    True or False - True
    False or True - True
    False or False - False
  • 应用:多个条件中只要有一个满足就行,那么就使用 or
    将多个条件进行连接;相当于生活中的或者
    练习:判断一个数是否能给被3或者7整除。
num3 = 9
print(num3, '能被3或者7整除:', num3 % 3 == 0 or num3 % 7 == 0)
#9 能被3或者7整除: True
  1. not - 逻辑非运算
  • 运算规则:not 条件
    not True - False
    not False - True
age = 20
print('是否成年', age >= 18)
print('是否未成年', not age >= 18)
#是否成年 True
#是否未成年 False

练习1:判断一个数是否不能同时被3和7整除

num = 21
print(num, '是否不能同时被3和7整除', not (num % 3 == 0 and num % 7 == 0))
#21 是否不能同时被3和7整除 False

练习2:判断是否为闰年

year = 2020
print(year, '是否是闰年', year % 4 == 0 and year % 100 != 0 or year % 400 == 0)
#2020 是否是闰年 True
  1. 逻辑运算符的运算对象不是布尔值
    表达式1 and 表达式2 - 如果表达式1的布尔值是True,那么整个运算的结果就是表达式2的值;如果是False,整个运算结果是表达式1的值。
    表达式1 or 表达式2 - 如果表达式1的布尔值是True,那么整个运算的结果就是表达式1的值,如果是False,整个运算结果是表达式2的值。
print(7 and 8)   # 8
print(7 or 8)  # 7

所有的为零为空的数据的布尔值是False(0、’’、[]、{}、()、None),其他所有数据的布尔值全部都是True。

print(not 8)  # False
  1. 短路操作
    表达式1 and 表达式2 - 如果表达式1的结果是False,程序不会去执行表达式2。
    表达式1 or 表达式2 - 如果表达式1的结果是True,程序不会去执行表达式2。
4.赋值运算符

=、+=、-+、*=、/=、%=、//=、**=
所有的赋值运算符最终的目的都是为了给变量赋值,所以赋值运算符的左边必须是变量。

  1. =
    变量 = 数据 - 将右边的数据赋给左边的变量
  2. 复合的赋值运算符
    变量 += 数据 - 将变量中的数据取出来和指定的数据相加求和,然后将这个和重新赋值给变量;变量 = 变量 + 数据
    注意:复合的赋值运算符的左边的变量必须是已经赋值过的变量。
5.运算符的优先级
  • 数学运算符>比较运算符>逻辑运算符>赋值运算符
  • **>*、/、//、%>+、-
  • 右括号先算括号里卖的

三.分支结构

流程控制分为顺序结构,分支结构,循环结构。
顺序结构:代码从上往下一条一条的执行(默认);
分支结构:根据不同的条件选择执行或者不执行不同的代码(if语句);
循环结构:让一条或者多条语句重复执行(for循环,while循环)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值