标签:
集合是一个无序的,不重复的数据组合,它的主要作用如下:
s = set([3,5,9,10]) #创建一个数值集合
t = set("Hello") #创建一个唯一字符的集合
a = t | s # t 和 s的并集
b = t & s # t 和 s的交集
c = t – s # 求差集(项在t中,但不在s中)
d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
基本操作:
t.add(‘x‘) # 添加一项
s.update([10,37,42]) # 在s中添加多项
使用remove()可以删除一项:
t.remove(‘H‘)
len(s)
set 的长度
x in s
测试 x 是否是 s 的成员
x not in s
测试 x 是否不是 s 的成员
s.issubset(t)
s <= t
测试是否 s 中的每一个元素都在 t 中
s.issuperset(t)
s >= t
测试是否 t 中的每一个元素都在 s 中
s.union(t)
s | t
返回一个新的 set 包含 s 和 t 中的每一个元素
s.intersection(t)
s & t
返回一个新的 set 包含 s 和 t 中的公共元素
s.difference(t)
s - t
返回一个新的 set 包含 s 中有但是 t 中没有的元素
s.symmetric_difference(t)
s ^ t
返回一个新的 set 包含 s 和 t 中不重复的元素
s.copy()
返回 set “s”的一个浅复制
对文件操作流程
打开文件的模式有:
"+" 表示可以同时读写某个文件
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
文件修改
f = open("yesterday2.txt","r",encoding="utf-8")
f_new = open("yesterday2_bak.txt","w",encoding="utf-8")
for line in f:
if "张三李四" in line:
line = line.replace("张三李四","zhangsanlisi")
f_new.write(line)
f.close()
f_new.close()
文件读写
f = open("yesterday.txt",‘r+‘,encoding="utf-8") #文件句柄 encoding=utf-8
#a = append 追加不能读,追加不覆盖 w覆盖
data = f.read()
print(data)
#f.write("我爱北京天安门\n")
#f.write("taiyanghong")
#print(f)
#low的循环
‘‘‘
for index,line in enumerate(f.readlines()):
if index == 9:
print("--------fengexian------")
continue
print(line.strip())
‘‘‘
#hight
for line in f:
print(line)
print(f.tell())#打印光标位置
f.seek(10)#光标重新定位
详细文章:http://www.cnblogs.com/luotianshuai/articles/5735051.html
#列表 字典 集合 类能在局部变量中更改
#字符串 整数 不行
school = "old boy"
def chang_name(name):
global school
school = "qinghua"
print("before chang",name)
name = "Alex li" #这个函数就是这个变量的作用域
print("after chang",name)
name = "alex"
chang_name(name)
print(name)
print("school:",school)
---------------------------
import time
def logger_test():
time_format = "%Y-%M-%D %X"
time_current = time.strftime(time_format)
with open(‘a.txt‘,‘a+‘) as f:
f.write("%s end action \n" %time_current)
def test1():
print("test1 starting action")
logger_test()
def test2():
print("test2 starting action")
logger_test()
def test3():
print("test3 starting action")
logger_test()
test1()
test2()
test3()
def test4(x,y,z):
print(x)
print(y)
print(z)
test4(y=2,x=1,z=6)
test4(4,5,9)
test4(4,z=3,y=8)
def test5(x,y=2):
print(x)
print(y)
test5(1,3)
#默认参数特点:调用函数的时候,默认函数非必须传递
#用途:1,默认安装值
# 2,默认值
#接收多个参数组成元组
#*args:接受N个位置参数,转换成元组
def test6(x,*args):
print(x)
print(args)
test6(1,2,3,45,66,8)
---------------------------
#吧N个关键字参数写成字典,接收key:value
def test(**kargs):
print(kargs)
print(kargs[‘name‘])
print(kargs[‘age‘])
test(name="alex",age="8",sex="F")
test(**{‘name‘:‘alex‘,‘age‘:‘8‘})
def test2(name,**kwargs):
print(name)
print(kwargs)
test2(‘alex‘,age=18,sex=‘F‘)
def test3(name,*args,**kwargs):
print(name)
print(args)
print(kwargs)
test3(‘alex‘,2,3,4,5,age=‘18‘,sex=‘M‘)
#位置参数不能放在关键字参数后
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
def calc(n):
print(n)
if int(n/2) > 0:
return calc(int(n/2))
print("---",n)
calc(10)
标签:
原文地址:http://www.cnblogs.com/liuyuchen123456/p/5763070.html