1、集合定义

集合天生能去重,且与字典一样,无序。集合用大括号括起来,里面的元素之间用逗号分隔,要跟字典区分开。

集合定义方法:s=set() #定义一个空集合

s={'1','a','b','c','d','e','f'}#直接定义一个集合

s=set('123dfdreerewrewr')#将一个字符串转化为集合

s=set(['a','b','c','d'])#将一个list转化为集合

2、交集、并集、差集

取交集:& 或者intersection

print(s1 & s2) #取交集
print(s1.intersection(s2)) #取交集

取并集:| 或者union

print(s1|s2)

print(s1.union(s2))

取差集

print(s1-s2)#取差集,s1中去掉s2重复的部分

print(s1.difference(s2))#

对称差集

print(s1^s2)#去掉两个集合的交集,剩下的

print(a.symmetric_difference(b))

3、集合操作:增删改查

s.add('ss') #加元素
s.pop()#随机删一个
s.remove('ss')#指定删除哪个
s.update({1,2,3}) #把另外一个集合加进去
s.isdisjoint(s5)#如果没有交集的话返回true

4、文件操作

1、文件打开open

f=open(‘文件名’,''打开方式,'字符编码')

例:f = open('names','a+',encoding='utf-8'),python默认是gbk编码,open打开文件,如果不写打开方式,默认是r只读方式

文件打开有三种模式:读模式r,写模式w,追加模式a,另还有三种附加模式,加上"+" 表示可以同时读写某个文件

r,只读模式(默认)。

w,只写模式。不可读;不存在则创建;存在则删除内容;

 a,追加模式。不可读; 不存在则创建;存在则只追加内容;
 r+,可读、可写;可追加,如果打开的文件不存在的话,会报错

 w+,写读模式,不存在则创建。,已经存在的文件内容会被清空,可以读到已经写的文件内容
 a+,追加读写模式,不存在则创建;存在则只追加内容;

#只要沾上了r,文件不存在的就会报错
#只要沾上了w,都会清空原来的内容

2、读取文件

f.read()#读文件,会将文件内容一次性全部读取出来

f.readline()#逐行读取,每次读一行,读取后文件句柄自动移到下一行,每次读取的内容都是一个字符串,如果有换行符,可以用字符串的strip方法;strip('\n')

f.readlines()#将文件所有内容按行放到list中,每个元素后都会自动加上\n.例:['1212sf\n', 'sdfdsffdfdfd\n', '33434312121212121223']

f.seek(0)#句柄移动到文件最开始0位置,括号里填几,句柄就移动到第几个字符

f.tell()#记录指针的位置,可以和seek联合使用

比如:操作一会文件后用point=f.tell  保存文件当前位置,然后下次再次才做,可以用f.seek(point)将指针定位到上一次的位置,接着上一次的位置继续

注意:seek()可以移动指针,但是只限于读管用,如果文件是以a+的模式打开的,即便seek(0)指针移动到最开始位置,在写文件内容时,还是会在最后面写
例子:
# 文件指针:
# 用来记录文件到底读到哪里了
f = open('name','a+',encoding='utf-8')# a模式的文件指针是在末尾的
f.write('呵呵呵')#如果写的内容要换行显示,可以加上'\n' :f.write('dfdf'+'\n'),读取文件时去掉\n可以用字符串的strip('\n')
f.seek(0) #移动文件指针到最前面
f.write('seek操作后,写的内容') #移动完文件指针之后,是只能读,写的时候还是在文件末尾写,此时也就是指针自动又到了末尾
print(f.read())#这时是读不出来内容的,因为指针在最后。如果没有上一行的f.write().则会读取文件的完整内容


循环读取文件,也可用for line in file,此时返回的是file的每一行,格式是字符串。可对line用字符串的相关函数继续操作。读完一行会释放一行的内存。

文件读写判断:

f.readable()#判断文件是否可读

  fr.writable()#判断文件是否可写

3、关闭文件

f.close() 每次用open打开文件后,文件是不会自动关闭的,需要手动close下。这样有时候会忘记关闭,占内存。

with open('geci','a+') as f:#打开文件,文件不用时自动关闭

4、写文件

f.write();#往文件写内容

f.writelines(['111','222'])#往文件写多个内容,比如list,元祖,集合等

5、random模块

使用random模块必须先引入import random

print(random.randint(1,9999))#获取随机的1-9999之间的数字

random.shuffle(list)#打乱list的顺序,只能用于list

python基础三(集合、文件)的更多相关文章

  1. Python基础(三)——集合、有序 无序列表、函数、文件操作

    1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...

  2. Python基础-week03 集合 , 文件操作 和 函数详解

    一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...

  3. 【笔记】Python基础三:文件

    一,文件操作 (一),文件处理流程 1,打开文件,获得文件句柄(open函数提供)并赋值 2,通过句柄对文件进行操作 3,关闭句柄 f = open('陈粒',encoding='utf-8')#op ...

  4. python基础dict,集合,文件

    字典是一种key:value的数据类型dict1{ 'stud1':'孙礼昭', 'stud2':'slz', 'stud3':'sunlizhao',}dict是无序的,key是唯一的  天生去重增 ...

  5. python基础数据类型--集合(set)

    python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...

  6. Python 基础 三 反射

    Python 基础 三 反射 今天我们先介绍一下反射这个概念,啥是反射?反射就是自己检测自己.在我们Python的面向对象中的反射是啥意思呢?就是通过字符串的形式操作对象相关的属性.python中的一 ...

  7. 第三章:Python基础の函数和文件操作实战

    本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...

  8. Python 基础三 文件 函数

    今天回顾一下之前学的文件操作相关知识点,对于文件的操作,主要有一下几部分构成: 一.文件的基础知识 1.文件操作的基本流程 文件操作其实可以分成三大部分: 1.打开文件,获取文件句柄并赋予一个变量 2 ...

  9. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  10. python基础——元组、文件及其它

    Python核心数据类型--元组 元组对象(tuple)是序列,它具有不可改变性,和字符串类似.从语法上讲,它们便在圆括号中,它们支持任意类型.任意嵌套及常见的序列操作. 任意对象的有序集合:与字符串 ...

随机推荐

  1. 003.Nginx配置解析

    一 Nginx配置文件 1.1 Nginx主配置 Nginx主配置文件/etc/nginx/nginx.conf是一个纯文本类型的文件,整个配置文件是以区块的形式组织,通常每一个区块以一对大括号{}来 ...

  2. C#设计模式之18-备忘录模式

    备忘录模式(Memento Pattern) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/421 访问. 备忘录模式属 ...

  3. C#LeetCode刷题之#367-有效的完全平方数(Valid Perfect Square)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3869 访问. 给定一个正整数 num,编写一个函数,如果 num ...

  4. ThinkPHP 6.0 基础教程 - 安装

    ThinkPHP6.0 的环境: PHP >= 7.1.0 我本地环境: Win10 PhpStudy 安装 PhpStudy 如果你已经安装 PhpStudy 或其他环境,请忽略这里 安装方法 ...

  5. C# IObservable与IObserver观察者模式

    C#中提供了IObservable<T>接口和IObserver<T>接口来实现观察者模式,IObservable<T>相当于Subject(主题)接口,下面我们就 ...

  6. 第二篇 Scrum冲刺博客

    一.会议图片 二.项目进展 成员 完成情况 今日任务 冯荣新 搜索框,首页轮播图,分类导航 商品列表,商品详情轮播图 陈泽佳 背景展示,选择并显示图片 历史足迹,静态页面 徐伟浩 登录权限获取 商品信 ...

  7. Locust性能测试2--登录示例

    无论是做接口自动化还是做压测,解决了登录就离成功进步了一大半,下面做个简单的登录案例,后续再说下数据依赖及参数化等问题 1. 登录 登录示例 from locust import HttpUser, ...

  8. 2020重新出发,MySql基础,MySql视图&索引&存储过程&触发器

    @ 目录 视图是什么 视图的优点 1) 定制用户数据,聚焦特定的数据 2) 简化数据操作 3) 提高数据的安全性 4) 共享所需数据 5) 更改数据格式 6) 重用 SQL 语句 MySQL创建视图 ...

  9. 详解 `HTTP` 系列之一

    前言 本文介绍的是HTTP的基础知识,包括HTTP的由来.HTTP的报文信息.状态码.HTTP三个版本的对比等.希望这篇简短的文章能对大家认识HTTP协议提供帮助. HTTP的前世今生 HTTP 由来 ...

  10. oracle再回首

    第一章 Oracle 数据库的使用   一. 数据库相关概念   1 什么是数据库 所谓的数据库其实就是数据的集合.用户可以对集合中的数据进行新增.查询.更新. 删除等操作.数据库是以一定方式储存在一 ...