python模块基础知识练习

#匿名函数
# sum = lambda x,y: x * y;
# print(sum(10,30))
#查看当前路径
print(__file__)
#使用as别名
# import com.yootk.unit.math as test
# print(test.get_info())
#使用from-import关键字导入指定模块的指定结构
from com.yootk.unit.math import get_info
print(get_info())
#使用:"*"自动导入
from com.yootk.unit.math import *
print(get_info())
#查看math模块的全部功能
from com.yootk.unit import math
print(dir(math))
#copy拷贝,对象浅拷贝
import copy #模块导入
member_info = dict(name = "苏州",interrest=["江苏省","安徽省"]) #定义字典序列
copy_info = copy.copy(member_info) #序列浅拷贝
print("mermber_info内存地址:%d,copy_info内存地址:%d" %
(id(member_info),id(copy_info)))#输出变量内存地址
member_info["interrest"].append("广东")#向子序列追加数据
print("merber_info字典数据:%s" % member_info)#输出原始字典数据
print("copy_info字典数据:%s" % copy_info)#输出拷贝后的字典数据
本程序利用copy.copy()实现一个浅拷贝操作,不会拷贝子列表的内容,而只是会保留一个引用地址,所以当修改子列表内容后将影响其他对象的内容。
如果希望每一个拷贝的对象都有完全独立的子内存结构,并且里面的数据更新不会互相影响,则可以采用深拷贝的处理模式
#深拷贝
import copy
member_info = dict(name = "苏州",interrest=["江苏省","安徽省"]) #定义字典序列
copy_info = copy.deepcopy(member_info) #序列深拷贝
print("mermber_info内存地址:%d,copy_info内存地址:%d" %
(id(member_info),id(copy_info)))#输出变量内存地址
member_info["interrest"].append("广东")#向子序列追加数据
print("merber_info字典数据:%s" % member_info)#输出原始字典数据
print("copy_info字典数据:%s" % copy_info)#输出拷贝后的字典数据

 

posted @ 2022-01-04 14:51  晨起的太阳  阅读(125)  评论(0编辑  收藏  举报