02 - 变量及运算符类型

Day 02

一、变量

建议:如果在程序中需要使用一个数据,先用变量将数据存起来,然后再通过使用变量来使用这个数据。

1.语法

  • 定义变量(定义 - 创建) - 将数据保存到变量中

  • 语法:
    变量名 = 数据

详解:

  • 变量名 - 由程序员自己命名,但是必须满足两个要求和3个规范:

  • 2个要求:是标识符;不是关键字

  • 3个规范:

    • 见名知义(看到变量名就大概知道这个变量中保存的是什么数据);
    • 字母都小写,多个单词用下划线隔开;
    • 不使用系统的函数名、类名和模块名。
  • = : 固定写法;赋值符号

  • 数据 : 需要保存的对象;提供数据的方式:具体的数据、已经赋值过的变量、运算表达式、函数调用表达式

  • 例:

name = '小明'  
age = 18

#  这样很容易知道  名字是小明  年龄是18

2.使用变量

  • 使用变量就是在使用变量中保存的数据。
  • 例:
m = 100
print(m, m+2)

#  打印结果为: 100  102

3.变量可重新复赋值

  • 例:
a = 10      # 创建变量a,并且赋值为10
print(a)

a = 100     # 重新给a赋值为100
print(a)

a = 'abc'       # 重新赋一个其他类型的数据
print(a)

4.同时定义多个变量

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

# x = 100
# y = 100
# z = 100
  • 同时定义多个变量赋不同的值:变量名1,变量名2,变量名3,… = 数据1,数据2,数据3,…
  • 注意:=后面数据的个数必须和前面变量的个数保持一致。
  • 例:
m, n = 10, 20
print(m, n)

5.变量保存数据的底层逻辑

  • 定义变量的时候会自动在内存中申请空间保存数据。
  • 原理:定义变量的是会自动申请内存,内存的大小有数据的大小决定;重新给变量赋值,会重新根据新的数据申请新的内存。

二、数学运算符

算符:+(加)、-(减)、*(乘)、/(除)、//(整除)、%(取余,取模)、**(幂运算)

1. +(加)、-(减)、*(乘)、/(除)

  • Python中的+、-、*、/和数学中的+、-、×、÷的功能一样。
  • 例:
print(5 + 2)
print(5 - 2)
print(5 * 2)
print(5 / 2)

# 结果为:
7
3
10
2.5

2. //(整除)

  • x // y - 求x除以y的商,商向小取整(找和小数相邻的两个整数中较小的那个)。
  • 例:
print(5 // 2)       # 2
print(-5 // 2)      # -3
  • 用1:希望能整除的情况下商是整型。
  • 例:
print(4 / 2)        # 2.0  在python中除法运算得到的结果均为浮点型
print(int(4 / 2))     # 2  需要添加整型才可获得
print(4 // 2)       # 2 整除的情况下商是整型

  • 应用2:去掉(砍掉)一个整数的低位数,保留高位数。
  • 例:
num = 2342
print(num // 10)        # 234
print(num // 100)       # 23

3.% - 取余、取模

  • x % y - 求x除以y的余数。
  • 例:
print(5 % 2)  # 1
print(15 % 4) # 3
  • 应用1:判断两个数字之间的整除关系 - 判断余数是否为0。
  • 例:
print(71 % 2)  # 1
  • 应用2:去掉高位数,保留低位数。
  • 例:
num = 27283
print(num % 10)     # 3
print(num % 100)    # 83

三、比较运算符

1.比较运算符:>、<、==(等于)、!=(不等于)、>=、<=。

  • 所有的比较运算符的运算结果都是布尔值
print(10 > 30)
print(10 < 30)
print(10 == 30)
print(10 == 10)
print(10 != 10)
print(10 >= 10)

age = 13
print('是否成年:', age >= 18)

num = 89
# 判断num对2取余的结果是否为0
print('是否是偶数:', num % 2 == 0)
'''
结果为:
False
True
False
True
False
True
是否成年: False
是否是偶数: False
x是否在0~1之间: False

Process finished with exit code 0

'''



  • Python的比较运算符直接连写表示范围
  • 例:
x = 2
print('x是否在0~1之间:', 0 <= x <= 1)

# 结果为:   x是否在0~1之间: False

四、逻辑运算符

1.逻辑运算符:and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)

  • 单一条件: 如果下雨; 如果温度高于35度。
  • 复合条件: 并且(要求多个条件同时成立)、或者(要求多个条件中只要有一个条件成立就行)。

2. and - 逻辑运算符

  • 应用场景:如果需要多个条件同时满足,就用and连接。相当于生活中的"并且"。

  • 运算规则:条件1 and 条件2 - 如果两个条件都成立结果是True,只要有一个不成立结果就是False。

    • True and True - True
    • False and True - False
    • True and False - False
    • False and False - False
  • 练习:写条件判断num是否是大于10的偶数。

num = 4
# 分析条件的类型:看是单一条件还是复合条件
# 所有的条件:大于10(num>10)、是偶数(num % 2 == 0)
# 分析连接方式:num>10 and num % 2 == 0
print('num是否是大于10的偶数:', num > 10 and num % 2 == 0)

3.or 逻辑或

  • 应用场景:如果要求多个条件中有一个条件成立就行,就用or连接;相当于生活中的或者。

  • 运算规则:条件1 or 条件2 - 如果两个条件都不成立结果就是False,只要有一个条件成立结果就是True。

    • True or True - True
    • False or True - True
    • True or False - True
    • False or False - False
  • 练习:判断num是否能被3或者5整除。

num = 23
# 能被3整除:num % 3 == 0
# 能被5整除: num % 5 == 0
print('num是否能被3或者5整除:', num % 3 == 0 or num % 5 == 0)
  • 练习:判断year是否是闰年。
"""
闰年分为世纪闰年和普通闰年两种:
世纪闰年:能被400整除的年 (year % 400 == 0)

普通闰年:能被4整除但是不能被100整除 ( year % 4 == 0 and year % 100 != 0)
        能被4整除: year % 4 == 0
        不能被100整除: year % 100 != 0
"""
year = 2000
print('year是否是闰年:', (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0))

4.not - 逻辑非

  • 应用场景:对指定的条件进行否定(如果一个条件正向写情况很多很复杂,反向却非常简单,就可以将条件反向写再加not)。

  • 运算规则:not 条件。

    • not True - False
    • not False - True
  • 练习:判断num不是偶数。

num = 801
print('num是否不是偶数:', not num % 2 == 0)
print('num是否不是偶数:', num % 2 != 0)

五、赋值运算符

注意:所有赋值运算都是用来给变量赋值的,所以赋值运算表达式没有结果(不能提供一个数据)

赋值运算符:=、+=、-=、*=、/=、%=、//=、**=

1. = - 直接赋值

  • 变量 = 数据 - 将数据保存到变量中, 变量既可以是已经定义过的变量,也可以是没有定义过的变量。

2.复合赋值运算符

  • 变量 += 数据

    • 先将变量中的数据取出来,然后和后面的数据进行加法运算,然后将计算结果再赋值给变量。
    • 变量必须是已经定义过的变量,并且里面保存的数据,可以和后面的数据进行加法运算。
  • 例子:

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

a -= 5          # a = a - 5  -> a = 30 - 5  = 25
a *= 2          # a *= 2  -> 25 * 2  -> a = 50
a %= 3          # a = a % 3  -> a = 50 % 3 = 2

print(a)


print(10 + 20)
print(10 > 20)

age = 19
print(age >= 18 and age <= 28)

# 所有的赋值数据都是没有结果,无法提供数据
# print(a = 10)
# print(age += 20)
# a = (b = 1)

3.运算符的优先级

  • 一个表达式中有多种运算符,谁的优先级高就算谁:
      1. 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低的)
      1. 不同的数学运算符的优先级数学一样。(** > *、/、%、// > +、-)
      1. 有括号先算括号里面的 - ()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值