变量和运算符

一、变量

💡 系统会先申请内存空间,根据计算数据的字节大小分配相应的内存,重新赋值后得到的内存地址不一样。

1、变量的作用

  • 变量是用来保存数据的。

程序需要数据的两种做法:

  • a、直接提供数据。
print(32)
print(28)
print('蒸汽机器人:我自人类诞生,却被人类抛弃,孤独的徘徊于世间,却与世间格格不入,于是我只能试图抓住每个遇到的生命,去倾诉那颗从不被理解的心。')
print('蒸汽机器人:我自人类诞生,却被人类抛弃,孤独的徘徊于世间,却与世间格格不入,于是我只能试图抓住每个遇到的生命,去倾诉那颗从不被理解的心。')
print('蒸汽机器人:我自人类诞生,却被人类抛弃,孤独的徘徊于世间,却与世间格格不入,于是我只能试图抓住每个遇到的生命,去倾诉那颗从不被理解的心。')
print('蒸汽机器人:我自人类诞生,却被人类抛弃,孤独的徘徊于世间,却与世间格格不入,于是我只能试图抓住每个遇到的生命,去倾诉那颗从不被理解的心。')
print('蒸汽机器人:我自人类诞生,却被人类抛弃,孤独的徘徊于世间,却与世间格格不入,于是我只能试图抓住每个遇到的生命,去倾诉那颗从不被理解的心。')

在这里插入图片描述

  • b、先将数据保存到变量中,再通过变量来提供数据。
age = 32
print(age)
score = 28
print(score)
word = '蒸汽机器人:我自人类诞生,却被人类抛弃,孤独的徘徊于世间,却与世间格格不入,于是我只能试图抓住每个遇到的生命,去倾诉那颗从不被理解的心。'
print(word)
print(word)
print(word)
print(word)
print(word)
  • 结论: 程序中使用数据的时候,先将数据保存到变量中,然后再通过使用变量来使用这个数据。

2、定义变量(创建变量)

💡语法:
变量名 = 数据
💡说明:
变量名 - 由程序员自己命名
两个要求:是标识符;不是关键字;
三个规范:见名知义(看到变量名就大概知道这个变量中保存的是什么数据);
所有字母都小写,多个单词之间用下划线隔开;
不能使用系统的函数名(print、input、type)、类名(int、float、str)和模块名;
= - 固定写法
数据 - 可以是任何有结果的表达式(具体的数据、运算表达式、函数调用表达式)

name = '小明'
dog_name = '旺财'
dogName = '大黄'  # 单词首字母大写来区分不同的单词(驼峰式命名)
# print = 100

a = 100
b = 12.3
c = 'and'
x = 100 + 200

# age = input('请输入年龄:')

3、使用变量

  • 使用变量就是使用变量中的数据,所以数据能做的事情,保存数据的变量都可以做。
a1 = 100
print(100)
print(a1)
print(100 + 200)
print(a1 + 200)
print(type(100))
print(type(a1))
print(type(a1 + 200))

在这里插入图片描述

4、重新给变量赋值

  • 重新给变量赋值以后,变量中只会保存最新的值。
a1 = 200
print(a1)
a1 = 'abc'
print(a1)

在这里插入图片描述

5、同时定义多个变量

  • 同时定义多个变量赋相同的值: 变量名1 = 变量名2 = 变量名3 = … = 数据
x1 = y1 = z1 = 12
print(x1, y1, z1)

在这里插入图片描述

  • 同时定义多个变量赋不同的值: 变量名1, 变量名2, 变量名3, … = 数据1, 数据2, 数据3, …
x2, y2, z2 = 10, 20, 30
print(x2, y2, z2)

在这里插入图片描述

6、练习:写代码交换两个变量值

# 方法1:
m=100
n=200
r=m   # r = 100
m=n   # m = 200
n=r   # n = 100
print(m, n)
# 方法2:
m=100
n=200
m, n=n, m  # m, n = 200, 100
print(m, n)

在这里插入图片描述

7、给变量名重新赋常量

  • 内存地址会不一样
v=100
print(id(v))
v=10000
print(id(v))

在这里插入图片描述

二、运算符

1、数学运算符

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

1)python中 +、-、、/ 和数学中的 +、-、、÷的功能一样

  • 注意:除法运算的运算结果一定是小数。
print(5 + 2)
print(5 - 2)
print(5 * 2)
print(5 / 2)
print(6 / 2)

在这里插入图片描述

2)% - 取余(取模)

  • x % y - 求 x 除以 y 的余数。
print(10 % 3)
print(25 % 5)
  • 应用场景1:判断两个整数之间是否存在整除关系(如果一个数能够被另外一个数整除,那么他们的余数为0)。
print(10 % 5)
print(100 % 10)
  • 应用场景2:取正整数的低位数(对10或者10的N次方取余)。
num = 2348
print(num % 10)
print(num % 100)
print(num % 1000)

在这里插入图片描述

3)// - 整除(求商,商向小取整)

print(5 // 2)  # 2  2.5  3  -> 2
print(-5 // 2)  # -3  -2.5  -2  -> -3
  • 应用场景1:计算一个数中有多少个完整的另外一个数。
print(192 // 10)
print(192 // 5)

t = 82929
print(t // 60)
print(t // 3600)

在这里插入图片描述

  • 应用场景2:去掉整数的低位数,保留高位数。
num = 2354
print(num // 10)
print(num // 100)
print(num // 1000)

在这里插入图片描述

练习:写代码获取num的十位数

num = 28393
# 方法1:
print(num // 10 % 10)
# 方法2:
print(num % 100 // 10)

在这里插入图片描述

4)** - 幂运算

  • x ** y - 求 x 的 y 次方。
print(2 ** 3)
print(5 ** 4)
print(16 ** 0.5)  # 4.0
print(8 ** (1/3))  # 2.0
print(2 ** -2)
print(7 ** 4)
print(81 ** 0.25)
print((1/4) ** -2)

在这里插入图片描述

2、比较运算符

💡 比较运算符:>, <, >=, <=, ==, !=

1)所有的比较运算符的运算结果都是布尔值

print(100 > 10)
print(100 < 10)
print(100 == 100)

num = 49
print('num是否是偶数:', num % 2 == 0)
age = 24
print("是否成年:", age >= 18)
price = 59
print('钱是否能买玩具:', price >= 80)

在这里插入图片描述

2)python中的比较运算符支持连写表示范围

age = 32
print(18 <= age <= 28)
# print(age >= 18 and age <= 28)

3、逻辑运算符

💡 逻辑运算符:and、or、not (程序中写条件语句的时候使用)

1)and - 逻辑与运算

💡 a、应用场景:用于连接需要同时成立的两个条件,相当于生活中的‘并且’。
💡 b、运算规则:条件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
# 能同时被3和7整除  ->  num能被3整除、num能被7整除
# num能被3整除:num % 3 == 0
# num能被7整除:num % 7 == 0
print('num是否能同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
print('num是否能同时被3和7整除:', num % 21 == 0)

在这里插入图片描述

练习:判断num是否能被3整除的奇数

num = 31
print('num是否能被3整除的奇数:', num % 3 == 0 and num % 2 != 0)

在这里插入图片描述

2)or - 逻辑或运算

💡 a、应用场景:如果需要两个或者多个条件中有一个条件成立就行,多个条件就用 or 连接,相当于生活中的’或者‘。
💡 b、运算规则:条件1 or 条件2 - 主要有一个条件成立,结果就是True;两个条件都不成立结果是False。
True or True - True
True or False - True
False or True - True
False or False - False

案例:判断num是否能被3或者7整除

num = 34
print('num是否能被3或者7整除:', num % 3 == 0 or num % 7 == 0)

练习:判断year对应的年份是否是闰年

# 闰年分为世纪闰年(能被400整除的年)和普通闰年(能被4整除但是不能被100整除的年)两种
year = 2008
# 世纪闰年: year % 400 == 0
# 普通闰年: year % 4 == 0 and year % 100 != 0
print('year是否是闰年:', year % 400 == 0 or (year % 4 == 0 and year % 100 != 0))

在这里插入图片描述

3)not - 逻辑非运算

💡 a、应用场景:对某个条件进行否定,相当于生活中的’不‘。
💡 b、运算规则:not条件 - 对指定的条件进行否定。
not True - False
not False - True

age = 28
# 年龄不大于18的条件
print('age值是否不大于18', not age > 18)
print('age值是否不大于18', age <= 18)

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

在这里插入图片描述

4、赋值运算符

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

  • 注意: 所有的赋值运算符的功能都完成给变量赋值的操作。

1)=

  • 变量名 = 数据 - 直接将数据保存到变量中。
a = 10

2)+=

  • 变量名 += 数据 - 先将变量中的数据取出来和后面的数据进行加法运算,然后再将运算结果重新赋值给前面的变量。
# b += 10   报错!
a += 20
print(a)   # 30

a -= 7
print(a)   # 23

a *= 2     # 23 * 2 = 46
a %= 3     # 46 % 3 = 1
print(a)   # 1

b = 40
b /= 2
print(b)
b **= 2
print(b)

在这里插入图片描述

  • 特别注意: 所有赋值运算符对应的运算表达式都是没有结果的,无法提供数据。
print(10)
print(10 * 20)
print(10 > 20)
# print(a = 30)
  • 赋值运算表达式不能提供数据,但是可以通过完成赋值操作后的变量来提供数据。
# print(a = 30)
# print(a += 30)
a += 30
print(a)

5、运算符的优先级

  • 运算符优先级:混合运算的时候,会先算优先级高的运算符,再算优先级低的运算符。

💡 1. 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
💡 2. ** > *、/、%、// > +、-
💡 3. and > or
💡 4. 有括号先算括号里面的 - ()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值