2018/1/22-2018/1/28
这周开始学习python的集合、文件、转码以及部分函数的应用。
(1)集合
集合的基本格式:list = set([1,23,68,5,9,8,745,2])
在列表加上set(),就能够将表格变为集合;以下为集合的几种用法:
#交集(intersection)
print(list_1 & list_2)
#并集(union)
print(list_1 | list_2 )
#差集(difference)
print(list_1 - list_2)
#对称差集(symmetric_difference)
print(list_1 ^ list_2)
#增加
list_1.add(999) #添加一项
list_1.update([232,998,44]) #添加多项
#删除
list_1.remove(9) #删除一项
(2)文件
文件的应用主要包括以下内容:
f = open("file_op","r",encoding="utf-8") #只读
f = open("file_op","r+",encoding="utf-8") #读写,但只能在源文件往后追加
f = open("file_op","w",encoding="utf-8") #只写,但会覆盖源文件,记得备份源文件
f = open("file_op","a",encoding="utf-8") #追加
f.close() #最后要加这句话关闭文件
f = open("file_op","rb/wb/ab",encoding="utf-8") #把文件以二进制格式读写出来,windows系统与lunix系统的文件切换打开需要用到,encoding="??"这句话是必须的,表明源文件的默认字符集。
(3)转码
由于不同的国家之间所采用的字符集都不一样,因此程序或者代码需要经过解码+编码才能重新工作,否则会出现乱码现象。
python3.X版本的默认字符集是unicode(万国码,支持部分中文), python2.X版本的默认字符集是ascii码,由于ascii码不支持中文所以想要在程序上插入中文的话,必须添加以下声明:
# -*- coding:utf-8 -*-
如果默认字符集是"utf-8","GB2312","GBK"之类的,要运用到decode()函数先解码转换成"unicode",在然后运用encode()函数编码成"ascii"或者其他国家的字符集。
在日后编程过程中如果遇到乱码的情况,可以参考这个解决思路是否合适。
(4)函数
(4)函数
函数的基本格式:
def func_(arg1,arg2,arg3): func_(2,4,6) #位置参数,能根据排位顺序确定值,
func_(arg2=4,arg1=2,arg3=6) #关键参数,根据参数名确定值,要注意的是关键参数和位置参数不能重复,关键参数必须在位置参数后面。
func_(arg1,arg2,arg3=6) #默认参数,如果函数内部不对参数作出定值则按照默认值来算。
def func_(arg1,arg2,arg3,*arg,**args):
#*args为多个参数定值,输出为元祖#**args为多个参数定值,输出为字典、列表
(5)局部变量与全局变量
局部变量如何变为全局变量,在上面一行加global(不建议用)(6)递归函数
递归函数的三大特征:#必须设置终止条件,否则只能循环999次 def calc(n): print(n) if n > 1: return calc(n/2) calc(10)
1、明确的结束条件。2、问题规模每一次递归都应该比上一次的有所减少。3、效率低下。(7)高阶函数把一个函数当作另一个函数的参数代入。(8)函数式编程不需要变量,没有副作用。python不适合使用函数式编程。