模块(深浅copy)、第三方模块的下载
深浅copy
导入模块 # 这个简单就浅浅复制一下就行了
import copy
1.浅copy
浅copy就是将旧的值从右到左的通过赋值给新的变量,虽然他们的值相等了但是内存地址并不相等,改变一个另外一个不会发生改变,但如果容器里面嵌套容器时,改变被嵌套容器内的内容,另外一个会随之发生改变
2.深copy
深copy就是通过copy函数,将一个变量复制到另外一个变量上,他们的内存地址和内容都一模一样,但和浅copy相反的是,当改变容器内的单个元素,另外一个变量会随之改变,但如果容器内嵌套了容器,改变容器内的值,另外一个并不会发生变化
# list1 = [1, 2, 3] # list2 = list(list1) # # list2 = list1 # print(list2) # print("list1==list2 ?", list1 == list2) # list1==list2 ? True # print("list1 is list2 ?", list1 is list2) # list1 is list2 ? False # set1= set([1, 2, 3]) # # set2 = set(set1) # print(set2) # print("set1==set2 ?",set1==set2) # set1==set2 ? True # print("set1 is set2 ?",set1 is set2) # set1 is set2 ? False # dict1 = {1: [1, 'w'], 2: 0, 3: 98} # dict2 = dict(dict1) # print(dict2) # print("dict1 == dict2 ?", dict1 == dict2) # dict1 == dict2 ? True # print("dict1 is dict2 ?", dict1 is dict2) # dict1 is dict2 ? False # list1 = [1, 2, 3] # list2 = list1[:] # print(list2) # print("list1 == list2 ?",list1 == list2) # print("list1 is list2 ?",list1 is list2) import copy # list1 = [1, 2, 3] # list2 = copy.copy(list1) # print(list2) # print("list1 == list2 ?",list1 == list2) # list1 == list2 ? True # print("list1 is list2 ?",list1 is list2) # list1 is list2 ? False # set1 = {1, 2, 3} # set2 = copy.copy(set1) # print(set2) # print("set1 == set2 ?",set1 == set2) # set1 == set2 ? True # print("set1 is set2 ?",set1 is set2) # set1 is set2 ? False # dict1 = {1:'xiaoming', 2:'xiahua',3:'xiaoli'} # dict2 = dict(dict1) # print(dict2) # print("dict1 == dict2 ?",dict1 == dict2) # print("dict1 is dict2 ?",dict1 is dict2) # tuple1 = (1, 2, 3) # tuple2 = tuple(tuple1) # print(tuple2) # print("tuple1 == tuple2 ?",tuple1 == tuple2) # tuple1 == tuple2 ? True # print("tuple1 is tuple2 ?",tuple1 is tuple2) # tuple1 is tuple2 ? True # # # # tuple1 = (1, 2, 3) # tuple2 = tuple1[:] # print(tuple2) # print("tuple1 == tuple2 ?",tuple1 == tuple2) # Ture # print("tuple1 is tuple2 ?",tuple1 is tuple2) # Ture # str1 = 'operation' # str2 = str1[:] # print(str2) # print("str1 == str2 ?",str1 == str2) # True # print("str1 is str2 ?",str1 is str2) # True import copy # from copy import copy # from copy import deepcopy # # copy() # deepcopy() a = [1, [2, 3, [5, 6]]] # [1, [2, 3, 4]] b = copy.deepcopy(a) # [1, [2, 3]] c = copy.copy(a) # [1, [2, 3, 4]] a[1][2].append(7) print(a) # [1, [2, 3, 4]] print(b) # [1, [2, 3]] print(c) # [1, [2, 3, 4]] # # import requests # # requests.get('')
第三方模块的使用
# 并不是python自带的 需要基于网络下载!!! '''pip所在的路径添加环境变量''' 下载第三方模块的方式 方式1:命令行借助于pip工具 pip3 install 模块名 # 不知道版本默认是最新版 pip3 install 模块名==版本号 # 指定版本下载 pip3 install 模块名 -i 仓库地址 # 临时切换 '''命令行形式永久修改需要修改python解释器源文件''' 方式2:pycharm快捷方式 settings project project interprter 双击或者加号 点击右下方manage管理添加源地址即可 # 下载完第三方模块之后 还是使用import或from import句式导入使用 """ pip命令默认下载的渠道是国外的python官网(有时候会非常的慢) 我们可以切换下载的源(仓库) (1)阿里云 http://mirrors.aliyun.com/pypi/simple/ (2)豆瓣 http://pypi.douban.com/simple/ (3)清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ (4)中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/ (5)华中科技大学http://pypi.hustunique.com/ pip3 install openpyxl -i http://mirrors.aliyun.com/pypi/simple/ """ """ 下载第三方模块可能报错的情况及解决措施 1.报错的提示信息中含有关键字timeout 原因:网络不稳定 措施:再次尝试 或者切换更加稳定的网络 2.找不到pip命令 环境变量问题 3.没有任何的关键字 不同的模块报不同的错 原因:模块需要特定的计算机环境 措施:拷贝报错信息 打开浏览器 百度搜索即可 pip下载某个模块报错错误信息 """