python学习笔记10
pip是什么
JavaScript使用npm管理软件包,Ruby使用gem,以及.NET使用NuGet,而在python中,则是用pip作为Python的标准包管理器
查看当前pip版本以及安装位置
升级pip软件
pip install --upgrade pip
查看pip已安装的软件包
pip list
使用pip安装requests软件包
pip install requests
查看包的元数据信息
pip show requests
设置更新源
在本地用户列表中新建文件夹pip
之后在其中新建文件pip.ini
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
其他
如何copy一个文件
使用shutil模块中的copyfile函数可以实现文件复制
一个包中有三个模块,mod1.py,mod2.py,mod3.py在使用“from demopack inport * ”导入模块时,如何才能保证只有mod1、mod3被导入?
增加__init__.py文件,并在文件中增加
__all__=['mod1','mod3']
请列出任意一种统计图绘制的开源库
pychart
、matplotlib
什么时tkinter
使用tkinter可以制作图形用户界面。其支持不同的 GUI工具和窗口构件,这些构件均有不同的属性
导入tkinter模块
import tkinter
top=tkinter.TK()
这样会创建一个新窗口,然后可以在这个窗口中添加各个组件
help和dir函数的区别
help函数是一个内置函数,用于查看函数或模块用途的详细说明
import copy
help(copy.copy)
dir函数也是内置函数,但dir函数不带参数时,返回当前范围的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。
logging模块的作用以及应用场景有哪些
logging模块快定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统,可以了解程序运行情况是否正常。在程序出现故障时,可以快速定位出错地方及进行故障分析。
logging模块常用的几个等级
critical>error>warning>info>debug,notest
级别越高打印的日志越少
什么是namedtuple
namedtuple可以使用名称、标签获取一个元组的元素,将其从collections模块中导入,
只有4GB的内存怎么读取一个5GB的文件
- 可以通过生成器,多次读取,每次读取数量相对少的数据进行处理,处理结束后在读取后面的500MB的数据
- 可以通过Linux命令split切割成效文件,然后对数据进行畜栏里,此方法效率比较高。可以按照行数切割,可以按照文件大小切割。在Linux中可以使用cat命令进行文件的合并
python中标准库有哪些
- 常见的标准库有:操作系统(os)、系统相关的参数与函数(sys)、警告控制(warning)、时间(time)、随机数(random)、数据库连接(pymysql)、线程(threading)、以及进程(multiprocessing)等
- 第三方库有:科学计算(Numpy、scipy和pandas)、绘图(Matplothlib、Pillow和Seaborn)、经典web框架(Django和Flask)、爬虫框架(Scrapy)、机器学习框架(Keras、Tendorflow和Caffe)以及requests、urllib、BeautifuSoup和Queue等
python的装饰器是什么
装饰器本质上是一个python函数,它可以让其它函数在不需要做任何代码变动的前提下增加额外的功能,提高代码的复用性。装饰器是一个函数,它接收一个函数返回另一个函数。装饰器主要有以下功能:
- 引用日志
- 函数执行时间统计
- 执行函数前预备处理
- 执行函数后的清理功能
- 权限校验等场景
- 缓存
装饰器起始就是一个以函数作为参数并返回一个替换函数的可执行函数。在不改动原函数代码的情况下,为其增加新的功能。wrapper函数的参数定义是(*args,**kw),因此,wrapper函数可以接受任意参数的调用
是否使用过functools中的函数?其作用是什么?
用于修复装饰器
import functools
def deco(func):
@functools.wraps(func)
def wrapper(*args,**kwargs):
return func(*args,**kwargs):
return wrapper
@deco
def index():
"哈哈哈哈哈"
x=10
print('from index')
print(index.__name__)
print(index.__doc__)
#加@functools.wraps(func)
# index
# 哈哈哈哈哈
#不加@functools.wraps(func)
# wrapper
# None
构造器
python的构造函数有固定的名字,通常构造函数的标识就是__init__(self),在python中类都倾向于将对象创建为有初始化状态,因此类可以定义一个名为init()的特殊方法来实例化一个对象,这个方法就是构造方法。构造方法也叫做构造器,是指当实例化一个对象的时候,第一个被自动调用的方法。构造函数在对象实例化的时候调用。构造方法与其他普通方法不同的地方在于,python中构造函数也叫做初始化函数。当一个对象被创建后,会立即调用构造方法。在python中创建一个构造方法只需要把init方法的名字从简单的init修改为魔法版本__init__即可