文件模块是什么|c语言中的模块和文件有什么区别

A. python中模块是什么

函数是模块,类也是模块,纯粹的变量定义文件也是模块。。。如果泛指import后面的内容算模块的话,包也算模块。。。。模块如果是包,当然就有之模块,就是包中的子包喽随便自己写个python文件,然后import这个文件进去,就成为你的包了。

B. 程序开发中的模块是什么

首先说模块是一个程序代码块的集合,在我们实际项目开中往往同一个模块多个地方都需要使用,这时候就需要加载一个模块。

1.这个函数首先查找 package.loaded 表, 检测 modname 是否被加载过。 如果被加载过,require 返回 package.loaded[modname] 中保存的值。 否则,它试着为模块寻找 加载器 。require 遵循 package.searchers 序列的指引来查找加载器。 如果改变这个序列,我们可以改变 require 如何查找一个模块。 下列说明基于 package.searchers 的默认配置。2.首先 require 查找 package.preload[modname] 。 如果这里有一个值,这个值(必须是一个函数)就是那个加载器。 否则 require 使用 Lua 加载器去查找 package.path 的路径。 如果查找失败,接着使用 C 加载器去查找 package.cpath 的路径。 如果都失败了,再尝试 一体化 加载器 (参见 package.searchers)。3.每次找到一个加载器,require 都用两个参数调用加载器: modname 和一个在获取加载器过程中得到的参数。 (如果通过查找文件得到的加载器,这个额外参数是文件名。) 如果加载器返回非空值, require 将这个值赋给 package.loaded[modname]。 如果加载器没能返回一个非空值用于赋给 package.loaded[modname], require 会在那里设入 true 。 无论是什么情况,require 都会返回 package.loaded[modname] 的最终值。4.如果在加载或运行模块时有错误, 或是无法为模块找到加载器, require 都会抛出错误。一个描述有一些为包管理准备的编译期配置信息的串。 这个字符串由一系列行构成:第一行是目录分割串。 对于 Windows 默认是 '' ,对于其它系统是 '/' 。第二行是用于路径中的分割符。默认值是 ';' 。第三行是用于标记模板替换点的字符串。 默认是 '?' 。第四行是在 Windows 中将被替换成执行程序所在目录的路径的字符串。 默认是 '!' 。第五行是一个记号,该记号之后的所有文本将在构建 luaopen_ 函数名时被忽略掉。 默认是 '-'。这个路径被 require 在 C 加载器中做搜索时用到。让宿主程序动态链接 C 库 libname 。5.当 funcname 为 "*", 它仅仅连接该库,让库中的符号都导出给其它动态链接库使用。 否则,它查找库中的函数 funcname ,以 C 函数的形式返回这个函数。 因此,funcname 必须遵循原型 lua_CFunction (参见 lua_CFunction)。这是一个低阶函数。 它完全绕过了包模块系统。 和 require 不同, 它不会做任何路径查询,也不会自动加扩展名。 libname 必须是一个 C 库需要的完整的文件名,如果有必要,需要提供路径和扩展名。 funcname 必须是 C 库需要的准确名字 (这取决于使用的 C 编译器和链接器)。

C. 模块是什么是扩展名为 .dll 的文件吗

扩展名为dll的文件是动态链接库函数,它的定义如下: 动态链接库的概念 动态链接库(Dynamic Link Library,缩写为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件(exe)非常类似,区别在于DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。 动态链接是相对于静态链接而言的。所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分。换句话说,函数和过程的代码就在程序的exe文件中,该文件包含了运行时所需的全部代码。当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源。而动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息(往往是一些重定位信息)。仅当应用程序被装入内存开始运行时,在Windows的管理下,才在应用程序与相应的DLL之间建立链接关系。当要执行所调用DLL中的函数时,根据链接产生的重定位信息,Windows才转去执行DLL中相应的函数代码。 一般情况下,如果一个应用程序使用了动态链接库,Win32系统保证内存中只有DLL的一份复制品,这是通过内存映射文件实现的。DLL首先被调入Win32系统的全局堆栈,然后映射到调用这个DLL的进程地址空间。在Win32系统中,每个进程拥有自己的32位线性地址空间,如果一个DLL被多个进程调用,每个进程都会收到该DLL的一份映像。与16位Windows不同,在Win32中DLL可以看作是每个进程自己的代码。 二、动态链接库的优点 1. 共享代码、资源和数据 使用DLL的主要目的就是为了共享代码,DLL的代码可以被所有的Windows应用程序共享。 2. 隐藏实现的细节 DLL中的例程可以被应?C 采纳哦

D. python模块的本质是什么文件

模块的本质:是一个能实现某种功能的Python文件。

功能模块是指数据说明、可执行语句等程序元素的集合,它是指单独命名的可通过名字来访问的过程、函数、子程序或宏调用。

功能模块化是将程序划分成若干个功能模块,每个功能模块完成了一个子功能,再把这些功能模块总起来组成一个整体。以满足所要求的整个系统的功能。

功能模块化的根据是,如果一个问题有多个问题组合而成,那么这个组合问题的复杂程度将大于分别考虑这个问题时的复杂程度之和。这个结论使得人们乐于利用功能模块化方法将复杂的问题分解成许多容易解决的局部问题。

功能模块化方法并不等于无限制地分割软件,因为随着功能模块的增多,虽然开发单个功能模块的工作量减少了,但是设计功能模块间接口所需的工作量也将增加,而且会出现意想不到的软件缺陷。

因此,只有选择合适的功能模块数目才会使整个系统的开发成本最小。功能模块独立性是由内聚性和耦合性两个定性指标来度量的。内聚性是度量一个功能模块内功能强度的一个相对指标。耦合性则用来度量功能模块之间的相互联系的程度。

E. 模块是什么意思

在程序设计中,为完成某一功能所需的一段程序或子程序;或指能由编译程序、装配程序等处理的独立程序单位;或指大型软件系统的一部分。

F. python中的模块,库,包有什么区别

1.python模块是:

python模块:包含并且有组织的代码片段为模块。

表现形式为:写的代码保存为文件。这个文件就是一个模块。sample.py 其中文件名smaple为模块名字。

关系图:

3.库(library)

库的概念是具有相关功能模块的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方库以及自定义模块。

G. 模块的定义是什么

一、模块的定义:(一)在程序设计中,为完成某一功能所需的一段程序或子程序;或指能由编译程序、装配程序等处理的独立程序单位;或指大型软件系统的一部分。模块有各种类型,如单元操作模块(换热器、精馏塔、压缩机等)、计算方法模块(加速收敛算法、最优化算法等)、物理化学性质模块(汽液相平衡计算、热焓计算等)等。(二)可以组合和变换的标准单元硬件。模块,又称构件,是能够单独命名并独立地完成一定功能的程序语句的集合(即程序代码和数据结构的集合体)。它具有两个基本的特征:外部特征和内部特征。外部特征是指模块跟外部环境联系的接口(即其他模块或程序调用该模块的方式,包括有输入输出参数、引用的全局变量)和模块的功能;内部特征是指模块的内部环境具有的特点(即该模块的局部数据和程序代码)。(三)电路中将分立元件组成的电路重新塑封称为模块,如电源模块.他和IC本质上没什么区别.只是一般模块适用于大功率电路,是半集成电路而且内面可能含有IC,而IC刚好是全集成电路.(四) 在韦氏英文的词典里,“模块”一词的第1条解释是“家具或建筑物里的一个可重用的标准单元”!(五)在易语言中文编程软件中的一种文件组织形式,主要是将使用频率较高的代码组织到一起,编译后形成模块文件(扩展名为ec),其他程序编写中可以导入并且调用现成模块中的子程序,节约开发时间,减少重复代码,便于协作开发。二、相关延展(一)优点:1、使得内核更加紧凑灵活.2、修改内核时, 不必重新编译整个内核.3、模块可以不依赖于某个固定的硬件平台,即使它依赖于某系统特殊的硬件特点4、模块的目标代码一旦被链接到内核,它的作用和静态链接的内核目标代码完全等价.所以当调用模块函数时,无须显式的消息传递.5、截获系统调用.(二)、缺点:模块机制带来安全上的隐患1、修改输出符号表.2、通过修改系统调用,使模块自己隐性.3、重定向文件操作.4、修改文件属主.5、隐藏进程.6、重定向可执行文件7、通过修改系统调用sys_socketcall,使得系统在收到指定数据包后打开后门8、TTY劫持.9、病毒.模块也可以叫隔离器,是在自动化控制系统中对各种工业信号进行变送、转换、隔离、传输、运算的一种仪表,可以和各种工业传感器配合,取回参数信号,隔离变送传输,满足企业本地监冖远程数据采集。

H. c语言中的模块和文件有什么区别

模块是概念上的意思, 一般将实现该模块的文件放在一起文件只是实现模块的函数的集合

I. 计算机中的模块是什么

模块就是程序中固定的代码模块。

1.这个函数首先查找 package.loaded 表, 检测 modname 是否被加载过。 如果被加载过,require 返回 package.loaded[modname] 中保存的值。 否则,它试着为模块寻找 加载器 。require 遵循 package.searchers 序列的指引来查找加载器。 如果改变这个序列,我们可以改变 require 如何查找一个模块。 下列说明基于 package.searchers 的默认配置。首先 require 查找 package.preload[modname] 。 如果这里有一个值,这个值(必须是一个函数)就是那个加载器。 否则 require 使用 Lua 加载器去查找 package.path 的路径。 如果查找失败,接着使用 C 加载器去查找 package.cpath 的路径。 如果都失败了,再尝试 一体化 加载器 (参见 package.searchers)。2.每次找到一个加载器,require 都用两个参数调用加载器: modname 和一个在获取加载器过程中得到的参数。 (如果通过查找文件得到的加载器,这个额外参数是文件名。) 如果加载器返回非空值, require 将这个值赋给 package.loaded[modname]。 如果加载器没能返回一个非空值用于赋给 package.loaded[modname], require 会在那里设入 true 。 无论是什么情况,require 都会返回 package.loaded[modname] 的最终值。3.如果在加载或运行模块时有错误, 或是无法为模块找到加载器, require 都会抛出错误。一个描述有一些为包管理准备的编译期配置信息的串。 这个字符串由一系列行构成:第一行是目录分割串。 对于 Windows 默认是 '' ,对于其它系统是 '/' 。第二行是用于路径中的分割符。默认值是 ';' 。第三行是用于标记模板替换点的字符串。 默认是 '?' 。第四行是在 Windows 中将被替换成执行程序所在目录的路径的字符串。 默认是 '!' 。第五行是一个记号,该记号之后的所有文本将在构建 luaopen_ 函数名时被忽略掉。 默认是 '-'。这个路径被 require 在 C 加载器中做搜索时用到。让宿主程序动态链接 C 库 libname 。当 funcname 为 "*", 它仅仅连接该库,让库中的符号都导出给其它动态链接库使用。 否则,它查找库中的函数 funcname ,以 C 函数的形式返回这个函数。 因此,funcname 必须遵循原型 lua_CFunction (参见 lua_CFunction)。这是一个低阶函数。 它完全绕过了包模块系统。 和 require 不同, 它不会做任何路径查询,也不会自动加扩展名。 libname 必须是一个 C 库需要的完整的文件名,如果有必要,需要提供路径和扩展名。 funcname 必须是 C 库需要的准确名字 (这取决于使用的 C 编译器和链接器)。

J. 有哪位大神指导下,Python中文件、模块与包三者之间有什么区别呀麻烦解释的详细点哈,谢谢啦。。。。

Python在处理功能复用和功能颗粒度划分时采用了类、模块、包的结构。这种处理跟C++中的类和名字空间类似,但更接近于Java所采用的概念。

类的概念在许多语言中出现,很容易理解。它将数据和操作进行封装,以便将来的复用。

模块

模块,在Python可理解为对应于一个文件。在创建了一个脚本文件后,定义了某些函数和变量。你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量。一般用mole_name.fun_name,和mole_name.var_name进行使用。这样的语义用法使模块看起来很像类或者名字空间,可将mole_name理解为名字限定符。模块名就是文件名去掉.py后缀。下面演示了一个简单的例子:

#moel1.pydef say(word):print word#caller.pyimport mole1print __name__print mole1.__name__mole1.say(&#39hello&#39)$ python caller.py__main__mole1hello

例子中演示了从文件中调用模块的方法。这里还展示了一个有趣的模块属性__name__,它的值由Python解释器设定。如果脚本文件是作为主程序调用,其值就设为__main__,如果是作为模块被其他文件导入,它的值就是其文件名。这个属性非常有用,常可用来进行模块内置测试使用,你会经常在一些地方看到类似于下面的写法,这些语句只在作为主程序调用时才被执行。

if __name__ == &#39__main__&#39:

app = wxapp(0)

app.MainLoop()

模块搜索路径

上面的例子中,当mole1被导入后,python解释器就在当前目录下寻找mole1.py的文件,然后再从环境变量PYTHONPATH寻找,如果这环境变量没有设定,也不要紧,解释器还会在安装预先设定的的一些目录寻找。这就是在导入下面这些标准模块,一切美好事情能发生的原因。

import os

import sys

import threading…

这些搜索目录可在运行时动态改变,比如将mole1.py不放在当前目录,而放在一个冷僻的角落里。这里你就需要通过某种途径,如sys.path,来告知Python了。sys.path返回的是模块搜索列表,通过前后的输出对比和代码,应能理悟到如何增加新路径的方法了吧。非常简单,就是使用list的append()或insert()增加新的目录。

#mole2.pyimport sysimport osprint sys.pathworkpath = os.path.dirname(os.path.abspath(sys.argv[0]))sys.path.insert(0, os.path.join(workpath, &#39moles&#39))print sys.path$ python mole2.py[&#39e:\Project\Python&#39, &#39C:\WINDOWS\system32\python25.zip&#39, …][&#39e:\Project\Python\moles&#39, &#39e:\Project\Python&#39, &#39C:\WINDOWS\system32\python25.zip&#39, …]

其他的要点

模块能像包含函数定义一样,可包含一些可执行语句。这些可执行语句通常用来进行模块的初始化工作。这些语句只在模块第一次被导入时被执行。这非常重要,有些人以为这些语句会多次导入多次执行,其实不然。

模块在被导入执行时,python解释器为加快程序的启动速度,会在与模块文件同一目录下生成.pyc文件。我们知道python是解释性的脚本语言,而.pyc是经过编译后的字节码,这一工作会自动完成,而无需程序员手动执行。

在创建许许多多模块后,我们可能希望将某些功能相近的文件组织在同一文件夹下,这里就需要运用包的概念了。包对应于文件夹,使用包的方式跟模块也类似,唯一需要注意的是,当文件夹当作包使用时,文件夹需要包含__init__.py文件,主要是为了避免将文件夹名当作普通的字符串。__init__.py的内容可以为空,一般用来进行包的某些初始化工作或者设置__all__值,__all__是在from package-name import *这语句使用的,全部导出定义过的模块。


赞 (0)