变量底层逻辑、变量、运算符

本文探讨了Python中变量的底层逻辑,强调了其在内存管理上的自动化特性,包括变量如何根据值动态申请内存和重新赋值时内存的变化。同时,文章介绍了数学运算符如%(取模)和//(整除),以及逻辑运算符如and、or和not的用法,并提及赋值运算符的作用。最后,提到了运算符的优先级问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量和运算符

变量的底层逻辑

  • python定义变量的时候先申请内存,内存申请多大看数据需要多大,申请完内存后将数据保存到内容中,然后在将变量和对应的内存进行关联

  • 重新给变量赋值的时候,会根据新的值重新申请新的内存,然后将新的数据保存到新的内存中,最后将变量进行关联,原来的取消

  • 优点:自动计算相应值的大小

    • ​ 简单,方便
  • 缺点:速度慢

  • 在运行内存中请求

变量

语法:
变量名 = 数据

说明:
变量名            -程序员自己命名
            要求:标识符,不是关键字
            规范:a.见名知义 (看到变量名就知道变量中的保存的是什么数据)
                 b.不使用系统函数名、类名和模块名
                 c.所有字母都小写,多个单词之间用下划线隔开(PEP8)

=              -固定写法

数据            -需要保存到变量中具体的数据
# 4.使用变量 -使用变量中保存的数据
# 使用变量就是使用变量中保存的数据,所以数据能做的事情,保存数据的变量都可以做
# 使用变量 先定义再使用
num = 100
print(100)

print(num, end='无法无天')
print(300, 200, sep='我')
print(111, 222, 333, 444, sep='qwer', end='晚安')

# 5.同时定义多个变量
# 1)变量名1 = 变量名2 = 变量名 3 = ... =数据  -同时定义多个变量赋相同的值
a1 = b1 = c1 = 100
print(a1, b1, c1)

# 2)变量名1,变量名2,.. = 数据1,数据2 .. 同时定义多个变量赋不同的值


# 交换两个变量的值
m = 200
n = 30
m, n = n, m
print(m, n)

# 变量重新赋值
score = 90
print(score)

# 重新赋值后再使用的是 新的值
score = 88
print(score)

# 重新赋值的时候可以赋不同类型的值
score = '优秀'
print(score)

数学运算符

  • % (取模 ,取余) 取整数的低位数 -对10的N次方取余,就可以获取这个数的后N位数

    num = 23989
    
    print(num % 10 ) #9
    print(num % 100 ) #89
    
    
  • //(整除) - 求商,商向小取整

    print(5//2)  #  2  2.5  3     # 2
    print(3.8//2)  # 1 1.9 2     # 1
    print(-5//2)   # -2 -2.5 -3  #-3
    
    
  • // 去掉整数的低位数,保留高位数

    print(8374 // 10)  #837
    print(8374 //100)  #83
    print(-323 // 10)  #-33
    
    

    逻辑运算符

and(逻辑与运算)
"""
1.and
应用场景:用来连接要求同时成立的两个条件、
运算规则:条件1 and 条件2 -如果两个条件同时成立结果True

"""
num = 92
print(num % 7 == 0 and num % 2 == 0)
or(逻辑或运算)
or(逻辑或运算)
应用场景:如果要求两个或者多个条件有一个条件成立就行,相当于 '或者'
"""
# 判断num是否能被3或者7整除
num = 89
print(num % 3 == 0 or num % 7 == 0)
not(逻辑非运算)
"""
应用场景:对条件进行否定
运算规则:not 条件 
        not False    -True
        not True     -False       
"""
age = 28
print(not age > 18)
print(age <= 18)
赋值运算
  • 所有的赋值运算符最终的功能都是完成对变量的赋值操作(将数据保存到变量中)

    num = 10
    num **= 2
    print(num)
    
    num //= 2
    print(num)
    

运算符优先级

  • 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值