python学习笔记(二)计算和控制流

    技术2026-08-28  6

    1、自动计算过程 冯诺伊曼结构: 运算器,控制器(控制计算机持续运行),存储器,输入设备,输出设备 (1)控制器从存储器中提取程序语句和额外数据。 (2)把数据齐全的语句交给运算器进行算数或逻辑运算。 (3)运算结果再存回存储器 (4)读取下一条语句,执行(1)

    控制流程:下一条语句决定了计算机能否自动调整,所以要控制。分为三种:顺序结构,条件分支结构,循环结构。 2、if语句 if 逻辑表达式 : 语句块1 elif 逻辑表达式: 语句块2 … else: 语句块n+1 3、while条件循环 while 条件表达式: 执行语句 break #立即跳出while循环 continue#略过continue后的语句,重新进行while循环 else:#条进不满足时退出循环,执行else后的语句 执行语句 4、for迭代循环 从容器或数据集中逐个与数据对象,直到结束 for 循环变量 in 可迭代对象: 语句块1 break,continue用法同上,都只能作用于离它最近的循环 else: 语句块2 有break后连else也不执行,直接执行程序块后面的部分 eg: for k,v in adict.items: for k in adict.keys range函数 range(终点) range(起点,终点) range(起点,终点,步长) 不包括终点 可以用强制转换把range转换成列表和元组eg:list(range(0,10)) 5、函数def 函数是对代码的封装,容器是对数据的封装 (1)def 函数名 (参数表): 缩进代码段 return 返回值 调用函数:函数名 (参数) (2)局部变量 指在函数内定义的参数和变量,在函数外没有用,无法访问到,在函数用完之后里面独有的参数就释放了。 在函数内部给与全局变量同名的变量赋值不改变全局变量的值 用global 变量 指明函数里的变量是全局变量 (3)map函数:映射 对列表中的每个元素做相同的操作,得到新列表。 map(func,list1,list2):func有几个参数后面跟几个列表 map只是个生成器,要用list转换成列表 eg:list(map(int, alist)) (4)匿名函数lambda 有时候函数只用一次,其名称也就无关紧要,不用去def一个。 lambda 参数:表达式 常与map配合使用 eg lambda a:a*3 参数为a (5)函数的参数 形式参数(函数定义过程中def后面跟的参数)与实际参数(函数在调用过程中传递的参数) 参数:传入到函数的值 定义函数时参数名可以有两种: 一种是在参数表中写明了参数名key的参数,固定了数量和顺序的固定参数;def func(key1,key2,key3) 或者def func(key1,key2,key3=value1)#定义缺省值 另一种是定义的时候不知道有多少种参数要参与进来,是可变参数,def func(*args)或def func(**kwargs)#key=val形式的多个参数(相当于是参数是一个字典) eg: def func(*args):#相当于参数是list for arg, i in zip(args, range(len(args))): …

    还可以用对形式参数赋值的方法进行调用函数,此时参数的顺序就不重要了eg: func(key2=‘a’,key1=‘kk’)

    6、应用拓展模块 (1)每个独立的.py程序都是一个模块 包(package)是放在一个文件夹里的模块集合 引用方式 import 模块名称(as 别名) 在调用模块的函数时要用 模块名.func的形式 用as可以给模块换一个别名 eg import statistics(as stat) 可以只调用一个函数,使用时不加模块名:from 模块 import 函数名 from math import* 把math 里的所有名称都导入当前的命名空间,不用再加math.,但可能会与自己的命名发生冲突。 (2)dir,help dir(名称)列出名称的属性 help(名称)返回用户手册

    Processed: 0.009, SQL: 9