4000 python学习之路-基础篇-day02
2017-08-02 20:43
204 查看
大纲:
1.集合操作
2.文件操作
3.分支语句
一.集合操作
概念:我们把一些元素的总体叫做集合
特点:明确性,无序性,互异性
与列表和元组不同,集合是无序的,也无法通过数字进行索引。
1.集合的创建
集合的特点:
1)集合一个非常重要的功能就是去重
2)创建集合的对象必须可hash,字符串,列表,元祖,字典等
3)集合是无序的
2.集合的相关操作
以下操作结果的基准都是a,b,c的原始赋值
二.文件的基本操作
1.打开文件
1)f1的open方法打开文件有三个参数,第一个参数指打开的文件的名字,第二个参数指以什么方式打开这个文件,第三个参数是指以UTF8编码方式转换数组为字串
2)文件的打开方式:
r 只读,r+读写,不创建
w新建只写,不能读,w+新建读写,二者都会将文件内容清零
r+:可读可写,若文件不存在,报错;w+: 可读可写,若文件不存在,创建
a:附加写方式打开,不可读;a+: 附加读写方式打开,会在文件的末尾接着写
rb,wb:都是以二进制形式打开写入,二进制文件(例如:视频文件,网络传输也是使用二进制形式)
以 ‘U’ 标志打开文件, 所有的行分割符通过 Python 的输入方法(例#如 read*() ),返回时都会被替换为换行符\n
3)注意字符编码的转换,在后面会详细的讲到
2.读取文件
利用read()和readlines()方法我们只能一次性读取出整个文件(这里补充一下,文件的读取是一次性的,读完就不可再读)
1)要想读取我们想要的行数
2)只取出第六行的数据并加以修改
3.打印进度条
flush()用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入
4.为了避免忘记关闭文件,我们可以使用with的方式打开文件
5.关闭文件 f.close()
6.显示当前光标的位置f.tell(),默认在0,一个英文字符占1个字符,一个中文汉字占3个字符
7.调整光标的位置f.seek(n)
三.分支语句
1.三元运算
result=值1 if 条件 else 值2
2.if..else语句
输入用户名和密码,通过判断是否正确
3.while语句
4.for语句
5.break和continue区别
//break是结束整个循环体,continue是结束单次循环
比方说:
while(x++ < 10)
{
if(x == 3)
{
break;
}
printf(“%d\r\n”, x);
}
结果是输出 1 2 就退出了整个while循环
但是如果使用continue
while(x++ < 10)
{
if(x == 3)
{
continue;
}
printf(“%d\r\n”, x);
}
结果是:1 2 4 5 6 7 8 9 10 可见他仅仅是不输出3,因为他结束了本次循环
1.集合操作
2.文件操作
3.分支语句
一.集合操作
概念:我们把一些元素的总体叫做集合
特点:明确性,无序性,互异性
与列表和元组不同,集合是无序的,也无法通过数字进行索引。
#列表的创建 a=[1,2,3,4] b=list([1,2,3,4]) print(type(b)) #元祖的创建 c=(1,2,3) d=tuple([1,2,3]) print(type(d)) #字典的创建 e={1:2,3:4} f=dict({1:2,3:4}) print(type(f))
1.集合的创建
list0="hello"#字符串 b=set(list0)#创建->集合 print(b) #{'h', 'e', 'l', 'o'} list1=[1,5,8,9,7,6,6]#列表 a=set(list1)#创建-->集合 print(a) #{1, 5, 6, 7, 8, 9}
集合的特点:
1)集合一个非常重要的功能就是去重
2)创建集合的对象必须可hash,字符串,列表,元祖,字典等
3)集合是无序的
2.集合的相关操作
以下操作结果的基准都是a,b,c的原始赋值
list1=[1,5,8,9,7,6,6] a=set(list1) print(a)#{1, 5, 6, 7, 8, 9} list0="hello" b=set(list0) print(b)#{'h', 'e', 'l', 'o'} list2=[2,0,66,8,7,9] c=set(list2) print(c)#{2,0,66,8,7,9} print(a.intersection(c))#1.交集 #a&b {8, 9, 7} print(a.union(c))#2.并集 #a|b {0, 1, 2, 5, 6, 7, 8, 9, 66} print(a.difference(c))#3.差集 #a-b {1, 5, 6} print(a.issubset(c))#4.子集 False print(a.issuperset(c))#5.父集 False print(a.symmetric_difference(c))#对称差集 集合A与集合B的对称差集定义为集合A与集合B中所有不属于A∩B的元素的集合,记为A△B {0, 1, 2, 5, 6, 66} print(a.isdisjoint(c)) #判断有没有交集,没有是TRUE,有是FALSE False a.add(99) print(a) #添加{1, 99, 5, 6, 7, 8, 9} a.remove(5) print(a) #删除 {1, 6, 7, 8, 9} print(len(b)) #求集合长度 4 c.pop() print(c) #随机删除一个 b.discard("e") print(b) #删除 {'h', 'l', 'o'} print("l" in b ) #判断是否是成员 True print("l" not in b ) #判断是否是成员 False
二.文件的基本操作
1.打开文件
#1.打开文件 f1=open("凉凉","r",encoding="utf-8")
1)f1的open方法打开文件有三个参数,第一个参数指打开的文件的名字,第二个参数指以什么方式打开这个文件,第三个参数是指以UTF8编码方式转换数组为字串
2)文件的打开方式:
r 只读,r+读写,不创建
w新建只写,不能读,w+新建读写,二者都会将文件内容清零
r+:可读可写,若文件不存在,报错;w+: 可读可写,若文件不存在,创建
a:附加写方式打开,不可读;a+: 附加读写方式打开,会在文件的末尾接着写
rb,wb:都是以二进制形式打开写入,二进制文件(例如:视频文件,网络传输也是使用二进制形式)
以 ‘U’ 标志打开文件, 所有的行分割符通过 Python 的输入方法(例#如 read*() ),返回时都会被替换为换行符\n
3)注意字符编码的转换,在后面会详细的讲到
2.读取文件
#1.打开并读取文件,此处的读取文件是读取整个文件,read(n)-读取文件的n个字符 f2=open("凉凉",encoding="utf-8").read() print(f2) #2.以列表的形式读取文件 f1=open("凉凉","r",encoding="utf-8") #readlines()-逐行读取出整个文件的内容,以列表的形式返回结果 print(f1.readlines()) #3.循环文件-----最优 for i in f1: print(i.strip())
利用read()和readlines()方法我们只能一次性读取出整个文件(这里补充一下,文件的读取是一次性的,读完就不可再读)
1)要想读取我们想要的行数
#读取前5行的内容 f1=open("凉凉","r",encoding="utf-8") #利用循环遍历一行一行的读取内容,readline()-逐行读取 for i in range(5): print(f1.readline().strip()) #在第十行插入我想要的新内容 f1=open("凉凉","r",encoding="utf-8") for index,item in enumerate(f1.readlines()): #利用enumerate取得列表的下标和元素 if index==10: print("--------------------") print(item.strip())
2)只取出第六行的数据并加以修改
f=open("凉凉","r",encoding="utf8") print(f.readlines()[5].strip()+"i like it") #结果:前世你怎舍下i like it
3.打印进度条
flush()用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入
import sys,time for i in range(50): sys.stdout.write("#")#stdout是标准输出 time.sleep(1) sys.stdout.flush()#刷新
4.为了避免忘记关闭文件,我们可以使用with的方式打开文件
with open("凉凉","r",encoding="utf-8") as f:
5.关闭文件 f.close()
6.显示当前光标的位置f.tell(),默认在0,一个英文字符占1个字符,一个中文汉字占3个字符
7.调整光标的位置f.seek(n)
三.分支语句
1.三元运算
result=值1 if 条件 else 值2
2.if..else语句
输入用户名和密码,通过判断是否正确
age=int(input("age:")) if age<30: print("i am young") elif age<50: print("oh i am become old..") else: print("i am old")
3.while语句
count=0 while count<10: print("happy") count+=1 #white TRUE:是无限循环的意思
4.for语句
for i in range(10): print("loop:", i )
5.break和continue区别
//break是结束整个循环体,continue是结束单次循环
比方说:
while(x++ < 10)
{
if(x == 3)
{
break;
}
printf(“%d\r\n”, x);
}
结果是输出 1 2 就退出了整个while循环
但是如果使用continue
while(x++ < 10)
{
if(x == 3)
{
continue;
}
printf(“%d\r\n”, x);
}
结果是:1 2 4 5 6 7 8 9 10 可见他仅仅是不输出3,因为他结束了本次循环
相关文章推荐
- D 4000 ivein_day02_shell总结
- Python学习之路(基础篇)---列表1
- 《鸟哥的linux私房菜 基础篇》第八章读书笔记(下)
- java_day02_函数
- 机器学习的大局 4000 :用神经网络和TensorFlow分类文本
- 《鸟哥的linux私房菜 基础篇》第十一章读书笔记(部分)
- day02_12/12/2016_bean的实例化之普通工厂方式
- SQL Server调优系列基础篇
- SVN服务器端环境 4000 搭建
- 4000 Python:Ubuntu安装numpy,scipy,matplotlib
- day02_CSS
- 【Kernel学习】基础篇——01一些标准宏定义和文件include关系
- 使用 MEAN 进行全栈开发基础篇——3、接着前面玩儿查询
- Python_day02
- pthread 基础篇 创建线程
- storm基础篇(1)
- 4000 (重点)最短路径
- 按层次 4000 /广度遍历二叉树
- RecyclerView 的用法探秘 (基础篇)
- Bash 脚本:正则表达式基础篇