小数据池
#int
==比较数值
is 比较内存地址
id 测试内存地址
#str
不能含有特俗字符
单个元素*数字,不能超过21
i1 = ‘a’*20
i = ‘a’*20
id一样
i1 = ‘a’*21
i = ‘a’*21
id不一样
编码
ascii   英文的数字,字母,特殊字符
字节8位表示一个字节
字符内容的最小组成单位
abc  a一个字符
中国中  一个字符
unicode:万国码
期初两个字节,表示一个字符2**16不够用
升级四个字节,表示一个字符2**32够了
utf-8最少用8位,表示一个字符
a  用8位表示
欧洲用16位表示
亚洲用24位表示3字节
gbk国标
包含英文和中文
中文用个字节表示
1.不同编码之间的二进制不能互相识别
2.对于文件的存储,及传输不能是unicode编码
python3x
int
bool
bytes:内部编码方式(非unicode,可能是utf-8,国标,根本2312.。。。)
str:内部编码方式为unicode。不能用户发送及存储
list
dict
tuple
str和bytes的区别
字母 
str:表现形式:alex
内部编码:unicode
bytes:表现形式:s2 = b'alex'
内部编码:非unicode
中文
str:表现形式:’中国‘
内部编码:unicode
bytes:表现形式:s2 = b'\xe4\xb8\xad\xe5'
内部编码:非unicode
编码
所有编码到uniconde都是decode
反之都是encode
集合
1.集合要求它里面的数据元素,可哈希的,元素不重复,无序
本身是不可哈希的
set1 = {}
1.关系测试
2.去重
l1 = [1,1,2,2,3,4,5]
print(list(set(s1)
)
set1 = {'alex','wusir','egon',}
set1.add('文州')
set.update('abc')PS:迭代增加
删:
set1.pop()随机删除
set.remove('alex')按照元素删除
set1.clear清空集合
del set1删除整个集合
查:
for i in set1:
print(1)
关系测试:
set1 = {1234}
set2 = {2345}
交集
print(set & set2 )
print(set.intersection(set2))
并集
print(set1 | set2)
print(set1.union(set2))
差集(求set里独有的元素)
print(set1 - set2)
print(set1 difference set2)
反交集(不是交集,为反交集)
print(set1 ^ set2)
print(set1.symmetric_difference(set2))
父子集(包含为超级,小为子集)
set1 = {1,2,3}
set2 = {1,2,3,4,5,6}
print(set1 > set2)
True
print(set1.isubset(set2))
冻集
set1 = {1,2,3}
print(frozenset(set1))
深浅拷贝
浅copy第一层,各自独立。从第二层开始,公用一个内存地址
s1 = [1,2,3]
s2 = s1.copy[]
s1.append(666)
print(s1,s2)
s1 = [1,2,3[11,22]]
s2 = s1.copy[]
s1[-1].append(666)
print(s1,s2)
深copy深copy无论多少次,都是互相独立的。互不影响
import copy
s1 = [1,2,3[11,22]]
s2 = s1.deepcopy[s1]
s1.append(666)
print(s1,s2)
文件操作
f1 = open('d:\xx.txt',encoding='utf-8',mode='r')
print(f1.read())
f1 文件句柄
open()调用的内置函数,内置函数调用的系统内部的open
一切对文件进行的操作都是基于文件句柄f1
执行流程:打开文件-->产生文件句柄-->对文件句柄进行操作-->关闭文件句柄
报错原因:
编码问题
File "D:/pycharm/day3/a.py", line 5, in <module>
print(f1.read())
File "D:\python\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc4 in position 39: invalid continuation byte
编码不一致
路径错误
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
解决方法
在 路径最前面加个r
读:
r  
1、read()全读出来
2、read(n)读一部分。n为读取指定多少字符
3、readline()按行读取
4、readlines()读取多行,放在列表里
5、for循环读取
for x in f1:
print(x)
f1.close()
rb  
f1 = open('1.jpg',mode='rb')
print(f1.read)
f1.close
rb的raad(n)n为字节
r+ 
r+读写模式
r+b 
(涉及到b的,是bytes类型。都是非文字类型的文件,如电影,音乐)
写:
f1 = open('log2',encoding='utf-8',mode='w')
w   
没有文件,创建文件也要写入。
有源文件,先清空内容,后写入内容
wb
w+ 写读模式,替换的是字节 
f1.seek(0) #调整光标到最前面
(0,2)#调整到末尾
w+b
追加:
a   没有文件,创建文件写入
有源文件,后面追加
f1 = open('账号密码',encoding='utf-8','mode='a')
f1.write('太白')
f1.close
ab   
a+  
a+b 
其他操作方法
readable是否可读
writable是否可写
tell告诉光标具体在哪
seek调整光标的位置
(0,2)调整到末尾
truncate
只能在a或者在a+模式下使用的truncate
按照字节对源文件截取
with open('d:\xx.txt',encodint='utf-8',mode='r')as f1,:
print(f1.read)
在一定的时间内,自动关闭
能用一条语句,操作多个open
文件的改
1.以读模式打开源文件
2.以写的模式打开一个新文件
3.将源文件内容读出,按照要求修改,将修改后的内容,写入新文件
4.删除源文件
5.将新文件重命名源文件
函数
初识函数
def函数名():
函数体
函数执行:函数名()
函数以功能为导向
函数名()
return
1.终止函数
2.给函数的执行者返回值
return 或者 return none
多个值,返回元组
3.
函数的传参
1.形参角度
1.位置参数与实参的位置参数一一对应
2.默认参数默认参数要在位置参数后面,括号里面加入参数为默认参数
3.动态参数传入的参数不固定,用动态参数
*args  接受所有的位置参数,放在元组中
**kwargs接受所有的关键字参数,放在字典里
#函数定义的时候,*代表聚合
#函数执行的时候,*代表打散,放到一起
字典用两颗星**
形参先后顺序:位置参数-->*args-->默认参数-->**kwargs
2。实参角度
1.位置参数按顺序一一对应
2.关键字传参参数一一对应
3.混合传参(位置参数,关键字参数)
关键字参数必须在位置参数后面
条件简单,切结果简单。可以用三元运算

转载于:https://www.cnblogs.com/dunkeng/p/9084999.html

集合、深浅拷贝、文件操作(读、写、追加)函数初识(参数)相关推荐

  1. python拷贝文件函数_python笔记2小数据池,深浅copy,文件操作及函数初级

    小数据池就是在内存中已经开辟了一些特定的数据,经一些变量名直接指向这个内存,多个变量间公用一个内存的数据. int: -5 ~ 256 范围之内 str: 满足一定得规则的字符串. 小数据池: 1,节 ...

  2. 杭电Matlab与仿真-MATLAB基本语法(二)-数据文件的读/写操作

    数据文件的读/写操作 实验目的 实验内容与要求 实验程序与结果 实验目的 学会matlab数据输入与输出基本操作: 熟悉matlab各种文件的输入输出方法,了解常用的图片及音频文件的输入输出: 掌握用 ...

  3. day3----编码-集合-深浅copy-文件操作-函数初识

    day3----编码-集合-深浅copy-文件操作-函数初识 本文档主要内容: 一 编码 二 集合 三 深浅copy 四 文件操作 五 函数初识 首先,我们来看看两个字符串的比较 打开cmd,进入do ...

  4. ❤️学懂C语言文件操作读这篇就够了(万字总结,附习题)❤️

    目录 ​​​ 一,写在前面 二,为什么使用文件 1,原因 2,数据流 3,缓冲区(Buffer) 4,C语言中带缓冲区的文件处理 5,文件类型 6,文件存取方式 三,什么是文件 1,程序文件 2,数据 ...

  5. Java编程那些事儿——文件操作之写文件

    Java编程那些事儿--文件操作之写文件 Java, Java培训, Java基础, Java学习, Java教程 11.3.1.4 写文件 如前所述,将程序内部的数据输出到程序外部的数据源,应该使用 ...

  6. linux隐写文件剥离,杂项的基本解题思路(1)——文件操作隐写、图片隐写

    文件操作隐写 图片隐写 压缩文件处理 流量取证技术 文章本来是分成4部分的,但是前两部分何在一起写了也就没有分开,所以干脆就只分了两部分 文件基本类型的识别 一.kail 下 file 文件名 原理就 ...

  7. python中f点flush是什么函数_Python文件操作及内置函数flush原理解析

    1.打开文件得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 示例文件 '你好呀' 我是于超 嗯 再见 文件操作基本流程 f=open('chenli',encoding='ut ...

  8. SPI Flash 读/写/擦除函数(适用于1MB Flash)

    SPI Flash 读/写/擦除函数(适用于1MB Flash) 一.GD25Q80B 介绍 二.相关宏定义 三.读取FLASH设备的厂商和设备标识 四.擦除FLASH设备扇区/块 五.FLASH 设 ...

  9. C# 文件操作 全收录 追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件.......

    本文收集了目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下 面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内 ...

  10. day9 python学习 文件的操作 读 写 seek

    文件的操作 1   文件的打开操作: 文件句柄 = open('文件路径', '模式') f=open('wangyakun','a+',encoding='utf-8') #文件名, 如果是绝对路径 ...

最新文章

  1. 用MyEclipse自带工具生成WebService客户端代码
  2. Tiny4412裸机程序,按键检测(轮询方式)
  3. 基于python的FFT频率和振幅处理
  4. tp5.1的安装与运行流程
  5. 【LeetCode】LeetCode之打家劫舍【暴力递归、动态规划、动态规划之优化空间的具体分析与实现】
  6. 对页面文章过长的处理方法
  7. java 偏向锁 怎么用_Java锁升级、偏向锁、轻量级锁
  8. java怎样生成32位全是整形的主键_用java生成32位全球唯一的id编号
  9. 由一个计数器出发:关于vue使用独立js文件的问题
  10. Linus 谈软件开发管理经验(转载)
  11. Nginx源码分析 - 基础数据结构篇 - 双向链表结构 ngx_queue.c(05)
  12. 三款IE修复软件横向评测(转)
  13. U-Mail邮件网关智能DNS技术,解决海外邮件接收问题
  14. MATLAB学习之泰勒展开(四)
  15. 梁宁《产品思维》之18用户体验
  16. 记一次公司被勒索病毒攻击事迹,上上下下咬牙切齿
  17. Unsupervised Domain Adaptation by Backpropagation
  18. 高频信号发生器设计—串联型晶体振荡电路
  19. 1008:美元和人民币
  20. Python-声明变量

热门文章

  1. [水煮 ASP.NET Web API2 方法论](1-6)Model Validation
  2. HBuilder完成webApp入门(3) 关于webview (转)
  3. 我的博客是怎么自定义的
  4. cmd进入python环境_python2和python3同时存在,如何CMD中进入不同的环境
  5. 并查集(UnionFindSet)
  6. java用for循环修改密码_Java for循环的几种用法分析
  7. python修改列表中字典内的值_python修改字典内key对应值的方法
  8. python每隔30s检查一次_用Python写一个“离线语音提示器”来提醒我们别忘记了时间...
  9. 求1+2+3+...+n
  10. 关于摄像头的一些零碎知识