Python入门(十二)(面向对象)

**

一、pip工具

1.python自带的包管理工具,用于从网络上下载,安装,查找,卸载,更新的第三方包

2.安装

pip install 包名
pip install 包名==版本号
pip install 包名>=版本号 (指定安装的最小版本)

3.卸载

pip uninstall 包

4.查看

pip list

5.搜索

pip search 包名

6.更新

pip install --upgrade 包名

7.查看版本

pip -V 或者 --version

8.修改下载源

a.常见的pip镜像源地址:
      阿里云 https://mirrors.aliyun.com/pypi/simple/
      中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
      豆瓣(douban) https://pypi.douban.com/simple/
      清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
      中国科学技术大学 https://pypi.mirrors.ustc.edu.cn/simple/

b.windows:
    打开C盘--->用户(Users)--->进入到某个用户目录(www)->创建一个pip目录
    --->在创建一个pip.ini文件

    在文件中添加以下:
        [global]
        index-url = https://pypi.tuna.tsinghua.edu.cn/simple
        [install]
        trusted-host = pypi.tuna.tsinghua.edu.cn

c.补充: 临时指定下载源
	pip install 包名 -i https://pypi.mirrors.ustc.edu.cn/simple/

**

二、模块加强

1.系统规定死的路径

先后顺序:a->b->c->d
	a.内置模块路径(python.exe中),任意地方都能使用
    b.系统标准模块路径(python安装路径/Lib目录中),任意地方都能使用
    c.主执行文件所在当前目录
    d.第三方包的安装路径(pip install PyMySQL):python安装路径/Lib/site-packages,任意地方都能使用

2.自定义路径

任意指定一个路径作为包/模块的查找路径
实现方式:
    import sys
    sys.path  # 系统路径,列表,可修改的
    sys.path.append('新目录路径')
    sys.path.insert(0,'新目录路径')

3.注意事项:自定义模块不要与其他模块重名

重名将出现“对象没有属性”等报错问题,因为系统先找到了系统内置或标准模块路径的其他重名文件并误读取了另一重名文件

**

三、命名空间作用域

1.命名空间

解决命名突出, python只能用于查看
命名空间,字典, 保存变量/函数/类 名 与其 对应值的 映射关系
局部命名空间--locals()
全局命名空间--globals()
内建命名空间- print(dir(__builtins__))

2.作用域

概念: 变量/函数 作用范围    
作用域分类:
	a.局部作用域 (函数内部)
    	只能在函数内使用
    b.全局作用域 (函数外部)
        任意地方都能访问, 函数内不能修改
    c.闭包作用域 (函数 嵌套函数, 内函数使用外层函数中的变量 , 必须返回内函数)	        	
    d.内建作用域 
        任意位置使用

3.变量的查找顺序

LEGB
Local (局部) > Enclosed(闭包) > Global(全局)-->Built-in 内建

4.指定访问对应命名空间

global 变量名 --- 指定访问全局
nonlocal 变量名 --- 指定访问不是局部

UnboundLocalError --- 使用一个未赋值的局部变量

**

四、赋值与拷贝

1.简单数据和复杂数据

a.简单数据在赋值的时候都是使用同一个内存空间, 节约内存.
	例如: 字符串, 数字 ,布尔
	
b.复杂数据,每次赋值,都是开辟一个新的内存空间, 将对应的空间地址 赋值 给变量
	例如: 列表,字典,元组,类实例化的对象

c.	==: 判断值相等 
	is : 判断地址相等

2. 浅拷贝

import copy
copy.copy()

3.深拷贝

将对应数据中 的复杂数据 也拷贝了一个新的内存地址
import copy
新数据 = copy.deepcopy(旧数据)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值