002-python之变量&运算符

一、变量
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)
    
  2. not

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

运算规则:not 条件

4、赋值运算

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

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

  1. = 直接赋值

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

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

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

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

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

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

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

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

有括号先算括号里面的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

兮知

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

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

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

打赏作者

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

抵扣说明:

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

余额充值