集合、文件、转码、函数的学习(week3)

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)函数
函数的基本格式:
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不适合使用函数式编程。












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值