9月15日知识梳理

本文详细介绍了Python中的变量使用,包括同时定义多个变量、重新赋值及其内存原理。接着讲解了数学运算符,如加减乘除、取余和整除,并通过实例展示了它们的应用。此外,还阐述了比较运算符和逻辑运算符的用法,以及赋值运算符的规则。最后提到了运算符的优先级。内容深入浅出,适合Python初学者学习。
摘要由CSDN通过智能技术生成

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 = 'GM', 30, '男'
print(name, age, gender)

2.变量重新赋值

重新给变量赋值以后使用变量使用的是变量中最新的值

score = 100
print(score)
score = 98
print(score)

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

计算机内存单位:

最小单位:位(bit)

单位由小到大:位(bit) 字节(byte) kb Mb G T

1byte = 8bit 1kb = 1024byte 1Mb = 1024kb 1G = 1024Mb 1T = 1024G

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

c语言用的上一个数据申请的内存,容易溢出和浪费内存,优势是运行速度加快不用重新申请内存。

重新给变量赋值的时候,会重新申请新的内存,新的内存的大小由新的数据大小决定,然后变量回合新的内存关联,原来调取的内存自动回归销毁

id(变量) ----获取变量对应的内存地址

num  =100
print(id(num))
num = 95
print(id(num))

二、数学运算符

1.数学运算符有哪些

数学运算符包括:

+: 加号,两个数相加

-:减号,两个数相减

*:乘号,两个数相乘

/:除号:两个数相除

%:百分号,功能为取余(相除取余数)

//:双斜杠,功能为整除

**:双星号,功能为幂函数

2.数学运算符的功能

1)加减乘除:+、-、*、/和数学中的加减乘除功能一模一样

加、减、乘的结果有没有浮点数看运算对象是否是整数或者小数

print(10+20)
print(2-5)
print(2*5)

除法运算结果是浮点数,4除以2得数为2.0

print(5/2)
print(4/2)

2)取余:%

功能:取余(取模)(数学功能中的求余数)

x % y ---------求x除以y的余数

被除数 = 除数 x 商 + 余数

print(10%3)
print(15%3

%应用运算场景1:判断两个数是否存在整除关系 ----判断两个数的余数是否为零

print(10 % 2)

%应用运算场景2:

取整数的低位数 :

对10取余得到的单位就是个位数,对100取余得到的单位是后两位,对1000取余得到的单位事后三位,以此类推

num = 2346
print(num % 10)
print(num % 100)

3)整除://

商向小取整,负数也取小的那个数

(判断整除关系只和取余有关)

print(5/2)   #2.5
print(5//2)  #2 和商相邻的整数2和3较小的那个,所以取2
print(1.8//2) # 0    0.9 1和0 0小取0
print(-5//2)  #-3     -2.5   -3和-2 取小的为-3

整除应用运算场景:去掉低位数

去掉个位数整除10 ,去掉后两位整除100 ,去掉后三位整除1000,以此类推

num = 2342
print(num // 10)
print( num // 100)
print( num // 1000)

练习:

# 练习:获取任意一个正整数的十位数
# num1 = int(input('请输入数字'))
# print(num1 % 100 // 10)
# print(num1 //10 %10)

# 练习;获取任意一个正整数的百位数
# num2 = int(input('请输入数字'))
# print(num2 % 1000 // 100)
# print(num2 //100 %10)
#
# num3 = int(input('请输入数字'))
# print(num3 % 10000 // 1000)
# print(num3 //1000 %10)

4)幂运算:**

x ** y --求x的y次方

print(8**3)
print(1.3**4)

计算机浮点数时存储会存储大约数,并不能精确,看浮点数约等于值即可(计算机本身存储原因)

开可以通过这个算开方

print(8**(1/3))

三、比较运算符

比较运算符包括:>、 <、 ==、 !=、 >=、 <=

比较运算符判断两个数据之间是否存在某种关系

所有的比较运算符的运算结果基本都是布尔值

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

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

x = 0.5
print(0 <= x <= 1)

只有python语言可以这么写。

四、逻辑运算符

逻辑运算符包括:

and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)

1.and(逻辑与运算)

1)应用场景

用于需要多个条件同时满足的时候,相当于生活中的并且

2)运算规则:条件1 and 条件2

两个都是True结果才是True,只要有一个条件不成立则整个结果就是False

True and True ->True
False and True ->False
True and False ->False
False and False ->False

练习:

#练习:写出判断一个数是否能同时被3和7整除的条件
num = 67
a = num % 3
b = num % 7
print(a == 0 and b == 0)
print(num % 21 == 0)#如果同时被3和7整除,那一定也可以被21整除
# 练习:判断指定数是否是能被3整除的偶数
num= 6
print(num % 3 == 0 and num % 2 == 0 )
print(num % 6 == 0)

2.or(逻辑或运算)

1)应用场景

用于需要多个条件,只要有一个条件满足就行的时候,相当于生活中的或者

2)运算规则:条件1 or 条件2

多个条件中只要有一个条件是True,结果就是True,两个都是False,结果才是False

True or False ->True
True or True ->True
False or True ->True
False or False ->False

练习:

# 练习1:判断指定数是否能被5或者7整除
num = int(input('请输入数字:'))
print(num % 5 == 0 or num % 7 == 0)

#练习2:判断指定年份是否为闰年
year = int(input('请输入年份'))
print(year % 4 == 0 and year % 100 != 0 or year % 400 == 0 )

3.end(逻辑非运算)

1)应用场景

对某一条件进行否定,

通常用语如果正向写条件情况很多很复杂反向写条件却很简单的时候,条件前加not

2)规则:not 后面加条件

not True  -> False
not False ->True

练习:

num1 = 90
print(not num1 > 10)
print(num1 <= 10)

逻辑运算符练习:

# 练习:判断一个数不能同时被3和7整除条件
# 情况1: 能被3整除不能被7整除
# 情况2: 能被7整除不能被3整除
# 情况3: 既不能被7整除也不能被三整除
# 条件反向写(能同时被3和7整除):num % 21 ==0
# 不能同时被3和 7整除:not num % 21 == 0
print(not num % 21 == 0)

4.逻辑运算符拓展

1)短路操作

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

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

2)逻辑运算符的通用运算规则

数据1 and 数据2 -->数据2 -如果短路了就是第一个,如果没有短路数据就是数据2
数据1 or 数据2 -->数据1

print(True and 100) #100
print(False and 100) #False
print(True or 100)  #True
print(False or 100)  #100

print(7 and 8)  #8
print (7 or 8) #7

重要结论:python所有的数据都由布尔值都能转换成布尔值

如果数据是0值和空值(字符串空串和None和数字0)转换成布尔值为False,其他数据都是True

print(bool(0), bool(0.0), bool(''), bool(None))
print(bool(0.34), bool(8), bool(' '), bool(-2.34),bool('abc'), bool(-2), bool('1'))

not 的结果一定是布尔值

五、赋值运算符

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

1)赋值运算符的作用不是计算出一个结果,二是将数据保存到变量中

2)所有的赋值运算符的左边都必须是变量

2.= 等号 :功能赋值符号,右边的数据赋值给左边的变量

a= 100

3.+=、 -=、 *=、 %=、 /=、 //=、 **=

变量 += 数据 ----将变量数据取出来和等号后边数据进行加法运算,得到的结果重新赋值给变量

其他的复合运算符规则和+=相同

变量中之前必须已经被赋值才能进行复合运算符赋值

强调:所有的赋值运算没有结果

print(a=0)会报错--------赋值运算没有结果没法输出

a += 10
print(a)
a -= 20
print(a)

六、运算符的优先级

1.四种运算符优先级顺序

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符

2.数学运算符中:

** > *、/、//、%(同级按顺序) > +、-

3.有括号先算括号里面的(此处括号指小括号’()’)

result = 100 + 2 * 3 ** 2 > 20 * 10 - 3

如果数学运算中遇到布尔值,那可以吧False看成0,把True看成1

result = 100 + (10 > 20)
result = 100 + True
print(result)

height = float(input('请输入您的身高'))
weight = int(input('请输入您的体重'))
target = weight / height ** 2
print(18.5 <= target <= 24.9)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值