企业网站内容运营方案策划,网络运营是什么意思,沈阳建设工程信息网官方网站,高校网站建设的优势和不足计算机程序开发中#xff0c;随着程序代码越写越多#xff0c;在一个文件里代码就会越来越长#xff0c;越来越不容易维护。
为了编写可维护的代码#xff0c;我们把很多函数分组#xff0c;分别放到不同的文件里面#xff0c;这样#xff0c;这个文件包含的代码就相对…计算机程序开发中随着程序代码越写越多在一个文件里代码就会越来越长越来越不容易维护。
为了编写可维护的代码我们把很多函数分组分别放到不同的文件里面这样这个文件包含的代码就相对较少很多编程语言都采用这种组织代码的方式下面介绍一下Python中的一些基本概念
基本概念
函数function 将一组代码组织到一起实现某种功能模块module 为实现某种逻辑将相关连的函数写在同一个文件里使逻辑更清楚这就是一个模块 在python中文件以.py 结尾那这个.py文件就可以称之为模块说白了就是Python文件库文件library library中文翻译为库也常称为库文件 之所以此处不说是Python中的library那是因为本身library这个词一般都是针对其他的编译型语言比如CC#等语言来说的。常见的C/C#等语言中的library一般指的就是 静态的库文件xxx.a 动态的库文件xxx.dllPython中module和library之间的区别 对于library和module说白了都是提供了一定的功能供别人调用。 从这方面来说也可以理解为Python中library等价于module 只不过Python中很少说library正常的话都是说module包Package 为了方便管理模块python 中引入了包的概念 包是由关联的多个模块组成的目录在每一个包下而都有一个__init__.py文件这个文件必须存在 否则Python就把这个目录当成普通目录而不是一个包 init.py 可以是空文件也可是有python代码因为__init__.py本身就是一个模块 import 导入
使用import 关键字可以将一个包中已出现的一个或多个函数或模块引入到另一个python代码中从而实现代码的复用注意 1、如果是本地导入文件直接使用import filename 2、如果导入的是一个包该包下面必须是有__init__.py文件才可以导入否则报错有了__init__.py文件python解析器才会把这个目录当成是的包使用module有什么好处呢 最大的好处是大大提高了代码的可维护性。其次编写代码不必从零开始。当一个模块编写完毕就可以被其他地方引用。我们在编写程序的时候也经常引用其他模块包括Python内置的模块和来自第三方的模块。 使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中因此我们自己在编写模块时不必考虑名字会与其他模块冲突。但是也要注意尽量不要与内置函数的名字冲突。
导入内置模块一般是这样的 import os
如果不同的人编写的模块名相同怎么办为了避免模块冲突Python可以按Package来导入模块。 我们以我们经常用到的selenium包为例来讲一下import的三种方法 我们先看一下selenium包的目录结构如下图 selenium包的路径是在\Python 3.6.1\Lib\site-packages\selenium一般第三方package都是在\Lib\site-packages\下
第一种导入模块方法import modelName
import webdriver
driver webdriver.Chrome() #定义一个driver变量
这个时候我们发现报错是因为selenium包下面有多个packages,有多个webdriver.py文件这时我们可以通过具体包去导入
import selenium.webdriver
driver selenium.webdriver.Chrome() #定义一个driver变量
去selenium包目录下你会发现我们找不到webdriver.py文件其实我们是导入了selenium包下面的webdriver包中的__init__.py文件如图所示 你可以看到这个文件里包含了各种浏览器的webdriver,在需要具体浏览器时我们就可以自动定义webdriver定义变量时需要用selenium.webdriver因为我们导包时就是导入selenium.webdriver你会发现这样有点麻烦。
这时我们可以使用第二种导入模块的方法from package import modelName
from selenium import webdriver
driver webdriver.Chrome() #定义一个driver变量
其实这种方法还可以导入模块里面具体的函数from modelName import functionName第三种导入模块方式import modelName as xx
import selenium.webdriver as sample
driver sample.Chrome() #定义一个driver变量
这个其实相当于将selenium.webdriver重命名为了定义时方便我们可以总结一下 1.如果导入内置模块一般是import modelName 2.如果需要导入包里面的所有模块直接可以import packageName 3.如果需要导入具体包里面的模块或者模块里面的具体函数使用from xx import yy 4.如果需要对导入的模块进行简单重命名可以使用import modelName as xx