一、python概要
python是一种解释性语言,python解释器主流版本由c语言编写; python 比较注重格式,包丰富,效率方面低于java,是一种高级语言; python功能丰富,轮子多,不用自己实现,模块化,方便调用,使用者多,学习曲线平坦;
二、python常用的包
1、selenium(webdriver): 用于Web应用程序测试的工具
depend: class: func: example:
turtle: 点线面的简单图像库 pymouse:鼠标操作库 pykeyboard:键盘操作库 sys:Python解释器相关的变量和方法 pygame:写游戏的python模块集 os:通用的、基本的操作系统交互功能,包括windows、Mac os、linux random:产生并运用随机数的标准库 time:处理时间的标准库 ctypes:Python的外部函数库。它提供了与 C语言兼容的数据类型,并允许调用 DLL 或共享库中的函数 pynput(keyboard, mouse):鼠标和键盘控制库 win32gui:提供对大部分win32 api的访问 创建和使用COM对象的能力,以及 Python环境这提供了mfc类。 pywin32:调用windows API的一个模块库 faker:创建伪数据的库 collections:实现了特定目标的容器,以提供Python标准内建容器 dict、list、set、tuple 的替代选择 _future_ :测试python新版本的新功能的库 inspect:收集python对象的信息,可以获取类或函数的参数的信息,源码,解析堆栈,对对象进行类型检查等 requests:常用的用于http请求的模块 pprint:包含一个“美观打印机”,用于生成数据结构的一个美观视图 sh:成熟的子进程接口,允许您调用任何系统程序,就好像它是一个函数一样 typing: 为类型提示指定的运行时提供支持 uuid:生成一串唯一表示的包 wikipedia:易于访问和解析的python库 维基百科的数据 yaml:yaml配置操作库 socket:socket操作库 threading:python的线程模型库 ast:为自定义语言定义和转换抽象语法树 (AST) 的方法 heapq:提供了堆队列算法的实现,也就是优先级队列算法 Pandas:用于数据操纵和分析 math:内置数学类函数库
三、python 库的路径
for pat in sys.path:
print(pat)
四、python类
1、python 类
class Animal:
def __init__(self, animal_name, animal_type='animal'):
self.animal_type = animal_type
self.animal_name = animal_name
def eat(self):
print(self.animal_name + ':eat')
def walk(self):
print(self.animal_name + ':walk')
def run(self):
print(self.animal_name + ':run')
2、继承一个类
class Birds(Animal):
def __init__(self,animal_name,animal_type='birds'):
super().__init__(animal_name,animal_type)
3、多继承
class DerivedClassName(Base1, Base2, Base3):
<statement-1>
.
.
.
<statement-N>
4、初始化一个类
class Complex:
def __init__(self, realpart, imagpart):
self.r = realpart
self.i = imagpart
x = Complex(3.0, -4.5)
print(x.r, x.i)
五、python库
包是一种管理 Python 模块命名空间的形式,采用"点模块名称"。 比如一个模块的名称是 A.B, 那么他表示一个包 A中的子模块 B 。 就好像使用模块的时候,你不用担心不同模块之间的全局变量相互影响一样,采用点模块名称这种形式也不用担心不同库之间的模块重名的情况。 这样不同的作者都可以提供 NumPy 模块,或者是 Python 图形库。 把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块 import sys 引入 python 标准库中的 sys.py 模块 包是一种管理 Python 模块命名空间的形式,采用"点模块名称"。 注意当使用 from package import item 这种形式的时候,对应的 item 既可以是包里面的子模块(子包),或者包里面定义的其他名称,比如函数,类或者变量 import 语法会首先把 item 当作一个包定义的名称,如果没找到,再试图按照一个模块去导入 无论是隐式的还是显式的相对导入都是从当前模块开始的。主模块的名字永远是"_main_",一个Python应用程序的主模块,应当总是使用绝对路径引用。 包还提供一个额外的属性_path_。这是一个目录列表,里面每一个包含的目录都有为这个包服务的_init_.py,你得在其他_init_.py被执行前定义哦。可以修改这个变量,用来影响包含在包里面的模块和子包。 这个功能并不常用,一般用来扩展包里面的模块。 from Package import specific_submodule 这种方法永远不会有错。事实上,这也是推荐的方法。除非是你要导入的子模块有可能和其他包的子模块重名。
1、库的编写与引用
support.py 文件代码
def print_func( par ):
print ("Hello : ", par)
return
test.py 文件代码
import support
support.print_func("Runoob")
2、库的一部分导入
from modname import name1[, name2[, ... nameN]]
3、各种导入方法
冗长
import sound.effects.echo
echo.echofilter(input, output, delay=0.7, atten=4)
简单
from sound.effects.echo import echofilter
echofilter(input, output, delay=0.7, atten=4)
|