第二周小结

Posted yanminggang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二周小结相关的知识,希望对你有一定的参考价值。

一、元组用法

1、索引 | 切片 | 长度

2、.count(obj)查看元素的个数

3、.index(obj,bindex,eindex)查看元素索引,可以指定从第几个开始到第几个结束

4、有序存储,可存放多个数据,不可变(内部可以包含可变对象,可变对象依旧可变)

5、应用场景:将不允许操作的列表转为为元组,将允许操作的元组转为列表

二、字典用法

1、无序,存放多个值,可变,通过key取值

2、常见操作:dic[key] = value  #key存在就是改,不存在就是增

                        dic[key] :取值,如果key不存在就报错,所以用get(key,defalut)

                         update({‘a‘:100,‘c‘:300}):key存在就更新,不存在就新增

                         pop(key):根据key删且返回对应的value

                          dic.setdafault(key,None) key存在不操作,key不存在,dic[key] = default

                          dic.clear() 删除字典中的所有元素

                          dic.keys()返回一个包含所有key的列表

                           dic.valuess()返回一个包含所有values的列表

                           dic.items()返回一个包含所有(键,值)元组的列表

                           dic.get(key,default=None)返回字典中key对应的值,若key不存在,则返回default的值,默认为None

三、集合用法

1、数据具有唯一性(去重)

2、无序存储:没有key,没有索引,无法取值

3、可变数据类型,内部可以存放任意类型数据,但数据具有唯一性

4、交集&:两个集合共同存在的   #还是以集合的形式取出

5、并集 | :两个集合的合并

6、差集 -:p_set - l_set   #p集合去掉l集合中的一样的元素

7、对称差集^:p_set ^ l_set    #两个集合去掉相同的元素在合并到一起

8、判断两个集合是不是不想交  p_set.isdisjoint(l_set)    #不相交就返回True

9、update():可以支持同时传入多个参数,不管是列表还是字符串都会把每个元素拆开了加进去(去重)

10、add():只能加一个

11、集合删除单个元素有两种方法:set.discard(x):元素不在集合中时,不会报错。而set.remove(x):元素不在集合中时会报错

12、pop():由于集合是无序的,所以返回的值不能确定,且当集合为空时会报错

四、字符编码

1、乱码:存数据与读数据采用的编码表不一致

2、py2中默认按ASCII来解释文件内容,py3中默认按utf-8来解释文件内容

3、文件头:#encoding:编码表

      功能:告诉py解释器按照什么编码来解释文件内容

4、Unicode以定长(2字节)存取数据

5、utf-8以变长(1-6字节)存取数据,因为大量数据都是以英文存在,所以utf-8空间更小,传输速度更快

6、原义字符串:r‘abc abc‘      #  ‘abc abc‘

7、u‘‘与b‘‘之间相互转化

编码:u‘‘.encode(‘utf-8‘)      

解码:b‘‘.decode(‘utf-8‘)     #解码后以字符串的形式存在

五、文件操作

1、with open(‘文件路径‘,‘模式’,encoding= ‘utf-8‘)as f :

2、line = f.readline()     #一次读一行

3、line = f.readlines()   #按行一次性全部读出

4、for line in f:          #逐步一行一行读

5、write :文件不存在会新建文件再操作,文件存在会先清空文件再操作

6、文件的复制:for line in f1:

                                 f2.write(line)

7、非文本类型采用b模式,不需要考虑编码问题

8、游标(seek):必须在b模式下操作,seek中偏移的是字节

9、seek(偏移量,偏移位置)

偏移位置:

           0  文件开头

           1  当前位置

           2   文件末尾

六、函数:存放代码块的容器(重复利用的工具)

1、函数四部分:

     函数名:调用函数的依据

     函数体:实现功能的代码块

     参数列表:完成功能需要的条件信息

     返回值:功能完成的反馈结果

2、使用函数

     函数名:拿到函数的地址

     函数名():拿到函数的地址,并执行函数中存放的代码块(函数体)

     函数名(参数):执行函数并传入参数

     函数名():执行完毕后,会得到函数的返回值,返回值就跟普通变量一样,可以直接打印、使用、运算

3、函数的分类:

无参函数:不需要外界传参

有参函数:需要外界传参

空返回:返回None

空return :用来结束函数

4、函数的嵌套:在一个函数的内部调用另一个函数

5、实参:

位置实参:不用明确形参名的传参方式,一定按照位置给形参传值

关键字实参:必须明确形参名字与值为形参传值,可以不用按照顺序

关键字实参必须在位置实参后面

6、形参:

位置形参:可以由位置实参与关键字实参来传值

默认形参:可以由位置实参与关键字实参来传值,还可以不用传值(采用自身默认值)

可变长形参args:以元组形式接受位置形参与默认形参未接受的所有传入的位置实参,用索引来取第几个,只能由位置实参来传值

关键字形参:出现在*之后的形参,必须由关键字实参来传值,没有顺序

可变长关键字形参kwargs:用来接受没有被关键字形参接受完的关键字形参,也只能由关键字实参来传值,用字典来存放数据

 

以上是关于第二周小结的主要内容,如果未能解决你的问题,请参考以下文章

第二周小结

201671010130 2016-2017-2 《Java程序设计》第二周学习小结

第二周周六

第二周周二

第二周周日

工作进展小结