码迷,mamicode.com
首页 > 编程语言 > 详细

PYTHON学习之路_PYTHON基础(3)

时间:2016-09-02 11:41:28      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:

学习内容:

1、Python集合

2、Python文件操作

3、Python字符编码

4、Python函数介绍

 

一、Python集合

1)集合的创建:

list_1 = [1,3,5,7,26,8,65]
list_1=set(list_1)

list_2 =set([2,4,5,6,7,9,65])

print (list_1,list_2)

2)集合间的操作:

print ("交集:", list_1.intersection(list_2)) #交集
print("并集",list_1.union(list_2)) #并集
print("差集:",list_1.difference(list_2)) #差集 in list_1 but in list_2
print (list_2.difference(list_1))
list_3 = set([5,7])
print (list_3.issubset(list_2)) #判断是否是子集
print(list_2.issuperset(list_3)) ##判断是否是父集

print(list_1.symmetric_difference(list_2))#对称差集 , 取list_1和list_2对方都没有的取出来,即将都有的去掉。
list_4 = set([98,97])
print (list_1.isdisjoint(list_4)) #交集为空,返回True ;否则返回False
list_1.add(999)  #添加一项
list_1.update([888,777,666])#添加多项
#list_1.remove(‘H‘)#删除
print("HHHH:",list_1.discard(‘o‘)) #删除字,若有删除,若没有什么也不做
#x in a#测试x 是否是 a 的成员
#x not in a #测试x是否不在 a 的成员

二、Python文件操作

1)文件的写(w):

新建文件并将内容写进该文件,若有文件则覆盖掉。

f=open(‘yesterday2‘,‘w‘,encoding=‘utf-8‘)
f.write("wo ye bu zhi dao ni zai shuo shen me!")

2)文件的读(r):

f=open(‘yesterday2‘,‘r‘,encoding=‘utf-8‘)
print(f.read()) #全部读出
print (f.readline()) #只读一行
print (f.readlines()) #读出剩余的行

2)文件的追加(a):

f=open(‘yesterday2‘,‘a‘,encoding="utf-8") #文件句柄,将文件的内容最佳到文件的后面

3)文件的遍历:

#要把内容全部读出来,浪费内存,慢
for index,line in enumerate(f.readlines()):
if index ==9:
priint ("---------------我是分割线---------------")
contnue
print (line.strip())
#高校的做法
count=0
for line in f:
if count ==9:
print("-------------分割线------------")
print (line.strip())
else:
print (line.strip())
count+=1

4)文件的修改:

f = open(‘yesterday2‘,‘r‘,encoding=‘utf-8‘)
f_bak = open(‘yesterday2_bak‘,‘w‘,encoding=‘utf-8‘)
for line in f:
if "当我年少轻狂" in line:
line=line.replace(‘当我年少轻狂‘,‘年少轻狂‘)
f_bak.write(line)
f.close()
f_bak.close()

5)文件的其他操作:

print(f.encoding)
f.seek(0) #处理光标的位置
print (f.fileno()) #系统处理文件的编号
print(f.flush()) #等到缓存满了 一起刷到内存中
print(f.buffer) #刷新缓存
f.truncate(20)  #不写就是清空 ,从头开始截断
f=open(‘yesterday‘,‘r+‘,encoding="utf-8") #可以先读后写 ------读写模式
f=open(‘yesterday‘,‘w+‘,encoding="utf-8") #可以先写后读-------写读模式
f=open(‘yesterday‘,‘a+‘,encoding="utf-8") #追加读写
f=open(‘yesterday‘,‘rb‘) #读取二进制文件 在socked的网络传输过程中只能用二进制格式;下载文件二进制
f=open(‘yesterday‘,‘wb‘)   #二进制的写
f.write("hello ,binary\n".encode())   # bytes 转成二进制格式

三、Python字符编码

unicode为万国码,所有其他字符编码间的转换都要经过unicode,  "string".decode("one").encode("another"):

文件先解码(decode)成unicode,并告诉unicode我当前的编码格式,  之后再编码(encode)为即将使用改文件的程序的编码格式 

 技术分享

 

 

四、Python函数介绍

 1)函数的定义:

def test1():
print("the funtion ")
def test1(x):  #带参数
"the funtion "
x +=1
return x
def sum(a,b,*args): #*args接收N个位置参数,转换成元组
print(a)
print(b)
print(args)
print(sum(100,1,1)
def sun1(**kwargs): #**kwargs接收N个关键字参数,转换成字典
print (kwargs)
print (kwargs[‘name‘]) 

 2)函数的递归:

#递归必须要有一个明确的结束条件
#问题的规模较上一次要小
#执行效率低,递归会导致栈溢出 函数调用通过计算机的栈
# def calc(m):
# print (m)
# if m<100:
# return calc(m+1)
# else:
# pass

3)高阶函数:

#变量可以指向函数,函数参数可以接受变量,一个函数也可以接受另一个函数做为参数,这种函数就叫做高阶函数
def add(a,b,f):
return f(a)+f(b)

res=add(3,-6,abs)
print(res)

 

PYTHON学习之路_PYTHON基础(3)

标签:

原文地址:http://www.cnblogs.com/sunfu/p/5832573.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!