python面试之【模块与包】总结

模块与包

常用的Python标准库都有哪些?
  • OS 操作系统
  • time 时间
  • random 随机
  • pymysql 连接数据库
  • threading 线程
  • multiprocessing 进程
  • queue 队列

第三方库:

  • Django
  • flask
  • requests
  • selenium
  • scrapy
  • re
  • xadmin
  • celery
  • hashliib
  • md5

常用的科学计算库

  • Numpy
  • Scipy
  • Pandas
赋值,浅拷贝和深拷贝的区别

赋值

  • 对象的赋值就是简单的对象引用,赋值操作(包括对象作为参数、返回值)不会开辟新的内存空间,它只是复制了对象的引用。

浅拷贝

  • 浅拷贝会创建新对象,其内容非原对象本身的引用,而是原对象内第一层对象的引用。
  • 浅拷贝有三种形式:切片操作、工厂函数、copy 模块中的 copy 函数
  • 浅拷贝之所以称之为浅拷贝,是它仅仅只拷贝了一层

深拷贝

  • 深拷贝只有一种形式,copy 模块中的 deepcopy()函数。
  • 深拷贝和浅拷贝对应,深拷贝拷贝了对象的所有元素,包括多层嵌套的元素。因此,它的时间和空 间开销要高。
  • 深拷贝拷贝出来的对象是一个全新的对象, 不再与原来的对象有任何的关联。

拷贝的注意点

  • 对于非容器类型,如数字、字符,以及其他的“原子”类型,没有拷贝一说,产生的都是原对象的 引用
  • 如果元组变量值包含原子类型对象,即使采用了深拷贝,也只能得到浅拷贝
__init__ 和__new__的区别?
  • init 在对象创建后,对对象进行初始化。

  • new 是在对象创建之前创建一个对象,并将该对象返回给 init。

Python 里面生成随机数

在 Python 中用于生成随机数的模块是 random,在使用前需要 import

  • random.random():生成一个 0-1 之间的随机浮点数;
  • random.uniform(a, b):生成[a,b]之间的浮点数;
  • random.randint(a, b):生成[a,b]之间的整数;
  • random.randrange(a, b, step):在指定的集合[a,b)中,以 step 为基数随机取一个数;
  • random.choice(sequence):从特定序列中随机取一个元素,这里的序列可以是字符串,列表, 元组等。
说明一下 os.path 和 sys.path 分别代表什么?
  • os.path 主要是用于对系统路径文件的操作。
  • sys.path 主要是对 Python 解释器的系统环境参数的操作(动态的改变 Python 解释器搜索路径)。
Python 中的 os 模块常见方法?
  • os.remove()删除文件
  • os.rename()重命名文件
  • os.walk()生成目录树下的所有文件名
  • os.chdir()改变目录
  • os.mkdir/makedirs 创建目录/多层目录
  • os.rmdir/removedirs 删除目录/多层目录
  • os.listdir()列出指定目录的文件
  • os.getcwd()取得当前工作目录
  • os.chmod()改变目录权限
  • os.path.basename()去掉目录路径,返回文件名
  • os.path.dirname()去掉文件名,返回目录路径
  • os.path.join()将分离的各部分组合成一个路径名
  • os.path.split()返回(dirname(),basename())元组
  • os.path.splitext()(返回 filename,extension)元组
  • os.path.getatime\ctime\mtime 分别返回最近访问、创建、修改时间
  • os.path.getsize()返回文件大小
  • os.path.exists()是否存在
  • os.path.isabs()是否为绝对路径
  • os.path.isdir()是否为目录
  • os.path.isfile()是否为文件
Python 的 sys 模块常用方法?
  • sys.argv 命令行参数 List,第一个元素是程序本身路径
  • sys.modules.keys() 返回所有已经导入的模块列表
  • sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback 当前处理的 异常详细信息
  • sys.exit(n) 退出程序,正常退出时 exit(0)
  • sys.hexversion 获取 Python 解释程序的版本值,16 进制格式如:0x020403F0
  • sys.version 获取 Python 解释程序的版本信息
  • sys.maxint 最大的 Int 值
  • sys.maxunicode 最大的 Unicode 值
  • sys.modules 返回系统导入的模块字段,key 是模块名,value 是模块
  • sys.path 返回模块的搜索路径,初始化时使用 PYTHONPATH 环境变量的值
  • sys.platform 返回操作系统平台名称
  • sys.stdout 标准输出
  • sys.stdin 标准输入
  • sys.stderr 错误输出
  • sys.exc_clear() 用来清除当前线程所出现的当前的或最近的错误信息
  • sys.exec_prefix 返回平台独立的 python 文件安装的位置
  • sys.byteorder 本地字节规则的指示器,big-endian 平台的值是’big’,little-endian 平台的值是 'little"
  • sys.copyright 记录 python 版权相关的东西
  • sys.api_version 解释器的 C 的 API 版本
  • sys.version_info 元组则提供一个更简单的方法来使你的程序具备 Python 版本要求功能
模块和包是什么?
  1. 在 Python 中,模块是搭建程序的一种方式。每一个 Python 代码文件都是一个模块,并可以引用 其他的模块,比如对象和属性。

  2. 一个包含许多 Python 代码的文件夹是一个包。一个包可以包含模块和子文件夹。

更多精彩文章:
Python面试之【python特性】总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值