Studing Day4 - python基础4
2018.3.7
一、列表作用
1、去重
去除列表中重复的元素并且变成一个集合list = set(list)
2、关系测试
取list1和list2列表的交集 list1.intersection=(list2)
取list1和list2列表的并集 list1.union=(list2)
取list1和list2列表的差集 list1.difference=(list2)
(取出list1里面有,list2里面没有的)
取list1和list2列表的对称差集
list1.symmetric_difference(list2)
判断list1是否是list2的子集list1.issubset(list2)
判断list1是否是list2的父集list1.issuperset(list2)
判断list1和list2列表是否没有交集list1.isdisjoint(list2)
用运算符表达
交集 list1 & list2 并集 sslist1 | list2
差集 list1 - list2 对称差集list1 ^ list2
集合增删改查
list1.add(999) 集合没有插入,只有增加,并且是无序的
list1.update([888,7,5]) 添加多项
list1.remove(1)删除
判断key是否在字典里 key in list1
判断key是否不是在字典里 key not in list1
二、文件操作
f = open(“yesterday”, ‘a’,encoding = “utf-8”)
文件句柄
a (append)添加
w (write)写,如果文件不存在,创建新文件写入
r+ (读写模式)以读和追加(追加在文件尾)的模式打开
w+ 先创建一个文件,再写,最后再读
rb 二进制读文件
rb应用地方
1、python3.0中网络传输只能用二进制
2、一行一行的读文件,在第二行加入分割线
(f.readlines只适合读小文件)
循环文件读出来,
for index, line in enumerate(f.readlines()):
if index == 2:
print("-----分割线-----")
continue
print(line.strip())
处理大文件,一行一行的读,读完一行就删除
#高级写法
count = 0
for line in f:
if count == 1:
print("-----分割线-----")
count += 1
continue
print(line.strip())
count += 1
f.seek(0)文件光标回到最开始
文件的一些操作
f.name() 文件名字
f.flush() 实时刷新
f.truncate(10) 从第10个字符开始截断,后面的清空
**类似于进度条创建**
import sys,time
sys.stdout.write(‘*’)
sys.stdout.flush()
time.sleep(0.1)
文件修改
创建一个新文件,再逐行写入,遇到需要修改的地方进行修改再写入,达到修改文件的目的
with 语句 (with代码块执行完毕时,内部会自动关闭并释放文件资源)
with open(‘log, r) as f:
三、字符编码与转码
转码先要decode转换成unicode码再encode转换成目标编码形式
例:gbk转utf8
decode(“本身的编码格式”)
encode(“目标编码格式”)
gbk_to_utf8 = s_gbk.decode(“gbk”)
gbk_to_utf8 = gbk_to_gbk.encode(“utf8”)
五、函数与函数式编程
1.面向对象:类(class)
2.面向过程:过程(def)
3.函数式编程:函数(def)
函数是逻辑结构化和过程化的一种编程方法
使用函数的三大特点
1.代码重用 2.保持一致性 3.可扩展
函数返回值:
返回值数=0;返回none
返回值数=1;返回object
返回值数>1;返回tuple
返回值是返回函数执行完毕的结果,用于后面程序执行方式判断
参数:
1.形参和实参
2.位置参数和关键字参数(标准调用:实参位置与形参位置一一对应,关键字调用:位置无固定,关键字必须在位置参数后面)
3.默认参数
4.参数组:*数组名(把N个未知参数转成元组的方式)
**字典名(把N个关键字参数转成字典的方式)
函数内局部变量只能在函数内生效
不应该在函数内部更改全局变量,非要改,用“global 全局变量”
除了字符串和整数不能再函数内改全局变量,列表、字典等都可以更改
*递归*
如果一个函数在内部调用自己,叫递归函数
特性:
1.必须有个明确的结束条件
2.每次进入更深一层递归时,问题规模相比上次递归都应有所减少
3.递归效率不高,递归层次过多会导致栈溢出
*函数式编程*
输入是确定的,输出就是确定的
*高阶函数*
变量可以指向函数,函数的参数能接受变量,那么一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数
作业:实现删除,创建,查询功能
转载于:https://www.cnblogs.com/hobbyzg/p/8527086.html
Studing Day4 - python基础4相关推荐
- Day4 - Python基础4 迭代器、装饰器、软件开发规范
Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1. ...
- Day4 python基础
一,列表: 列表:python基础数据类型之一,其他语言中也有列表的概念,如js的数组.特点:1.可索引,可切片,可加步长2.容器类数据类型,可以存放各种数据类型,根据索引取出的元素还保留自有数据类型 ...
- Studing Day3 - python基础3
12.3 内容简介:1.列表.元组操作2.字符串操作3.字典操作4.集合操作5.文件操作6.字符编码与转码7.内置函数 一.列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现 ...
- Studing Day1 - python基础1
11.23日学习 python是一个解释型的语言,也是一种强类型的动态类型的语言 强类型弱类型等详细解释: http://blog.csdn.net/gs_008/article/details/51 ...
- Studing Day2 - python基础2
11.30 一.模块 sys 模块 sys.path是python的搜索模块的路径集,是一个list sys.argb是打印相对路径 os模块 os.system("dir") a ...
- python财务编程_Python笔记 财务小白的 day4 python编程基础(2)
[本文的我,是一个文科财务工作者.在单位信息化全靠人做的年代,确实工作压力大也忙不过来.9102年的我,深感不学习点新知识迟早要被淘汰.所以今天开始记录自己的python小白笔记,各位见笑.] 编程基 ...
- python基础(一)完结
Day 01 python基础 一.计算机基础 1.快捷键: 快速复制:Ctrl+D 垂直拆分 水平 拆分 快速修改 查看 2.计算机的组成 硬件:运算器 控制器 存储器 输入设备 输出设备 软件: ...
- f是一个python内部变量类型,Python基础变量类型——List浅析
Python使用list 一.list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示 ...
- python 等号报错_Python学习----Python基础
Python基础 一.数据类型和变量 1.在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量. 例如: a =520# a是整数prin ...
最新文章
- 移除IIS默认的响应头
- fifo 上使用 select -- 转
- python拼音怎么写-python: 拼音处理模块
- oracle 数据库管理员职责
- Nacos分布式配置实践
- C#通过COM组件操作IE浏览器(三):了解IHTMLDocument2
- IROS2020 | 鲁棒全景视觉惯性导航系统ROVINS
- 在控制用' * '台画一个圆形图案
- 统计函数应用之SQL 分析函数
- CrystalReports2008 SN
- PS 在PS中如何等比例放大缩小图片
- 使用docx4j追尾合并多个docx文件为一个docx文件
- 12生肖年份和星座组合图
- 基于扰动观测器的直流电机调速系统,(售出不退慎拍!) 有计算公式,仿真模型
- 后向重计算在OneFlow中的实现:以时间换空间,大幅降低显存占用
- 女生戴蓝牙耳机什么颜色好看?适合女生的高颜值蓝牙耳机
- 名帖107 俞和 小楷临《乐毅论》
- 基于jaccard计算论文对的reference相似度的算法(2)
- PHP解析js的escape()函数编码数据
- java 字节单位换算_【java虚拟机】内存使用单位换算
热门文章
- 父母脾气暴躁对孩子有哪些影响
- 为什么我不做金蝶二次开发了,个人的感受!
- Linux安装mysql数据库
- OD调试常见断点及原理(浓缩版)
- 如何制作企业在线产品手册?这里有一些简单的方法!
- Kafka源码环境搭建
- 海桂嘉积中学2021高考成绩查询,圆梦行动 “我想做记者,我想学计算机” 屯昌文武山村“高考姐妹花”的美好心愿...
- Spring boot(web 组件,ORM 操作 MySQL,接口架构风格—RESTful,集成 Redis,集成 Dubbo,打包)
- 移动光驱装服务器系统盘,光驱别扔,可以改装成移动光驱用
- win10系统获取管理员权限的设置方法一览