1. 集合常用操作
    # 一、关系运算
    firends1 = {"zero", "kevin", "jason", "egon"}
    firends2 = {"jy", "ricky", "jason", "egon"}
  2.  
  3. # 1、取二者的共同好友:交集
    # res = firends1 & firends2
    # print(res)
  4.  
  5. # 2、取二者所有的好有有哪些:并集
    # res=firends1 | firends2
    # print(res)
  6.  
  7. # 3、取第一个人独有的好友:差集
    # res=firends1 - firends2
    # print(res)
  8.  
  9. # res=firends2 - firends1
    # print(res)
  10.  
  11. # 4、求两个用户独有的好友们(即去掉共有的好友):对称差集/交叉补集
    # res1=firends1 - firends2
    # res2=firends2 - firends1
    # print(res1 | res2)
  12.  
  13. # print(firends1 ^ firends2)
  14.  
  15. # 5、父子集:一个集合包含另外一个集合,他们才有父子集的关系
    # s1 = {1, 2, 3}
    # s2 = {3, 4, 5}
  16.  
  17. # print(s1 > s2) # False
    # print(s1 < s2) # False
    # print(s1 == s2) # False
  18.  
  19. # 集合1>集合2 结果True时,意味着集合1内的元素完全包含了集合2
    # s1={1,2,3}
    # s2={1,2}
    #
    # print(s1 > s2) # 结果True,代表s1是s2的父集
    # print(s2 < s1) # 结果True,代表s2是s1的子集
  20.  
  21. # s1 = {1, 2, 3}
    # s2 = {3, 2, 1}
    # print(s1 == s2)
  22.  
  23. # 二、常用操作与内置方法
    # s1 = {3, 2, 1}
    # for item in s1:
    # print(item)
  24.  
  25. s1 = {3333, "aaa", 222, "bbb", 111}
    # 1、s1.update()
    # print(id(s1))
    # s1.update({3,4,5})
    # print(s1)
    # print(id(s1))
  26.  
  27. # 2、s1.clear()
  28.  
  29. # 3、s1.pop()
    # res=s1.pop() # 随机删除,把蛋取走
    # print(s1)
    # print(res)
  30.  
  31. # 4、s1.remove() # 只是删除,捏碎了
    # s1 = {3333, "aaa", 222, "bbb", 111}
    # res = s1.remove(3333)
    # print(s1)
    # print(res)
  32.  
  33. # 5、s1.discard() # 与s1.remove一样都是指定元素删除,不一样的是???
    # s1 = {3333, "aaa", 222, "bbb", 111}
    # res=s1.discard(3333)
    # print(s1)
    # print(res)
  34.  
  35. # 不一样的地方:当删除的元素不存在时,s1.discard不会报错
    # s1.discard(555555)
    # s1.remove(555555) # 指定元素不存在则报错
  36.  
  37. # s1.add()
    # s1 = {3333, "aaa", 222, "bbb", 111}
    # s1.add(555555555)
    # print(s1)
  38.  
  39. # s1.isdisjoint(s2) # 如果s1与s2没有共同的元素则返回True
    # s1={1,2,3}
    # s2={4,5}
    # print(s1.isdisjoint(s2))
  40.  
  41. # 总结集合set:
    # 存多个值
    # 无序
    # set集合是可变类型
  42.  
  43. 文件操作
  1. '''
    1、什么是文件
    文件是操作系统提供给用户/应用程序操作硬盘的一个虚拟单位/功能
  2.  
  3. 应用程序/用户对文件的读写操作都是在向操作系统发起系统调用
    操作系统接收到调用请求后,会将该请求转换成具体的硬盘操作
  4.  
  5. 2、为何要用文件
    应用程序操作文件为了将内存中的数据永久保存到硬盘中去
  6.  
  7. 3、如何操作文件
    '''
  8.  
  9. # 一:文件的基本操作
    # 文件的路径:找到文件的地址
    # 绝对路径:r'C:\a\b\c\new.txt'
    # 相对路径:相对于当前程序所在文件夹往后找,r"aaa/a.txt"
  10.  
  11. # f = open(r"aaa/a.txt", mode='rt', encoding='utf-8')
    #
    # data=f.read()
    # print(data)
    #
    # f.close() # 释放操作系统资源
  12.  
  13. # 二:文件的模式
    # 2.1 控制文件读写内容的模式(不能单独使用,必须与rwa结合使用)
    # t:(默认的)
    # 1、读写内容都是以字符串为单位
    # 2、只适用于文本文件
    # 3、必须指定encoding参数
  14.  
  15. # b:
    # 1、读写内容都是以bytes为单位
    # 2、适用于所有文件
    # 3、一定不能指定encoding参数
  16.  
  17. # 2.2 控制文件读写操作的模式
    # r:(默认的)
    # 1、只读模式
    # 2、当文件不存在时则报错
    # 3、当文件存在时文件指针跳到文件开头
    # f = open('b.txt', mode='rt', encoding='utf-8')
    # data = f.read()
    # print(data)
    # f.close()
  18.  
  19. # w:
    # 1、只写模式
    # 2、当文件不存在会创建一个空文件,然后文件指针跳到文件开头
    # 3、当文件存在时文件内容会被清空,然后文件指针跳到文件开头
    f = open('c.txt', mode='wt', encoding='utf-8')
    # name = input('>>: ')
    # f.write(name)
    # f.write("egon\n")
    # f.write("张三\n")
    # f.write("李四\n")
  20.  
  21. # f.write("王五\n")
    # f.write("赵铁蛋\n")
    # f.write("张全蛋\n")
    f.close()
  22.  
  23. # a:
    # 1、只追加模式
    # 2、当文件不存在会创建一个空文件,然后文件指针跳到文件末尾
    # 3、当文件存在时文件内容不会被清空,文件指针跳到文件末尾
    # f = open('d.txt',mode='at',encoding='utf-8')
    # f.write('aaa\n')
    # f.write('bbb\n')
    # f.write('ccc\n')
    # f.close()
  24.  
  25. # w与a模式的相同点
    # 在文件打开了没有被关闭的情况下,连续的写入,新写入的内容总是跟在老内容之后
  26.  
  27. # w与a模式的不同点
    # 在文件关闭了重新打开的情况下,a模式永远把文件指针放到文件末尾
  28.  
  29. # 案例一:编写一个用户注册功能,注册的内容是账号名和名
    # name = input("请输入您的账号>>:").strip()
    # pwd = input("请输入您的密码>>:").strip()
    # # 账号密码合法性校验
    # f = open('db.txt',mode='at',encoding='utf8')
    # f.write("%s:%s\n" %(name,pwd))
    # f.close()
  30.  
  31. # 案例二:编写一个用户验证功能,账号密码来自于文件
    inp_name = input("请输入您的账号>>:").strip()
    in_pwd = input("请输入您的密码>>:").strip()
  32.  
  33. # 打开文件,读取账号密码与用户输入的账号密码进行比对
    f = open('db.txt', mode='rt', encoding='utf-8')
    for line in f:
    # print(line) # "egon:123\n"
    name, pwd = line.strip("\n").split(':')
    if inp_name == name and in_pwd == pwd:
    print('登录成功')
    break
    else:
    print('账号密码输入错误')
  34.  
  35. f.close()
  1.  

day08总结的更多相关文章

  1. day08 JSP

    day08 JSP 1. jsp 入门和 jsp 运行原理 2. jsp 语法 2.1 jsp 模板元素:jsp 页面中的 html 内容.它定义了网络基本骨架,即定义了页面结构和外观. 2.2 js ...

  2. day08(字符编码,字符与字节,文件操作)

    一,复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int: int('10') | int('-10') | int('0') | float(' ...

  3. Python面向对象进阶和socket网络编程-day08

    写在前面 上课第八天,打卡: 为什么坚持?想一想当初: 一.面向对象进阶 - 1.反射补充 - 通过字符串去操作一个对象的属性,称之为反射: - 示例1: class Chinese: def __i ...

  4. day08文件操作的三步骤,基础的读,基础的写,with...open语法,文件的操作模式,文件的操作编码问题,文件的复制,游标操作

    复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int:int('10') | int('-10') | int('0') | float('-.5 ...

  5. Day08 (黑客成长日记) 命名空间和作用域

    Day08:命名空间和作用域: 1.命名空间: (1)内置命名空间(python解释器): 就是python解释器一旦启动就可以使用的名字储存在内置命名空间中: eg: len() print() a ...

  6. day08(补)

    今日学习内容 1.文件重写方法 2.函数基本知识 文件处理: 打开文件 读/写文件 关闭文件 文件指针移动,只有t模式下的read(n),n代表的字符个数其余都是以字节为单位 f.seek有两个参数( ...

  7. C++Primer笔记-----day08

    ==========================================================================day08===================== ...

  8. day08(异常处理,创建异常,finally,throws和throw的区别)

    异常处理, 异常的产生  运行时异常:程序运行中产生的异常:RuntimeException类.   编译时异常:程序在编译时产生的异常:除了RuntimeException类  其他都是编译时产生的 ...

  9. day08:软件系统的体系结构&Tomcat详解&Web应用&http协议

        day08 软件系统体系结构     常见软件系统体系结构B/S.C/S 1.1 C/S C/S结构即客户端/服务器(Client/Server),例如QQ: 需要编写服务器端程序,以及客户端 ...

  10. python开发学习-day08(socket高级、socketserver、进程、线程)

    s12-20160305-day08 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

随机推荐

  1. 《大话数据库》-SQL语句执行时,底层究竟做了什么小动作?

    <大话数据库>-SQL语句执行时,底层究竟做了什么小动作? 前言 大家好,我是Taoye,试图用玩世不恭过的态度对待生活的Coder. 现如今我们已然进入了大数据时代,无论是业内还是业外的 ...

  2. D2大全

    年初看到cnblogs上有人说看这本旧书,自己也只是瞟了下,后来在看些OOP东西时,想想没事也看看老古董,于是网购了一本电子版可参考下,它们是怎么一步步来,还没来得及多看,贴图于此.

  3. 【漏洞复现】Fastjson <=1.2.47远程命令执行

      0x01 漏洞概述 漏洞描述 Fastjson是一款开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBe ...

  4. 简单梳理JavaScript垃圾回收机制

    JavaScript具有自动垃圾回收机制,即执行环境会负责管理代码执行过程中使用地内存. 这种垃圾回收机制的原理很简单:找出那些不再继续使用的变量,然后释放其占用的内存.为此,垃圾收集器会按照固定的时 ...

  5. 记PHP下载大文件失败的一次坑

    说明 php提供文件的储存和下载,nginx作为web服务器,fpm做解析. 现象 当下载一个5M大小的图片时,总提示下载失败,或下载下来的文件不完整,仅显示部分图像(每次下载不一样) php下载相关 ...

  6. S7-1200视频教程: S7-1200的功能与特点-跟我学 - 1/112

    S7-1200视频教程: S7-1200的功能与特点-跟我学 - 1/112 观看连接: http://www.elearning.siemens.com.cn/video/Course/201012 ...

  7. 基于 abp vNext 和 .NET Core 开发博客项目 - 终结篇之发布项目

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

  8. Docker(一)Docker概述

    Docker概述 概述 Docker是供开发人员和系统管理员 使用容器构建,运行和共享应用程序的平台.使用容器来部署应用程序称为容器化.容器不是新的,但用于轻松部署应用程序的容器却是新的. 容器化越来 ...

  9. 如何修改git commit的author信息

    本地有多个git账号时,容易发生忘记设置项目默认账号,最后以全局账号提交的情况,其实对代码本身并无影响,只是提交记录里显示的是别的名字稍显别扭. 举个例子:  查看提交日志,假设以a(a@email. ...

  10. Java XML文件解析

    四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例) 蓝色字体内容由上一篇博文中补充进来的,写作风格比较好,大家有兴趣可以去查看原文 众所周知,现在解析XML的方法越来越多,但主流的方法也就四 ...