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

小数据池
#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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368651.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html创建文件域的代码,word如何插入域代码

在word里怎么进行域代码的设置&#xff1f;如果知道要插入的域的域代码&#xff0c;可以将其直接键入在文档中。首先按 CtrlF9&#xff0c;然后在括号中键入代码就可以了。【Word插入域方法】1、Word2007中&#xff0c;在要插入域的位置单击。2、在“插入”选项卡上的“文字”组…

大学屌丝男

哈哈&#xff0c;来晚了呀转载于:https://www.cnblogs.com/wainiwann/p/7909765.html

前端页面适配的rem换算

为什么要使用rem 之前有些适配做法&#xff0c;是通过js动态计算viewport的缩放值&#xff08;initial-scale&#xff09;。 例如以屏幕320像素为基准&#xff0c;设置1&#xff0c;那屏幕375像素就是375/3201.18以此类推。 但直接这样强制页面缩放过于粗暴&#xff0c;会导致页…

lt form gt 在html,HTML lt;formgt; 标签的 accept

HTML <form> 标签的 accept2018-11-20在跨业务、跨网站发送数据或者业务升级的时候&#xff0c;我们有的时候需要指定发送数据的编码方式&#xff0c;比如页面表单的编码是UTF-8的&#xff0c;而提交到目标页面的编码是GBK编码时&#xff0c;会用到表单的accept-charset属…

使用Java ThreadLocals的意外递归保护

对于那些使用第三方工具来尝试扩展它们而又不完全了解它们的人来说&#xff0c;这是一个小技巧。 假定以下情况&#xff1a; 您想扩展一个公开分层数据模型的库&#xff08;假设您要扩展Apache Jackrabbit &#xff09; 该库在访问内容存储库的任何节点之前会内部检查访问权限…

今日头条竞价接口转发

一、代码 ①类名 public class TouTiao{public class model{public string site_id { get; set; }public string ad_id { get; set; }public List<Data> data { get; set; }}public class Data{public string label { get; set; }public string lable { get; set; }publi…

art-template辅助函数和子模板

art-template 前端使用 用途&#xff1a;主要用来处理数据和优化性能&#xff0c;与其他的一些模块化处理数据的插件相比&#xff0c;art-template处理性能好 不废话&#xff0c;上代码 1.art-template基本语法使用 <script src"template.js"></script&…

微处理器 微型计算机系统,作业答案11微处理器微型计算机和微型计算机系统三者之间.DOC...

作业答案11微处理器微型计算机和微型计算机系统三者之间第1章 作 业 答案1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微处理器。微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构…

C# 对轻量级(IoC Container)依赖注入Unity的使用

概述 Unity是一个轻量级的可扩展的依赖注入容器&#xff0c;支持构造函数&#xff0c;属性和方法调用注入。Unity可以处理那些从事基于组件的软件工程的开发人员所面对的问题。构建一个成功应用程序的关键是实现非常松散的耦合设计。松散耦合的应用程序更灵活&#xff0c;更易于…

为什么同步的StringBuffer从来都不是一个好主意

介绍 StringBuffer是用于可变字符串的同步类。 使其同步的主要问题是 它通常用作局部变量&#xff0c;因此使其同步只会使其变慢。 以多线程方式使用它从来不是一个好主意。 这个问题是开发人员认为使用StringBuffer的方法在不使用时本身就是线程安全的。 StringBuffer的问题…

大工20秋计算机组成原理在线作业2,大工14秋《计算机组成原理》在线作业2答案...

大工14秋《计算机组成原理》在线作业2单选题 判断题一、单选题(共 10 道试题&#xff0c;共 50 分。)1. 存储周期是指( )。A. 存储器的读出时间B. 存储器的写入时间C. 存储器进行连续读或写操作所允许的最短时间间隔D. 存储器进行连续读或写操作所允许的最长时间间隔正确答案&a…

css清除浮动

css设计浮动属性的主要目的&#xff0c;是为了实现文本绕排图片的效果。 一.浮动 当浮动一张图片或者其他元素时&#xff0c;浏览器会将浮动元素往上方推&#xff0c;直到它碰到父元素的内边界。后面的元素不再认为浮动元素在文档流中位于它的前面了&#xff0c;因为它就会占…

gitlab搭建配置;ssh配置;

1.centos7上搭建gitlab&#xff0c;过程略&#xff1b; 命令&#xff1a;gitlab-ctl [start] [stop] [restart] [reconfigure] [tail] 查看gtilab日志 [status] 查看gitlab运行状态信息 2.修改默认ip端口&#xff1a; vim /etc/gitlab/gitlab.rb &#xff1b; external_url h…

5月学习总结(Ant-Design,mustache,require.js,grunt)

一、Ant-Design学习 因为Ant-Design是基于React实现的&#xff0c;之前自己也学过一段时间的React&#xff0c;对React还是相对比较熟悉的&#xff0c;在学习Ant-Design也还不算吃力。 最开始是从源码看起&#xff0c;从最简单的Icon组件看的&#xff0c;然后连续看了几个组件就…

使用NoSQLUnit测试Spring Data Neo4j应用程序

Spring Data Neo4j是Spring Data项目中的项目&#xff0c;它提供了Spring编程模型的扩展&#xff0c;用于编写使用Neo4j作为图形数据库的应用程序。 要使用NoSQLUnit为Spring Data Neo4j应用程序编写测试&#xff0c;除了考虑Spring Data Neo4j在图形节点和关系中使用一种称为t…

家用计算机历史记录,教您如何查看电脑使用记录

很多朋友想查看自己之前使用过的文件或者文档来查询资料&#xff0c;或者是想看电脑是否被人使用过&#xff0c;但是&#xff0c;如何查看电脑使用记录呢&#xff1f;下面系统之家小编教大家查看电脑使用记录小技巧&#xff0c;不用担心找不到电脑使用记录。希望对大家有所帮助…

html5 图片上传 预览

<html><body><fieldset> <legend>测试</legend> <div class"form-group"> <div class"img-preview rl"> <form id"index_form1" name"index_form1" role"form" method"p…

使用selenium前学习HTML(3)— 属性

<!--HTML标签可以拥有属性&#xff0c;属性提供元素的更多的信息&#xff1b;属性总是以名称/值对的形式出现&#xff0c;比如&#xff1a;name"value"。属性总是在 HTML 元素的开始标签中规定。 --><!DOCTYPE html> <html lang"en"> &l…

k3 Bos开发百问百答

K/3 BOS开发百问百答 &#xff08;版本&#xff1a;V1.1&#xff09; K3产品市场部 目录 一、基础资料篇__ 1 【摘要】bos基础资料的显示问题_ 1 【摘要】单据自定义无法看到bos定义的基础资料_ 1 【摘要】在调出基础资料序时簿时&#xff0c;过滤出我需要的基础资料_ 1 【摘要…

计算机架构专业排名,全国大学计算机专业排名(转贴)

4 东北大学 A 081201计算机系统结构 081200计算机科学与技术 08工学5 西安交通大学 A 081201计算机系统结构 081200计算机科学与技术08工学6 复旦大学 A 081201计算机系统结构 081200计算机科学与技术 08工学7 中国科学技术大学 A 081201计算机系统结构 081200计算机科学与技术…