文章目录

  • 一、变量
  • 1、定义一个变量
  • 2、同时定义多个变量
  • 3、变量保存数据的底层逻辑
  • 二、运算符
  • 1、数学运算
  • 2、比较运算
  • 3、逻辑运算
  • 4、赋值运算
  • = 直接赋值
  • 复合赋值运算符
  • 5、运算符的优先级


一、变量

1、定义一个变量

变量名=数据

a=10
2、同时定义多个变量

变量1=变量2=…=变量n=数据

a,b,c=10

变量1,变量2,…变量n=数据1,数据2,…数据n

注意:后面数据的个数必须和前面变量的个数保持一致

a,b,c=1,2,3

练习:交换两个变量的值

a=100
b=200
a,b=b,a
print('a=',a,'b=',b)
3、变量保存数据的底层逻辑

问题1:为什么python定义变量不用说明类型

python定义变量的时候会自动生成内存,内存大小由数据大小决定

问题2:为什么Python给变量重新赋值的时候可以赋不同类型的数据

python给变量重新赋值的时候会重新根据新的数据申请新的内存

问题3:为什么python可以直接计算并保存9999**9999的计算结果

申请内存的时候会提前计算存储这个数据需要多大的内存,需要多大就申请多大

内存单位:

位(bit) ;1字节(byte)=8位;1 k b=1024字节;1 Mb=1024 k b;1 G b=1024 Mb;1 Tb=1024 G b

二、运算符

1、数学运算

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

print(1+3.0) #4.0  结果为浮点数
print(7/3)   # 2.5  结果为浮点数
print(7//3)  # 2   结果为整数
print(7%3)   # 1 7/3=2+1   取余数  结果为整数
print(2**3)  # 8

整除的应用:1、希望能整除的情况下商是整型 2、去掉一个整数的低位数

print(4/2) #2.0
print(4//2) # 2
num=1234
print(num//10)  # 123
print(num//100) # 12

取余的应用:1、判断两个数字之间的整除关系,余数为0则整除,余数不为0则不整除

2、去掉高位数,保留低位数

print(123%10) # 3
print(123%100) #23

练习:获取一个正整数的十位数

num=8271
print(num//10%10) #  7

幂运算

print(2**3)  #  8
print(2**(-3))  #  0.125
print(2**(1/3))  #  1.2599210498948732

注意:除的结果一定是浮点数,其他运算符的运算结果的类型和运算对象有关

2、比较运算

>、<、==、!=、>=、<=

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

print(10>3)  # True
print(10>30) # False

python的比较运算符直接连写表示范围

3、逻辑运算

and逻辑与、or逻辑或、not逻辑非

and 要求多个条件同时成立,or 要求一个条件成立即可

  1. and

应用场景:如果需要多个条件同时满足,用and连接

运算规则:条件1 and 条件2 --条件1和条件2同时成立结果是True,只有一个不成立结果是False

练习:写条件判断num是否是大于10的偶数

num=int(input('请输入num:'))
print('num是否是大于10的偶数',num%2==0 and num>10)
  1. or应用场景: 如果要求多个条件中有一个条件成立就行,就用or连接;相当于生活中的或者
    运算规则: 条件1 or 条件2–如果两个条件都不成立结果就是False,只要有一个条件成立结果就是True。
    练习:判断闰年
year = 2000
print('year是否是闰年:',(year%4==0 and year%100!=0) or year%400==0)
  1. not

应用场景:对指定的条件进行否定

运算规则:not 条件

4、赋值运算

=、+=、-=、*=、/=、%=、//=、**=

所有赋值运算都是用来给变量赋值的。所有的赋值语句都是没有结果的,无法提供数据

= 直接赋值

变量=数据 --将数据保存到变量中,变量既可以是已经定义的也可以是未定义的

a=1
a=3
b=4
print(a,b) #3 4
复合赋值运算符

变量 += 数据 --将变量中的数据取出来,然后和后面的数据进行运算,然后将得到的结果赋值给变量

变量必须是已经定义过的变量,并且已经保存的数据必须可以和后面的数据进行加法运算

a=10
a+=20
print(a) #30
a-=10
print(a) #20
5、运算符的优先级

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

不同的数学运算符优先级和数学中一样(** *、/、%、// +、-)

print(1+2**3*2/4-4*2) # -3.0

有括号先算括号里面的