标签:计算机 div 垃圾回收机制 清除 删除 部分 成员运算符 tle app
目录
当我们定义变量的时候,会申请一块内存空间用来存放变量值,然后利用赋值符号将变量名和变量值绑定在一起,接下来我们在使用变量值得时候就可以通过变量名来找到那块内存空间了。
引用一般分为直接引用和间接引用。无论是直接引用还是间接引用,当变量值的被引用次数变为o的时候,就会被看做垃圾被系统的垃圾回收机制回收。
我们直接进行将变量名与变量值绑定关系就被称为直接引用。一个变量值可以被引用很多次。
# 下面的变量都是直接引用
my_love = "美女"
your_love = "护士"
he_love = your_love
当变量值被容器性质的数据类型引用的时候,就是属于间接引用。
your_love = "护士"
# 下方列表的引用属于间接引用
my_loves = ["空姐",your_love]
l1 = [1,2]
l2 = [3,4]
# 两个列表互相引用
l1.append(l2)
l2.append(l1)
# 删除两个列表
del l1
del l2
上面两个列表变量名在被我们删除以后,变量值互相引用,所以引用次数为1,但是我们却不需要这一块变量值了,这个时候,就用到标记清除了,首先我们要知道,变量名和变量值不在一块空间。
解释器每隔一段时间扫描一下变量名,然后顺着变量名的绑定关系将变量值进行标记,在全部扫描之后,凡是被顺藤摸瓜的变量值都会存活,而其他未标记的则会被删除
如果解释器抑制不同的扫描会加大内存负担,所以Python内部将变量名分根据权重三个部分,。
运算符分为算术运算符、比较运算符、赋值运算符、解压运算符、逻辑运算符、身份运算符、成员运算符。
算术运算符就是进行数学运算。
# 加法
print(10+10)
# 减法
print(10-10)
# 乘法
print(10*10)
# 除法
print(10/10)
# 取整
print(10//10)
# 取余
print(10%10)
比较运算符 | 意义 |
---|---|
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
!= | 不等于 |
== | 等于 |
复制运算符就是使用等于号 =。有以下几个骚套路。
# 赋值
a = 90
# 增量赋值.
a += 1 # a = a + 1
a -=1 # a = a - 1
a *=1 # a = a * 1
a /=1 # a = a / 1
# 链式赋值
x = q = 12
# 交叉赋值
w = 12
e = 34
w, e = 34, 12
print(w,e)
# 解压赋值
# 注意,一般都使用 *_ 来匹配不用的变量,约定俗成。
l1 = [1,2,3,4,5]
a, b, c,d ,e = l1[:] # 逐个赋值
*_,e = l1 # 只取末尾赋值
格式化输出已拥有三种方式。
利用% 来当占位符已经是计算机的传统了。
name = "Tom"
age = 18
# %s 可以接受任何数据类型。
# 按照顺序赋值,必须一一对应。
print("%s is %s." %(name,age) )
# 按照字典的顺序赋值
print("%(name)s is %(age)s." % {"name": "tom","age": 18})
是字符串的一种方法,括号内可以穿进去参数。推荐使用这个方法。
name = "Tom"
age = 18
# 按照位置传值
print("{} is{}".format(name,age))
# 按照索引传值
print("{1} is {0}".format(age,name))
# 按照字典传值
print("{name} is {age}".format(name="tom",age=18))
这个版本是3.5版本之后出现的方法
my_name = "tom"
your_name = "jerry"
res = f"我的名字是{my_name},你的名字是{your_name}"
print(res)
标签:计算机 div 垃圾回收机制 清除 删除 部分 成员运算符 tle app
原文地址:https://www.cnblogs.com/liqianxin/p/12421561.html