程序设计导论(Python)读书笔记

本文是《程序设计导论(Python)》的读书笔记,涵盖了Python语言实践、函数与模块、面向对象编程和算法数据结构。讨论了Python编码错误处理,如ASCII编码问题的解决方案,以及模块导入错误和语法错误的排查。介绍了Python中的对象、数据类型和函数,强调了模块化程序设计的重要性,包括函数的复用和封装。面向对象部分解释了对象、方法与内置数据类型的差异,强调了封装、多态和继承的概念。最后,探讨了算法和数据结构,如排序和查找算法的性能分析,以及栈、队列和图的应用。
摘要由CSDN通过智能技术生成

Python语言实践

函数和模块

程序设计基本元素
常见错误:
Python2中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
解决方法为只要在文件开头加入 # -- coding: UTF-8 -- 或者 #coding=utf-8 就行了
通过在命令行上提供参数来定制程序行为。如最小批次、周期数、学习率。
1.ImportError:No module name nltk常见错误:
解决办法:上Stack Overflow或github查询相关模块安装方法,在虚拟环境一般用pip
2.SyntaxError:invaild syntax
解决办法:程序中包含错误,查看参数设置或修改语法错误
3.版本冲突:keras会出现版本问题,老的代码需要降低keras版本,tensorflow与cudnn需对应
在python中,所有的数据都表示为对象及对象之间的关系,python对象是特定数据类型的值在内存中的表现方式。每个对象由其标志、类型和值三者标识。
数据类型是一系列值及定义在这些值上的一系列操作,python内置数据类型包括bool、str、int和float
布尔表达式可以用于控制程序的行为
使用数值类型、内置函数、python标准模块、扩展模块中的函数可实现python的超级数学计算器功能,如大数据分析。
python典型结构:
1.一系列import语句
2.一系列函数定义
3.任意数量的全局代码,即程序的主体
针对程序流程控制而言,函数的影响力与选择结构和循环结构一样深远。函数允许程序的控制在不同的代码片段之间切换。函数的意义在于可以在程序中清晰地分离不同的任务,而且还为代码复用提供了一个通用的机制。如果程序中包含多个函数,则可将这些函数分组包含在模块中,将计算任务分解为大小合理的子任务。
借助函数,我们可以实现如下功能:
1.把一长系列的语句分解为独立的部分
2.代码重用,而不需复制代码
3.在更高的概念层面上处理任务
模块化程序设计的优越性:
1.可编写合理规模或超大系统的程序
2.调试可限制在少量的代码范围
3.维护以及改进代码会更容易
递归:函数调用本身。证明技术:数学归纳法

成为优秀程序员:当需要某个软件工具时,有足够的信心创建所需要的软件工具,而且必须要有足够的智慧懂得何时适合从现有的模块中寻求参考解决方案!!!

面向对象的程序设计

方法:将大型和复杂的程序分解为一系列交互的元素或对象
思想:对现实世界的实体进行建模

方法与函数的区别:方法与特定的对象关联。我们可以认为这个特定的对象是传递给函数的除了通常方法参数外的一个额外参数。代码中体现为函数调用使用模块名,方法调用使用变量名。

理念一:使用一个数据类型时无须理解其具体实现
str(字符串)的API中运算操作三类别:
1.内置运算符:+、+=、[]、[:]、in、not in以及比较运算符,其特征是使用特别的符号和语法。
2.内置函数:len(),使用标准函数调用语法
3.方法:upper()、startwith()、find()等,在API中使用变量名跟点运算符区分。
用户自定义数据类型:应用程序编程接口、文件命名规则、创建对象、调用方法、字符串表示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值