Advertisement

Python基础知识-pycharm版第五章学习笔记

阅读量:

for循环通常用于可迭代对象的遍历。for循环的语法格式如下:

for 变量 in 可迭代对象:

循环体语句

2.可迭代对象包含有:

包括以下几个主要类型:
1. 字符串型数据
2. 列表数据
3. 元组数据
4. 字典数据
5. 迭代器对象实例
6. 生成器函数定义
7. 文件操作的对象实例

3.range对象是一个迭代器对象,用来产生指定范围的数字序列:

range(start, end, [step])

该数值序列将从参数start处起始,并在参数end之前终止。如果未指定start,则默认设置为0。步长是一个可选参数,默认值设为1。

for i in range(10) 产生序列:0 1 2 3 4 5 6 7 8 9

for i in range(3,10) 产生序列:3 4 5 6 7 8 9

for i in range(3,10,2) 产生序列:3 5 7 9

练习:

4.嵌套循环

一个循环体内可以嵌入另一个循环,一般称为“嵌套循环”,或者“多重循环”

  1. break 语句适用于 while 和 for 循环结构,并用于终止当前所有执行的循环。在存在嵌套的情况下,默认情况下该语句仅终止最内层的循环

continue语句用于终止当前的循环,并执行下一轮操作。当涉及多层嵌套时,该语句同样应用在内层最近的循环中。

录入员工的薪资信息。如果录入的薪资数据为负值,则需要重新录入数据。最后系统会输出录入的员工数量以及详细的薪资信息列表,并计算并显示所有录入员工的平均薪资

  1. while 和 for 循环可以附加一个 else 语句(可选)。如果 for 和 while 语句未被 break 结束,则会被执行;否则不会被执行;语法格式如下:

while 条件表达式:

循环体

else:

语句块

for 变量 in 可迭代对象:

循环体

else:

语句块

练习题:共有四名员工。录入这四人的薪资信息,在所有信息完整后,请打印并显示提示信息"您已成功录入全部四位员工的薪资"。最后一步,请计算并输出每位员工的工资总额以及全体人员的平均工资。

8.循环代码优化原则:

(1)尽量减少循环内部不必要的计算;

(2)嵌套循环中,尽量减少内层循环的计算,尽可能向外提;

(3)局部变量查询较快,尽量使用局部变量;

(4)连接多个字符串,使用join()而不使用+;

(5)列表进行元素插入和删除,尽量在列表尾部操作。

借助zip()函数对多个序列实现同步遍历,在某一个序列耗尽其全部元素时该操作会终止:

基于这些迭代器构建序列的方法是一种高效的方式;它能够整合循环与条件判断,并且使得生成过程无需繁琐的代码。

(1)列表推导式:

列表推导式生成列表对象,语法如下:

[表达式 for item in 可迭代对象]

或者:

[表达式 for item in 可迭代对象 if 条件判断]

(2)字典推导式:

字典的推导式生成字典对象,格式如下:

{key_expression : value_expression for 表达式 in 可迭代对象}

字典推导也可以增加if条件判断、多个for循环

(3)集合推导式:

集合推导式生成集合,和字典推导式的语法格式类似:

{表达式 for item in 可迭代对象 }

或者:

{表达式 for item in 可迭代对象 if 条件判断}

(4)生成器推导式:

元组不是推导式,在Python中使用(x for x in range(1,100) if x%9==0)时会生成一个生成器对象;每次只能运行一次该生成器对象,在第一次迭代时能够获取数据,在后续的任何一次迭代时均没有数据可获取:

11.练习

程序中的功能模块通常具有高度可重用性。
其主要功能不仅在于提高代码复用性,
还能保证整个系统的统一性和稳定性。
一致性体现在无论对任何地方进行功能优化或修改时,
在相关联的功能模块中都会得到相应更新。

(1)一个程序由一个个任务组成;函数就是代表一个任务或者一个功能;

(2)函数是代码复用的通用机制

按照功能划分,Python程序中主要包含以下几类基本功能:①预定义功能(如字符串操作str()、列表管理list()以及长度获取len());②标准库提供的辅助功能(可借助import语句引入系统预置工具包);③第三方模块功能(需从Python社区下载安装其他高质量的模块);④个人定制功能。

Python中,定义函数的语法如下:

def 函数名 ([参数列表]) :

'''文档字符串'''

函数体/若干语句

要点:

(1)使用def来定义函数,然后就是一个空格和函数名称:

Python执行def时,会创建一个函数对象,并绑定到函数名变量上。

(2)参数列表

圆括号内是形式参数列表,有多个参数则使用逗号隔开;

形式参数不需要声明类型,也不需要指定函数返回值类型;

无参数,也必须保留空的圆括号;

实参列表必须与形参列表一一对应。

(3)return 返回值

如果函数体中包含 return 语句,则结束函数执行并返回值;

如果函数体中不包含 return 语句,则返回 None 值。

(4)调用函数之前,必须要先定义函数,即先调用def创建函数对象

内置函数对象会自动创建;

内置库与第三方库中的函数,在使用import导入模块时会被该模块中的函数体所执行。

13.练习:定义一个函数,实现两个数的比较,并返回较大的值。

变量a与b被称为"形式参数"(简称"形参"),它们是在函数定义过程中所使用的(其名称需遵循"标识符"命名规定)。

当调用函数时,在代码中传递的参数被称为"实际参数"(即"real parameters"),简称为实参(real argument)。在代码中即是所使用的实际参数

文档字符串即为函数的注释,在文本中可通过三个单引号或三个双引号创建,并在其中加入多行文本用于详细说明

15.调用help(函数名.doc)可以打印输出函数的文档字符串:

16.return返回值要点:

(1)如果函数体中包含return语句,则结束函数执行并返回值;

(2)如果函数体中不包含 return 语句,则返回None值;

(3)要返回多个返回值,使用列表、元组、字典、集合将多个值“存起来”即可。

练习:定义一个返回两个数平均值的函数:

练习:测试return返回值的基本用法

在Python编程语言中,“全部都是对象”,当使用def关键字定义函数时,程序就会自动生成相应的函数对象。

当编写def函数时,在开发环境中运行代码会导致以下情况:首先,在运行代码的过程中,系统会生成相应的函数实例;其次,在这些情况下,默认情况下会创建一个全局的print_star变量,并将其赋值给print_star;最后,在后续操作中可以通过该变量来引用对应的函数对象。

运行操作「c = print_star」后,则可观察到 print_star 变量的值已被成功赋值给变量 c;内存布局更新为:

通过观察发现变量c和print_star都共享相同的函数指针。这意味着调用c(3)与调用print_star(3)的结果将完全一致。在Python编程语言中,默认情况下使用圆括号来指示对函数的调用。如果未使用圆括号,则Python将处理该函数作为普通的对象。

再如:

zhengshu = int

zhengshu("234")

变量zhengshu被赋予了内置函数对象int()的引用,并且由此可知,zhengshu与int都指向同一个内置函数对象

全部评论 (0)

还没有任何评论哟~