第四章python技巧

1.拷贝:深拷贝和浅拷贝

  目的:需要一个对象,但又确保原对象不被改变。

  深拷贝方法:

          copy.deepcopy

  浅拷贝方法:

         1.内置方法 (list, dict,set)  t(o),  (字典本身还有d.copy())

         2. copy.copy (对类型和类很好用)

  区别:

    list1 = [   [‘a‘],[1,2],[‘z‘,23]  ]  原始列表

    list2 = list 1          赋值引用

    list3 = copy.copy(list1)     浅拷贝

    list 4 = copy. deepcopy(list1)  深拷贝

    如图:

    现在 list3.append("test"), list3[1].append = "b",观察结果:

前后变化如图,这是对象里面的引用关系。

    

时间: 2024-10-11 01:18:24

第四章python技巧的相关文章

《Python CookBook2》 第四章 Python技巧 - 若列表中某元素存在则返回之 && 在无须共享引用的条件下创建列表的列表

若列表中某元素存在则返回之 任务: 你有一个列表L,还有一个索引号i,若i是有效索引时,返回L[i],若不是,则返回默认值v 解决方案: 列表支持双向索引,所以i可以为负数 >>> def list_get(L,i,v=None): if -len(L)<= i < len(L): return L[i] else: return v >>> list_get([1,2,3,4,5,6],3) 4 异常机制 >>> def list2_ge

算法导论 第三章 and 第四章 python

第三章 渐进的基本O().... 常用函数 % 和  // 转换 斯特林近似公式 斐波那契数 第四章 分治策略:分解(递归)--解决(递归触底)--合并 求解递归式的3种方法: 1:代入法(替代法):猜测一个(靠经验)--数学归纳法 ·2:递归树法:画树p31[第3版中文]p51->递归式--证明 3:主方法: 快速,有些地方不能涉及,递归式不易写出 4.1最大数组问题 分治法: 1.A[low ,mid]  2.A[mid+1, high] 3.包含mid中间(想左和右分别遍历组合找出最大)

第四章 python对象

4.1 Python 对象 所有的Python 对像都拥有三个特性:身份,类型和值.身份:每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到.这个值可以被认为是该对象的内存地址.您极少会用到这个值,也不用太关心它究竟是什么. 类型对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则.您可以用内建函数type()查看Python 对象的类型.因为在Python 中类型也是对象(还记得我们提到Python 是面向对象的这句话吗?),所

第四章 python中的函数

第一节 函数的介绍 1)函数就是完成特定功能的一个语句组,这组语句作为一个单位使用,并且给它取一个名字. ? 2)可以通过函数名在程序的不同地方多次执行(这通常叫做函数调用),却不需要在所有地方都重复编写这些语句. 3)自定义函数 - 用户自己编写的 4)预定义的python函数 - 系统自带的一些函数,还有一些第三方编写的函数,如其他程序员编写的一些函数,对于这些现成的函数用户可以直接拿来使用. 5)为什么使用函数 6)降低编程的难度 - 通常将一个复杂的大问题分解成一系列更简单的小问题,然后

python核心编程第四章 python对象

4–1. Python 对象.与所有 Python 对象有关的三个属性是什么?请简单的描述一下.  身份,类型和值. 4–2. 类型.不可更改(immutable)指的是什么?Python 的哪些类型是可更改的 (mutable),哪些不是? 如果对象支持更新操作,那么它的值就可以改变,否则它的值也是只读的.对象的值是否 可以更改被称为对象的可改变性(mutability) 数字 Scalar 不可更改 直接访问 字符串 Scalar 不可更改 顺序访问 列表 Container 可更改 顺序访

第四章 Python 文件处理

第1章 文件处理 1.1 文件操作流程 1. 打开文件,得到文件句柄并赋值给一个变量 2. 通过句柄对文件进行操作 3. 关闭文件 1.2 具体操作 1.打开文件,得到文件句柄并赋值给一个变量 f=open('db.txt','r',encoding='utf-8') 2.通过句柄对文件进行操作 data=f.read() 3. 关闭文件 f.close() #回收操作系统资源 1.3 流程分析 f=open('db.txt','r',encoding='utf-8') 1.由应用程序向操作系统

第四章 python中的面向对象设计

一.首先来理解几个面向对象的关键特性: 1.封装:对象可以将他们的内部状态隐藏起来.python中所有特性都是公开可用的. 2.继承:一个类可以是一个或多个类的子类.python支持多重继承,使用时需要注意继承顺序. 3.多态:实现将不同类型的类的对象进行同样对待的特性--不需要知道对象属于哪个类就能调用方法. 二.创建自己的类 1 >>> class Person: 2 ... def setname(self,name): 3 ... self.name = name 4 ... d

第四章 Python外壳:代码结构

Python的独特语法: 不使用分号结束语句,而是回车: 通过代码缩进来区分代码块: if.while.for等,都不用括号,但不能没有冒号(:). 如何将一行命令分为多行? >>> myNameIs = "LiZhiXin." >>> myNameIs 'LiZhiXin.' 4.1 条件语句和循环语句 如何使用if.elif和else进行比较? >>> a = 1 >>> if a < 2: print

第四章 python的文件操作

在python里,我们可以通过open()方法打开文件并且用内置方法处理文件内容. 需要注意的是,open() 会默认自动转换为2进制再存储(write方法执行时).所以open命令也是在2进制的基础上进行存储的. 4.1 文件基本操作 obj = open(file='路径',mode='模式',encoding='编码') obj.write() # 可写模式下 obj.read() # 可读模式下 obj.close() 4.2 打开模式 操作字符串 r/w/a r+/w+/a+ 直接操作