1.集合:集合无序,不重复,可以用set(列表) 方法将列表转换为集合,实现去重

    对比列表:集合是{}包围,列表是[]包围

    对比字典:集合是没有key的,字典是有key的

set_1 = {1, 2, 3}
set_2 = {1, 2, 4, 5, 7}
set_3 = {1, 2, 3, 4, 5, 6, 7, 8}
set_4 = {4, 5, 6} # set_1 跟 set_2 的交集
print(set_1.intersection(set_2))
print(set_1 & set_2) # set_1 跟 set_2 的并集
print(set_1.union(set_2))
print(set_1 | set_2) # set_1 跟 set_2 的差集:取出set_1有的而set_2没有的集合 = set_1 - 两者交集
print(set_1.difference(set_2))
print(set_1 - set_2) # set_1 跟 set_2 的对称差集:取出set_1跟set_2互相没有的集合 = 两者并集 - 两者交集
print(set_1.symmetric_difference(set_2))
print(set_1 ^ set_2) # 判断set_1 是否为 set_3的子集
print(set_1.issubset(set_3)) # 判断set_3 是否为 set_1的父集
print(set_3.issuperset(set_1)) # 判断set_1 跟set_4 是否没有交叉数据,即无交集返回True,有交集返回Flase
print(set_1.isdisjoint(set_4)) # set添加一个
set_1.add(999)
print(set_1) # set添加多个
set_1.update([777, 888, "aa", "bb"])
print(set_1) # set删除方法1,key不存在报错
set_1.remove("aa")
print(set_1) # set删除方法2,key不存在也不报错
set_1.discard("ddd")
print(set_1) # 判断字符是否在集合(字符串,列表,字典)里面
print("bb" in set_1) # 判断字符是否不在集合(字符串,列表,字典)里面
print("cc" not in set_1)

2.文件操作的几种方式

  打开二进制文件只需要后面加b字符,如rb, rb+, wb, wb+, ab, ab+,二进制文件一般用于网络传输,视频文件之类。

# tell(): 返回当前文件指针的位置
# seek(): 回到指定指针位置 # 读模式,找不到文件报错,不可写入
file = open("测试数据3", mode="r", encoding="utf-8") # eg1 read()里面可带整型参数,表示读取个字符个数,不写表示全读
data = file.read()
print(data)
file.close() # eg2 读一行,清除一行,保证内存只有一行,(Python内部优化)
for data in file:
print(data)
file.close() # eg3 一次以列表形式全部读取到内存上,小文件可以这样做,大文件有可能撑爆内存
for data in file:
print(data)
file.close() # 写模式,找不到文件则创建,找到则覆盖,相当于清空内容
file = open("测试数据", mode="w", encoding="utf-8")
file.write("END END END")
file.close() # 追加模式,找不到文件则创建,找到同名文件不会覆盖,同时可以追加写入
file = open("测试数据55", mode="a", encoding="utf-8")
file.write("abc")
file.close() # 读写模式,找不到文件则创建,找到同名文件不会覆盖,同时可以追加写入
file = open("测试数据2", "a+", encoding="utf-8")
print(file.readline())
file.write("end\n")
file.close() # 写读模式,找不到文件则创建,找到同名文件则覆盖,同时可以追加写入
file = open("测试数据", "w+", encoding="utf-8")
file.write("end1\n")
file.write("end2\n")
file.seek(2)
file.write("aaaaaa\n")
print(file.readline())
file.close() # 追加读写模式,找不到文件报错,找到同名文件则覆盖,覆盖写入
file = open("测试数据2", "r+", encoding="utf-8")
file.write("abc\n")
file.write("ddd\n")
file.write("aaa\n")
file.close()

  with语法:

# with 打开文件,可以自动关闭,防止忘记关闭,同时可以打开多个
with open("测试数据", "r", encoding="utf-8") as file:
for line in file:
print(line) # 等价于上面
file = open("测试数据", "r", encoding="utf-8")
for line in file:
print(line)
file.close() # with 打开多个文件
with open("测试数据", "r", encoding="utf-8") as file, \
open("测试数据2", "r", encoding="utf-8") as file2:
for line in file:
print(line)
for line in file2:
print(line)

3.函数

  ① 声明一个函数: def 函数名(函数参数):

            # 写函数操作

def fun_name():
print("this is a fun")

  ② 函数参数: 

    在 python 中,类型属于对象,变量是没有类型的:

a=[1,2,3]

a="Runoob"

    以上代码中,[1,2,3] 是 List 类型,"Runoob" 是 String 类型,而变量 a,变量a,变量a,它就是一个变量,变量没有类型,变量只能指向一个对象的引用(一个指针),该指针可以指向 strings, tuples, numbers,  list, dict。

    然而,Python中参数分为可更改对象(mutable)不可以更改对象(ummutable)

    strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象,所以将 strings,tuples,numbers作为函数参数传过去的时候,操作这个参数只是操作了参数的副本,对原本值没有影响,但如果将 list,dict作为参数传过去,再操作这个参数,就会影响原本的值了。

  

  ③参数类型,不重复写,引用此文

  

   ④注意的点, *args,**kwargs:主要用于定义函数的可变参数。

    *args:发送一个非键值对的可变数量的参数列表给函数

    **kwargs:发送一个键值对的可变数量的参数列表给函数

    如果要同时使用*args和**kwargs时,*args必须写在**kwargs之前,否则报错

day3 -- 集合、文件操作、函数的更多相关文章

  1. 跟着ALEX 学python day3集合 文件操作 函数和函数式编程 内置函数

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  一. 集合 集合是一个无序的,不重复的数据组合,主要作用如下 1.去重 把一个列表变成集合 ,就自动去重 ...

  2. Delphi文件操作函数

    文件是同一种类型元素的有序集合,是内存与外设之间传输数据的渠道.文件的本质是一个数据流,所有的文件实际上是一串二进制序列.文件管理包括:1.文件操作.2.目录操作.3.驱动器操作.三部分. 1.常见文 ...

  3. 总结文件操作函数(二)-C语言

    格式化读写: #include <stdio.h> int printf(const char *format, ...);                   //相当于fprintf( ...

  4. PHP常用的文件操作函数集锦

    以下是个人总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来. 一 .解析路径: 1 获得文件名:basename();给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件 ...

  5. C语言样式的文件操作函数

    使用C语言样式的文件操作函数,需要包含stdio.h头文件. 1.打开文件的函数: //oflag的取值为“w”或“r”,分别表示以写或读的方式打开 FILE* fd = fopen(filename ...

  6. Unix无缓冲文件操作函数、文件信息查询

    问题描述:         Unix无缓冲文件操作函数.文件信息查询 问题解决:        struct stat 结构体信息: 具体代码: 具体源文件:

  7. C语言文件操作函数

    C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * str ...

  8. 总结文件操作函数-文件夹(三)-C语言

    获取.改变当前文件夹: 原型为: #include <unistd.h>   //头文件 char *getcwd(char *buf, size_t size); //获取当前文件夹.相 ...

  9. PHP 面试时常考的文件操作函数

    前两天面试的时候,笔试要求写一些文件操作类函数,什么遍历目录获取文件扩展名之类的,回来后大致总结了一下PHP中一些常见的文件操作函数分享一下. 1.使用递归删除目录及目录下所有文件的方法. funct ...

  10. 【阅读笔记】《C程序员 从校园到职场》第六章 常用文件操作函数 (Part 1)

    参考链接:https://blog.csdn.net/zhouzhaoxiong1227/article/details/24926023 让你提前认识软件开发(18):C语言中常用的文件操作函数总结 ...

随机推荐

  1. django 项目中使用markdown编辑器

     第一步: 修改models.py文件下要显示字段的类型为TextField 第二步:运行命令: python manage.py makemigrations 和 python manage.py ...

  2. 微信小程序组建通信

    子组件传递父组件需要用到triggerEvent方法,当子组件(自定义组件)点击button的时候调用triggerEvent方法传递一些数据,首先第一个属性为自定义名称(myevent)对应父组件( ...

  3. Windows 10 如何在当前位置打开 CMD 命令窗口?

    方法一 Win + R 键召唤出运行窗口,然后输入 "CMD" 打开命令提示符. 使用 cd 命令更改当前命令提示符的工作环境. 注释 cd/ - 退到当前所在盘符 cd.. - ...

  4. Java 简单操作hdfs API

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6632047118376780295/ 启动Hadoop出现问题:datanode的clusterID 和 name ...

  5. Git 基础指令

    Git 基础指令 Git 基础指令 获取 Git 仓库 在已存在目录中初始化仓库 克隆现有的仓库 记录仓库与仓库的更新 仓库的记录 检查当前文件状态 三部曲 跟踪新文件 提交更新 移除文件 推送到远程 ...

  6. SYCOJ#1077、01字符串

    题目-01字符串 (shiyancang.cn) 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int main() 5 { 6 ...

  7. vmware快速扩容虚拟磁盘

    在使用vmware进行虚拟化的时候,会遇到虚拟磁盘不够用的情况,以前的办法都是使用lvm进行管理扩容,目前在linux上可以实现快速扩容了,具体方法如下: 该方法参考阿里云在线扩容文档:文档地址 其中 ...

  8. pytest文档5-参数化parametrize

    pytest.mark.parametrize装饰器可以实现测试用例参数化. parametrizing 1.这里是一个实现检查一定的输入和期望输出测试功能的典型例子 # content of tes ...

  9. Go 变量及基本数据类型1

    #### Go 变量及基本数据类型(一)今天主要学习一下Go 中的变量及基本数据类型: 如何申明,使用变量,以及基本数据类型的介绍和使用细节; ##### 变量的介绍1. 变量相当于内存中一个数据存储 ...

  10. 关于new Date总结及注意事项

    记录关于 new Date() 的一些常用方法及问题 new Date()基本方法: 创建一个日期对象的几种方法 注意: 由于浏览器差异和不一致性,强烈建议不要使用Date构造函数(和Date.par ...