作者:mobiledu2502857923 | 来源:互联网 | 2023-05-17 12:17
内存管理1、变量无须事先声明,也不需要指定类型2、python编程中一般无须关心变量的存亡,一般也不用关心内存的管理3、python使用引用计数记录所有对象的引用计数当对象引用数
内存管理
1、变量无须事先声明,也不需要指定类型
2、python编程中一般无须关心变量的存亡,一般也不用关心内存的管理
3、python使用引用计数记录所有对象的引用计数
- 当对象引用数变为0,他就可以被垃圾回收GC
- 计数增加:赋值给其它变量就增加引用计数,例如:x=3;y=x
- 计数减少:
- 函数运行结束时,局部变量就会被自动销毁,对象引用计数减少
- 变量被赋值给其它对象。例如:x=3;y=x;x=4
有关性能的时候,就需要考虑变量的引用问题,但是该释放内存,还是尽量不释放内存,看需求。
程序控制
单分支结构
if condition:
代码块
condition必须是一个bool类型,这个地方有一个隐式转换bool(condition)
if 1<2:
print('1 less than2')
代码块
- 类似于if语句的冒号后面的就是一个语句块
- 在if、for、def、class等关键字后使用代码块
多分支结构
if..elif..else语句
if condition1:
代码块1
elif condition2:
代码块2
elif condition3:
代码块3
....
else:
代码块
举例:
a = 5
if a<0:
print('negative')
elif a ==0:
print('zero')
else:
print('positive')
分支嵌套
举例:
score = 80
if score<0:
print('wrong')
else:
if score == 0:
print('egg')
elif score <= 100:
print('right')
else:
print('too big')
- 嵌套结构,可以是分支、循环的嵌套
- 可以相互嵌套多层
作业:
#输入两个数字
num1 = int(input(">>"))
num2 = int(input(">>"))
if num1 > num2:
print(num1)
else:
print(num2)
#给定一个不超过5位的正整数,判断是几位数。
num = int(input(">>"))
if num >= 1000:
if num >= 10000:
print(5)
else:
print(4)
else:
if num >=100:
print(3)
elif num >=10:
print(2)
else:
print(1)
循环:
while
语法:
while condition:
block
当条件满足既condition为True,进入循环体,执行block
举例:
flag=10
while flag:
print(flag)
flag -=1
for
语法:
for element in iteratable:
block
当可迭代对象中有元素可以迭代,进入循环体,执行block
例如:range函数,这就是一个可迭代对象
举例:打印1-10
for i in range(10):
print(i+1)
continue
中断当前循环的当次执行,继续下一次循环
举例:计算10以内的偶数(for循环)
for i in range(10):
if not i%2:
print(i)
也可以使用步长
for i in range(0,10,2):
print(i)
使用continue
for i in range(10):
if i%2:
continue
print(i)
倒序打印1-10
for i in range(9,-1,-1):
print(i)
break
终止当前循环
举例:计算1000以内的被7整除的前20个数(for循环)
count = 0
for i in range(0,7000,7):
print(i)
count +=1
if count >=20:
break
break和continue 总结
- continue和break是循环的控制语句,只影响当前循环,包括while、for循环
- 如果循环嵌套,continue和break也只影响语句所在的那一层循环
- continue和break不是跳出语句块,所以 if cond: break不是跳出if,而是终止if外的break所在循环。