1-5 内存管理、if分支

内存管理

  1. 变量必须事先声明,也不需要指定类型,这是动态语言的特性(解决内存空间和内存碎片问题)
  2. Python编程中一般无需关心变量的存亡,一般也不用关心内存的管理
  3. Python使用计数记录所有对象的引用数
    - 当对象引用数变为0,它就可以被垃圾回收GC(garbage collection)(具有发现对象并循环引用机制)
    - 计数增加:
    赋值给其他变量就增加引用计数,例如 x = 3;y = x ;x = [ x , 1]
    实参传参
    - 计数减少:
    函数运行结束时,局部变量就会被自动销毁,对象引用计数减少
    变量被赋值给其他对象,例如 x = 3 ; y = x ; x = 4
  4. 有关性能的时候,就需要考虑变量的引用问题,但是该释放内存和不释放内存, 看需求
    Tips:
    C语言,C++必须做内存释放
    Python和Java都有垃圾回收机制

程序控制

顺序

按照先后顺序一条条执行

分支

根据不同的情况判断,条件满足执行某条件下的语句

循环

条件满足就执行,不满足就不执行或不再执行
要注意判断循环的条件是什么

单分支结构

if语句

condition 条件

if condition;
	代码块
	#condition必须是一个bool类型,这个地方有一个隐式转换bool(condition)
if 1 < 2 : # if True
	print("l less than 2 ")

代码块

  • 类似于if语句的冒号后面就是一个语句块
  • 在if、for、 def、class等关键字后面使用代码块

多分支结构

if…elif…else语句

if condition1:
	代码块1
elif condition2:
	代码块2
elif condition3:
	代码块3
……
else:
	代码块

例子
negative 负的
positive 正的

a = 5
if a < 0 :
	print("negative")
elif a == 0 :
	print("zero")
else :
	print("positive")

分支嵌套

例子:

score = 80 
if score < 0 :
	print("wrong")
else : # score >= 0
	if score == 0 :
		print("egg")
	elif score <= 100 : # score > 0
		print("right")
	else : # score > 100
		print("too big")
  • 嵌套结构,可以是分支、嵌套的嵌套
  • 可以相互嵌套多层
  • 多分支结构,只有一个分支被执行,其他分支都不会被执行
  • 前一个条件被测试过,下一个条件相当于隐含着这个条件

真值表

真值表
False等价布尔值,相当于bool(value)

  • 空容器
    • 空集合set
    • 空字典dict
    • 空列表list
    • 空元组tuple
  • 空字符串
  • None对象
  • 0

练习

  • 输入两个数,输出最大数
a = input(">>")
b = input(">>")
if ( a > b ):
    print(a)
else :
    print(b)
  • 给定一个不超过5位的正整数,判断其有几位
    fold 折叠
val = input(">>")
val = int(val)
if val > 1000: #fold 可以提高程序运行效率
    if val >= 10000:
        print (5)
    else :
        print(4)
else : 
    if val >= 100 :
        print(3)
    elif val >= 10 :
        print (2)
    else :
        print(1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值