变量的作用域——全局变量和局部变量
(一)全局变量
1、全局变量:作用域为定义的模块,从定义位置开始直到模块结束;
2、全局变量降低了函数的通用性和可读性,应尽量避免全局变量的使用;
3、全局变量一般做常量使用;
4、函数内要改变全局变量的值,使用global声明一下
(二)局部变量:
1、在函数体中(包含形式参数)声明的变量;
2、局部变量的引用比全局变量快,优先考虑使用;
3、如果局部变量和全局变量同名,则在函数内隐藏全局变量,只是用同名的局部变量
变量的作用域——全局变量和局部变量
(一)全局变量
1、全局变量:作用域为定义的模块,从定义位置开始直到模块结束;
2、全局变量降低了函数的通用性和可读性,应尽量避免全局变量的使用;
3、全局变量一般做常量使用;
4、函数内要改变全局变量的值,使用global声明一下
(二)局部变量:
1、在函数体中(包含形式参数)声明的变量;
2、局部变量的引用比全局变量快,优先考虑使用;
3、如果局部变量和全局变量同名,则在函数内隐藏全局变量,只是用同名的局部变量
五、返回值
1、如果函数中包含return语句,则结束函数执行并返回值;
2、如果函数中不包含return语句,则返回none值;
3、要返回多个返回值,使用列表、元组、集合多个值“存起来”即可。
三、行参和实参
形参用于定义,实参用于调用;
调用的实参必须和形参的个数一致
四、文档字符串(函数的注释)
一般来说,我们通过定义函数让人们看懂函数的意思,但是定义毕竟太过简单,所以我们还需要字符串说明
我们调用help(函数名.__doc__)可以打印输出函数的文档字符串
函数用法和底层分析:
函数通常是要完成一个功能,要被反复使用
一、函数的分类:
1、内置函数——str()、list()、len()等为内置函数;
2、标准库函数——import语法导入库;
3、第三方函数;
4、用户自定义函数
二、核心要点:
1、我们使用def来定义函数,然后就是一个空格和函数名称;
2、参数列表:
(1)圆括号内是形式参数列表,有多个参数则使用逗号隔开;
(2)形式参数不需要声明类型,也不需要制定函数返回值类型;
(3)无参数,也必须保留空的圆括号;
(4)实参列表必须与形参列表一一对应
3、调用函数之前,必须要先定义函数
(1)内置函数对象会自动创建;
(2)标准库和第三方函数,通过import导入模块时,会执行模块中def语句
4、return返回值:
(1)如果函数中包含return语句,则结束函数执行并返回值;
(2)如果函数中不包含return语句,则返回none值
推导式创建序列
是python中典型的特点,可以提高效率
1、列表推导式
通过推导式生成列表对象
2、字典推导式
3、集合推导式
4、生成器推到器,生成元组
使用zip并行迭代
循坏代码的优化(及其重要):
在写循坏代码时:
(1)尽量减少循坏内部不必要的计算,能放到循环外的就放到循坏外;
(2)嵌套循环中,尽量减少内层循坏的计算,越往里循坏次数越多;
(3)局部变量查询较快,尽量使用局部变量
其他优化手段:
1、连接多个字符串,使用join而不是+
2、列表进行元素插入和删除,尽量在尾部操作
else语句:
while循环里的else语句——循环中可以附带一个else语句。如果for、while语句没有被break语句结束,则执行else,否则不执行,语法格式如下:
while 条件表达式:
循环体
else:
语法块
或者:
for 变量 in 可迭代对象:
循坏体
else:
语句块
break语句:
break语句可用于while 和for循环,用来结束整个循坏
continue语句用了结束本次循环,,继续下一次循坏
嵌套循环
for循环
for 变量 in 可迭代对象
(1)字典的遍历
(2)range对象
练习: 利用for循环,计算1-100之间的累加和、计算1-100之间的偶数累加和;计算1-100之间的奇数累加和
循坏结构:
一定要有条件判断,不然就会死循环
计算数字1——100的累计和
选择结构的嵌套:
多分枝选择结构:
小练习:输入一个学生的成绩,将其转化为简单的描述:不及格(小于60分)、及格(60-79)、良好(80-89)、优秀(90-100)
已知点的坐标(x,y),判断其所在象限
双分支选择结构:
三元条件运算符
双分支结构比较简单的情况下,可以中三元条件运算符
选择结构:
如果某个条件满足,则执行某个代码
在选择和循环结构中,田间表达式的值为False的情况如下:
(1)False;
(2)在整数的情况下,数值为0
(3)空值None
(4)空序列对象(空列表、空元组、空集合、空字典、空字符串
(5)空range对象
(6)空迭代对象
条件控制语句中,出现赋值,立马报错
代码的组织方式:控制语句
集合:
无序可变,元素不能重复,集合底层是字典,只有字典的“键对象”,因此不能重复且唯一的。
1.列表的创建
2.将列表转换为集合
3.remove()删除制定元素,clear()清空整个集合
集合相关操作:
tab制表符?
mac上如何实现win上text操作
idle和pycharm
什么是suo jin