Python-变量和运算符

Python-变量和运算符

一.变量

1.程序中使用数据的两种方式
1)直接使用数据
print(18)
print((98 + 76) / 2)

print('dsdfefeddsadefeweefwd')
print('dsdfefeddsadefeweefwd')
print('dsdfefeddsadefeweefwd')
2)先将数据保存到变量中,然后通过使用变量来使用数据(推荐使用)
age = 18
print(age)

score1 = 98
score2 = 76
print((score1 + score2) / 2)

msg = 'dsdfefeddsadefeweefwd'
print(msg)
print(msg)
print(msg)
2.定义变量/创建变量 - 将数据保存到变量中
变量的作用:保存数据
"""
1)语法:
变量名 = 数据

2)说明:
a.变量名  -  程序员自己命名
            要求:标识符,不是关键字
            规范:a.见名知义(看到变量名大概知道变量中保存的是什么数据)
                 b.不使用系统函数名(比如:print、input、type..)、类名(int、float、str...)、模块名
                 c.所有字母都小写,多个单词用下划线隔开(PEP8)
b. =     -  固定写法
c. 数据   -  需要保存到变量中的具体的数据(可以是具体的数据,也可以是算术表达式的值)
"""
a = 12
a1 = 12
_a = 12
# 1a = 12  # 报错
# a%b = 12  # 报错

name = 'xiaohua'
price = 23

# print = 12  # 不使用系统函数
# print('hello')

# int = 12
# print(int(12.55))

dog_name = '大黄'
dogName = '小黑'

result = 100 + 200
3.使用变量 - 使用变量中保存的数据
3.1使用变量就是使用变量中保存的数据,所有数据能做的事情,保存数据的变量都可以做
注意:变量必须先定义再使用
num = 144
print(144 / 2)  # 72.0
print(num / 2)

print(144, end='abcd')  # 144abcd
print('')
print(num, end='abcd')

print(144)  # 144
print(num)  # 144
print('num')  # num

print(144 + 155)  # 299
print(num + 155)  # 299

print(type(144))  # int
print(type(num))  # int

print(float(144))  # 144.0
print(float(num))

x = num
print(x)  # 144

# str1 = '姓名:'
# # name = input('姓名:')
# name = input(str1)
3.2同时定义多个变量
1)变量名1 = 变量名2 = 变量名3 = … =数据 - 同时定义多个变量赋相同的值
b1 = c1 = 2
print(b1, c1)
2)变量名1, 变量名2, 变量名3,…=数据1, 数据2, 数据3,…
x, y = 1, 2
print(x, y)
案例:交换两个变量的值
m = 2000
n = 30
# 方法1:
t = m
m = n
n = t
print(m, n)
m = 2000
n = 30
# 方法2:
m, n = n, m  # m, n = 30, 2000
print(m, n)
4.变量重新赋值
score = 12
print(score)  # 12
1)定义完变量以后可以重新给变量赋值,重新赋值后再使用变量,使用的是新的值
score = 99
print(score)  # 99
2)重新赋值的时候可以赋不同类型的值
score = 'sbj'
print(score)  # sbj

二.变量的底层逻辑

1.python变量存储数据和重新赋值的底层
python定义变量的时候先申请内存,内存申请多大看数据需要多大,申请完内存后将数据保存到内存中,然后再将变量和对应的内存进行关联;
重新给变量赋值的时候,会根据新的值重新申请新的内存,然后将新的数据保存到新的内存中,最后将变量和新的内存进行关联。
id函数 - 获取变量对应的内存地址
a = 10
print(id(a))  # 2594486577744

a = 100
print(id(a))  # 2594486769104

三.数学运算符

1.所有的数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂运算)
+ - * /
+ - * /和数学中的+、-、×、÷的功能一样
print(10 + 20)  # 30
print(10 - 20)  # -10
print(10 * 20)  # 200
print(10 / 20)  # 0.5
如果运算对象中有一个是浮点数,那么结果一定是浮点数(应用于所有数学运算符)
print(10.0 + 20)  # 30.0
print(10.0 - 20)  # -10.0
print(10.0 * 20)  # 200.0
除法运算的运算结果一定是浮点数
print(20 / 10)  # 2.0
2.%(取余、取模) - 求余数
x % y - 求x除以y的余数
print(10 % 3)  # 1
print(20 % 3)  # 2
1)应用场景1:判断整除关系(判断一个数是否能够被另外一个数整除)
num1 = 23
num2 = 11
print(num1 % num2)  # 1

print(30 % 6)  # 0
print(8 % 4)  # 0
2)应用场景2:取整数的低位数 - 对10的N次方取余,就可以获得这个数的后N位
num = 645
print(num % 10)  # 5
print(num % 100)  # 45
print(num % 1000)  # 645
3.//(整除) - 求商,商向下取整
x // y - 求x除以y的商,商向下取整的结果
print(5.5 // 2)  # 2.0
print(5 // 2)  # 2
print(-5 // 2)  # -3
应用场景1:求一个数中有多少个完整的另外一个数
# 例如:num中有多少个8
num = 79
print(num // 8)  # 9
# 练习:已知t的值是总的秒数,求t中有多少个完整的小时
t = 282929
print(t // 3600)  # 78
应用场景2:去掉整数的低位数,保留高位数 - 整除10或者10的N次方
print(8293 // 10)  # 829
print(12546 // 100)  # 125
# 练习:写程序提取任意一个整数的百位数
# 2833 -> 8  123 -> 1  8599 -> 5
num = 15216
# 方法1:15216 // 100 -> 152 % 10 -> 2
print(num // 100 % 10)  # 2

# 方法2:15216 % 1000 -> 216 // 100 -> 2
print(num % 1000 // 100)
4.**(幂运算)
x ** y - 求x的y次幂
print(3 ** 4)  # 81
print(2 ** 5)  # 32

print(8 ** (1/3))  # 2.0
print(4 ** -2)  # 0.0625
print(100 ** 0.5)  # 10.0

四.比较运算符

比较运算符:>(大于)、<(小于)、==(等于)、!=(不等于)、>=(大于等于)、<=(小于等于)
1.所有的比较运算符的运算结果都是布尔值
print(100 > 200)  # False
print(100 == 100)  # True
# print(100 = 100)  # 报错
num = 456
print('num是否是偶数:',num % 2 == 0)  # True
2.python中的比较运算符支持连写表示范围
score = 85
# 判断分数是否大于70小于90
print('是否中等成绩:', 70 <= score < 90)  # True

五.逻辑运算符

1.and(逻辑与)
"""
1)应用场景:用来连接要求同时成立的两个条件,相当于生活中的'并且'
2)运算规则:条件1 and 条件2  -  如果两个条件同时成立为True,其余为False
          True and True   -  True
          True and False  -  False
          False and True  -  False
          False and False -  False
"""
# 案例:判断num是否能同时被3和8整除
num = 456
# 是否能被3整除:num % 3 == 0
# 是否能被8整除:num % 8 == 0

print('num是否能同时被3和8整除:', num % 3 == 0 and num % 8 == 0)  # True
# 练习:判断num是否是能够被7整除的偶数
num = 27
print('num是否是能够被7整除的偶数:', num % 2 == 0 and num % 7 == 0)  # False
2.or(逻辑或)
"""
1)应用场景:要求两个或多个条件中有一个条件成立就行,用or连接,相当于生活中的'或者'
2)运算规则:条件1 or 条件2  -  只要一个条件成立,结果为True,两个条件都不成立为False
          True or True   -  True
          True or False  -  True
          False or True  -  True
          False or False -  False
"""
# 练习1:判断num是否能够被3或者7整除
num = 21
print('是否能够被3或者7整除:', num % 3 == 0 or num % 7 == 0)  # True
# 练习2:判断指定的年是否为闰年
# 闰年:闰年分为普通闰年(能被4整除但是不能被100整除的年)和世纪闰年(能被400整除的年)两种
year = 2001

# 普通闰年:year % 4 == 0 and year % 100 != 0
# 世纪闰年:year % 400 == 0
print('{}是否闰年:'.format(year), (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0))  # False
3.not(逻辑非)
"""
1)应用场景:对条件进行否定
2)运算规则:not 条件  -  对指定条件进行否定
          not True  -  False
          not False -  True
"""
# 案例:判断age是否不大于18
age = 155
print(not age > 18)  # False
print(age <= 18)
# 案例:判断num是否不能被5整除
num = 89
print(not num % 5 == 0)  # True
print(num % 5 != 0)
# 案例:判断num是否不能同时被3和7整除
num = 90
print(not(num % 3 == 0 and num % 7 == 0))  # True
print(num % 21 != 0)

六.赋值运算符

赋值运算:=、+=、-=、*=、/=、%=、//=、**=
注意:
a.所有的赋值运算符最终的功能都是完成对变量的赋值操作(将数据保存到变量中)
b.所有的赋值运算都没有结果,无法提供数据
print(15)  # 15
a = 7
print(a)  # 7
print(10 + 20)  # 30
print(10 > 12)  # False
print(a > 5 and a % 2 == 0)  # False
# print(b = 12)  # 报错(赋值运算符无法提供数据)
b = 12
print(b)
1.= – 普通赋值运算符
变量名 = 数据 – 将数据直接保存到变量中
2.+=
变量名 += 数据 - 先将变量中保存的数据取出来,和后面的数据进行加法运算,将运算结果重新赋值给前面的变量
注意:复合的赋值运算符前面的变量必须是已经赋值过的变量
num = 10
num += 2  # num = num + 2
print(num)  # 12

num -= 3  # num = num -3 = 12 - 3
print(num)  # 9

num *= 2
print(num)  # 18

num %= 3  # num = num % 3 = 18 % 3
print(num)  # 0

num = 18
num //= 2  # num = num // 2 = 18 // 2 = 9
print(num)  # 9

num **= 2  # num = num ** 2 = 9 ** 2 = 81
print(num)  # 81

七.运算符优先级

1.所有数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
2.** > *、/、%、// > +、-
3.and > or
4.有括号的先算
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小花-Soleil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值