python基础教程(第三版)学习笔记(三)

继续阅读笔记

第六章节:抽象

懒惰!

抽象可以用于编写复杂的大型程序,以及更好的被人理解。抽象可以隔离具体的实现细节,而更聚焦在能做什么,以及做什么的所需条件上。

重复工作而不作总结归纳并优化流程,就是浪费人生 —— 一些人生感悟。

不求甚解。

结构化编程的核心是函数。

函数定义:

函数的嵌套:

最好养成给函数写文档的习惯。文档字符串:

在python中,return语句的作用只是为了让函数结束而已。

对什么都不返回的函数,可以不包含return,也可以包含一个没有在后面指定返回值的纯return。没有指定返回值的时候,函数返回None

参数的工作原理:

在python中,形参和实参的概念区别并不是很显著。叫接收值和传入值会更好理解

参数是一种变量。参数存储在函数局部作用域。在函数内部如果重新关联参数的话,不会影响到函数外部的变量。但是,如果参数是一种可变的数据结构,比如列表,那么函数就可以影响到外部了。所以,如果不想要影响,你可以创建副本,让原本的容器更安全,不会被改。

为什么想要改?

在提高程序的抽象程度方面,用函数修改数据结构是不错而且常见的方式

有一点数据库操作的味道了。后面会进一步整理,这里的书本示例太基础了,对初学者不必要。后面可以重点学习数据库知识。

需要锻炼抽象概念。

工作经验:代码规范还是不太建议传入可变参数。最好是返回修改后的值

参数的使用:位置参数 和 关键字参数。参数较多的时候指定关键字更加清晰,与顺序不耦合。(结合参数默认值使用)

不建议位置参数和关键字参数混用。

参数的收集:

参数前面的星号*将提供的所有值都放到一个元组中,收集起来。星号的作用是,收集余下的位置参数。没有剩余的时候,搜集的结果是空元组。

注意,需要结合关键字参数使用,最好,因为防止歧义。

收集位置参数用*,收集关键字参数,用**,收集的结果是字典而不是元组。

结合之前对列表,元组的学习,这个收集策略很自然能理解。

参数的分配:(总的来说用起来非常别扭,不如不用)

使用元组作为函数的输入,并且分配到对应的位置参数上。需要*来解引用。

使用字典来传需要**。

作用域:看不见的字典,也就是:命名空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值