9月15日学习总结

9月15日学习总结

一. 变量

1. 同时定义多个变量

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

    x = y = z = 0
    
    print(x, y, z)
    
  2. 同时定义多个变量赋不同的值:变量名1. 变量名2, 变量名3,… = 数据1, 数据2, 数据3,…。

    ❗️ 注意:赋值的数量与变量的数量必须保持一致。

    name, age, gender = '小明', 30, '男'
    
    print(name, age, gender)
    

2. 变量重新赋值

  1. 重新给变量赋值以后,再次使用时使用的是变量中最新的值。

    score = 100
    print(score)
    
    score = 95
    print(score)
    
    运行结果:95
    

3. Python定义变量和重新给变量赋值的原理

  1. Python在定义变量的时候会申请内存保存数据,内存申请多大看被保存的数据需要多大。

    请添加图片描述

2.重新给变量赋值的时候,会申请新的内存,新的内存的大小由新的数据大小决定,然后变量会和新的内存关联,原来的内存被自动销毁。

请添加图片描述

3.获取变量对应的内存地址:id(变量)

num = 100
print(id(num))

num = 1000
print(id(num))

二. 数学运算符:+、-、*、/、%、//、**

1. +、-、*、/和数学中的+、-、x、÷的功能一模一样

❗️ 注意:除法运算的结果类型均为浮点数

print(10 + 20)     #30
print(2 - 5)      # -3
print(2 * 5)      # 10
print(5 / 2)      # 2.5
print(4 / 2)      # 2.0

2. % - 取余(取模)

# x % y - 求x处以y的余数
# 被除数 ÷ 除数 = 商 ... 余数
# 被除数 = 除数 x 商 + 余数

print(10 % 3)     # 1
# 应用一:判断两个数是否存在整除关系 - 判断两个数的余数是否为0
print(10 % 2)     # 0
print(25 % 5)     # 0
# 应用二:取整数的低位数
# 一个整数对10取余,能够获取这个数的个位数
# 一个整数对100取余,能够获取这个数的后两位数
# 一个整数对1000取余,能够获取这个数的后三位数

num = 2346
print(num % 10)   #6
print(789 % 10)   #9
print(num % 100)  #46

3. // - 整除(商向小取整)

print(5 // 2)    # 2.5取2
print(1/8 // 2)  # 0.9取0
print(-5 // 2)   # -2.5取-3
# 应用:去掉低位数
num = 2342
print(num // 10)  # 234
print(num // 100) # 23
print(num // 1000) # 2
# 练习1:获取任意一个正整数的十位数
num = 5678
print(num // 10 % 10)      # 7
print(num % 100 // 10)     # 7
# 练习2:获取任意一个正整数的百位数
num = 28293
print(num // 100 % 10)     # 2
print(num % 1000 // 100)   # 2

4. ** - 幂运算

# x ** y - 求x的y次方
print(2 ** 2)        # 4
print(9 ** (1/2))      # 3.0
print(8 ** (1/3))      # 2.0

三. 比较运算符

❗️ 结论:所有的比较运算符的运算结果都是布尔值。

print(10 > 20)
print(10 < 20)
print(10 == 20)
print(10 != 20)
print(10 >= 10)
print(10 <= 10)

1.Python的比较运算符支持连写表示范围

x = 0.5

print(0 <= x <= 1

四. 逻辑运算符:and、or、not

1. and(逻辑与)

  1. 应用场景:用于需要多个条件同时满足的时候,相当于生活中的并且。

  2. 运算规则:条件1 and 条件2 - 两个都是True,结果才是True;其中一个是False,结果就是False。

    # 练习1:写出判断一个数是否能够被3和7整除的条件
    num = 22
    print('是否能够同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
    print('是否能够同时被3和7整除:', num % 21 == 0)
    # 练习2:判断指定数是否能被3整除的偶数
    num = 9
    print('是否能被3整除的偶数:', num % 3 == 0 and num % 2 == 0)
    print('是否能被3整除的偶数:', num % 6 == 0)
    

2. or(逻辑或)

  1. 应用场景:用于多个条件只要有一个条件满足就行的时候,相当于生活中的或者

  2. 运算规则:条件1 or 条件2 - 两个条件中只要有一个条件是True,结果就是True;两个都是False的时候,结果才是False。

    # 练习1:判断指定数是否能被5或者7整除
    num = 5
    print('是否能被5或者7整除:', num % 5 == 0 or num % 7 == 0)
    # 练习2:判断指定的年是否是闰年
    # 普通闰年  - 能被4整除但是不能被100整除的年
    # 世纪闰年 - 能被400整除的年
    yr = 2008
    print('指定的年是否是闰年:', (yr % 4 == 0 and yr % 100 != 0) or (yr % 400 == 0))
    

3. not(逻辑非)

  1. 应用场景:(对某一个条件进行否定)如果正向写条件情况很多很复杂,反向却很简单,条件就反向写再加not。
  2. 规则:not 条件
  • not True -> False
  • not False -> True
# 练习:写出判断一个数不能同时被3和7整除的条件
# 1) 能被3整除但是不能被7整除
# 2)能被7整除但是不能被3整除
# 3)既不能被3整除也不能被7整除

# 条件反向写:
num = 21
print('判断一个数不能同时被3和7整除:', not num % 21 == 0)

五. 逻辑运算符扩展

1.短路操作
条件1 and 条件2
and的短路:如果条件1是False,那么条件2对应的代码不会执行。

条件1 or 条件2
or的短路:如果条件1是True,那么条件2对应的代码不会执行。

2.逻辑运算符的通用运算规则
❗️ 注意: 运算结果不是数据1就是数据2。

and
数据1 and 数据2:

不短路,是数据2
短路,是数据1
or
数据1 or 数据2:

不短路,是数据2

短路,是数据1

print(7 and 8)  # 8
print(7 or 8)   # 7
print(not 7)    # False
print(not 0)    # True

❗️❗️❗️ 重要结论:Python中任何类型的数据都可以转换成布尔(都有布尔值)其中零值或者空值是False,其他的都是True

六. 赋值运算符

  1. 赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
    赋值运算符的作用不是计算出一个结果,而是将数据保存到变量中
    所有赋值运算符的左边必须是变量

  2. =
    x = 10
    y = 100

  3. +=、-=、*=、/=、%=、//=、**=
    语法:变量 += 数据

说明:将变量中保存的数据和+=后面的数据进行加法运算,将运算结果重新赋值给变量。
❗️ 注意:复合的赋值运算符前面的变量必须是已经赋值过的变量。

a = 10
a += 20
print(a)    # 30

b = 20
b -= 10
print(b)   # 10

❗️❗️❗️ 强调:所有的赋值运算是没有结果的。

七. 运算符的优先级

  1. 运算符的优先级:数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)。

  2. 数学运算符中:** > *、/、//、% > +、-

  3. 有括号先算括号里面的 - ()

  4. 如果布尔数据参与了数学运算,False看成0,True看成1。

    result = 100 + True
    print(result)      # 101
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值