第三周学习笔记

这篇笔记来的有点晚,说实话现在为止我的论文写的还是半拉可叽的,在做毕业设计时选择了硬件方向,搞得我也是一愣一愣的。话不多说开始第三周的学习笔记记录。

首先进行对上周知识的梳理,对字符串的修改是不会对原字符串进行修改的,而是变成了一个新的字符串,一定意义上来说字符串是不可修改的。这次讲解了一个新的东西,集合。

集合是在去重上有着无可比拟的效果,因为集合是天生去重的,把一个列表变成集合,是会自动把其中的重复元素去掉,同时集合还可以实现关系测试,同时集合是无序的。下面介绍一些集合的方法。

.intersection()取交集

.union()取并集

.differenc()差集

.issubset()是否为子集,括号内为子集

.issuperset()是否为父集,同上

.symmetri-differenc 对称差集 两个集合互相不存在的元素

.isdisjoint()判断是否存在交集,没有返回True

.add()添加

.update([])可以添加多项

.disca()删除元素,当元素不存在时并不报错

读取文件:

f.tell()返回光标位置,按字符个数计数,返回时应该先将文档存入暂时的内存中,否则不读取数据。可用于统计整个文本文档字数。

f.seek()将光标返回到制定位置,以上操作都是对内存中的文件操作,不影响文档光标位置

f.encoding()打印编码

f.flieno()以一个整形返回文件编号

sys.stdout.write()相当于print,在括号中输入想要输出的内容,只能是str类型。

字符编码和转码:

在python中有许多不同的字符形式,例如解释器就是支持UTF—8形式,但是在进行网络传输以及信息传递是文件多以bytes二进制形式传输,这时需要对其进行编码的转化。转化可以随意进行相互的转化,但是他们都存在一个中间值,就是Unicode形式,也就是说不论如何转化相互之间都应该先转化为Unicode形式。 

面向对象,面向过程,函数式编程:

现在的主流语言已经很少使用函数式编程了,大部分都是面向对象与面向过程,因为不同的书籍和刊物上对其概念定义的不同,在这里我仅以自己对其看法来解释这两个概念。

面向对象->类->class,类是面向对象的主要因素,面向对象语言重点在于解释这个事物本身的属性,事物具有的属性构成了属于这个事物的类,在使用时建立单独的对象然后在进行使用。类似于我建立了一个车的类,车具有能行驶,有喇叭,有车灯等属性,并且具有行驶的方式,然后我在调用它的时候,我需要建立一个单独的对象“奔驰”,整个对象具有我所定义的车的所有属性以及方法。

面向过程->过程->def,过程是面向过程的主要因素,面向过程主要注重的并不是问题本身,而是解决问题的方式,我们把一个问题分成各个部分,并对每个部分提出解决的方法,再讲所有的方法放在一起,这样我们就解决了一个问题。

函数式编程->函数->def,函数式编程正像它的名字一样,我们将问题的解决方案函数化,用函数的形式来解决我们想解决的问题。而本次学习我们主要的重点也侧重于函数式编程。

python中函数定义形式:def 函数名():

return返回值,为什么一定要有返回值??答:我们在调用一个函数时需要他的运行结果,无论是什么结果甚至是0,1我们所需要的函数运行所得出的结果而不仅仅是函数运行了,所以我们需要返回值。

返回值都有哪些?答:当你没有存在返回值是会返回一个None,当你确定一个返回值时他会返回你所给予的值,当你返回了不止一个值时,他会返回一个元组的形式。

函数的调用:位置调用:实参与形参的位置必须一 一对应,实参不能多或者少否则会报错。

                      关键字调用:与形参的位置无关,在调用函数时对形参进行复制 。当调用情况既包括位置又包括关键字的时候,关键字调用后不能出现位置调用,否则会报错。

默认参数:在定义函数时值已经定义,在调用函数是可以不赋值。用于默认连接数据库和安装时的默认路径。

参数组:在创建实际变量时可能存在不知道变量数量所以可能会赋值多个,那么我们在赋值时就要为一个形式变量定义赋值多个,*args变量接收参数不固定,将多余的变量输出为元组。**kwargs是将多余的变量输出为字典,*只接受位置参数,**只接受关键字参数。

局部变量和全局变量:局部变量的作用于只在函数内部,全局变量是在整个程序中都可以使用。在函数中可以使用global将其变为全局变量。但是除了字符串的简单类型,列表等是可以改变的全局变量。

递归:函数内部调用自己。1.必须有明确的结束条件 2.每次进入下一层时,问题都相应的减少 3.效率不高

高阶函数:讲一个函数作为参数传递给另一个函数称之为高阶函数。

原文地址:https://www.cnblogs.com/Jicc-J/p/10987314.html