包和模块,深浅拷贝

包和模块

包:存在_init_.py文件的目录称为包,包的作用就是管理模块的
_init_.py模块一般都是存在于包下面,用来初始化包,这个模块中
可以正常的写代码初始化包
_all_变量用来申明该包有哪些模块,只有被他申明过的模块,
才可以使用    from 包名称 import *	这种方式导入

注意:包和普通目录的区别
模块:xx.py,注意用来保存代码

  • 导包方式如下
import xxx
import xxx.xxx.xxx
import xxx.xxx.xxx as xx
from xx.xxx.xx import xxx
from xxx.xx import * 	注意:这种必须源码支持,否则无法导入

is和==

is :判断是两个变量的内存地址
==:判断的是两个变量的值

注意:python的解析器中,存在一个小整形缓冲区,该缓冲区默认将(-5 ~ 256)的值提前加载到内存中,也就是说,如果我们定义变量,赋值的范围在-5~256内,则不会有第二个值,而是将缓冲区中该值引用赋给了该变量。

拷贝

  1. 引用传递:

  2. 浅拷贝

import copy	进行对象拷贝
#浅拷贝,只拷贝第一层
b=copy.copy(a)

在这里插入图片描述
3. 深拷贝

深拷贝,使用递归进行拷贝,完成之后,两个内存间,将没有任何关系
c=deep.copy(a)

在这里插入图片描述

  • 注意
  1. 不可变数据类型(小整形数字,布尔值,字符串,元组),不管深浅拷贝,都只有一份
  2. list中的copy方法是浅拷贝,相当于copy.copy(a)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值