python之模块学习.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
python之模块学习python之模块学习

Python之模块模块简介 python是由一系列的模块组成的,每个模块就是一个py为后缀的文件,同时模块也是一个命名空间,从而避免了变量名称冲突的问题。模块我们就可以理解为lib库,如果需要使用某个模块中的函数或对象,则要导入这个模块才可以使用,除了系统默认的模块(内置函数)不需要导入外。 导入直接使用如下语法: ?import 模块名称 (不要.py后缀) 这样导入成功后,就可以在另外一个模块中使用被导入模块的功能函数或对象。 举例如下,比如在F:\Pro-files\workspace\myPython目录下建立com.homer.python模块:module_1.py: [python]?view plaincopyprint? #?-*-?coding:utf-8?-*-?? module_1.py?? name?=?ithomer?? url?=??? 上面第一行是指定编码格式,因为python默认是按照ascii编码来处理的,因此就无法处理非英文语言,通过指定编码就可以实现国际化效果,即容许中文注释。第二行是注释信息,使用”’进行注释。然后,我们通过F:\Pro-files\workspace\myPython\com\homer目录进入到python的命令行模式,这样就可以将当前目录作为工作目录,从而也就可以顺利的找到了module_1这个模块了,如下: [python]?view plaincopyprint? :\Pro-files\workspace\myPython\com\homerpython?? Python?3.3.3?(v3.3.3:c3896275c0f6,?Nov?18?2013,?21:19:30)?[MSC?v.1600?64?bit?(AMD64)]?on?win32?? Type?help,?copyright,?credits?or?license?for?more?information.?? ??? ?此时如果我们直接输入print(url),系统则会报错,url变量未定义: [python]?view plaincopyprint? ?print(url)?? Traceback?(most?recent?call?last):?? ??File?stdin,?line?1,?in?module?? NameError:?name?url?is?not?defined?? ?? 所以我们需要先导入module_1的内容才算定义了url变量,不过要注意的是导入的模块的变量并不是定义在顶层命名空间,而是在模块的命名空间中,因此使用如下方式导入后的打印变量如下: [python]?view plaincopyprint? ?import?module_1?? ?print(module_1.url)?? ?? ?如果直接使用print(url),仍然还是会报url未定义的错误,原因就是上面说到的命名空间的问题。如果想要直接在顶层命名空间中使用该变量,可以使用如下导入方式: [python]?view plaincopyprint? ?from?module_1?import?url?? ?print(url)?? ?? 这样就可以将module_1模块中的url变量导入到顶层命名空间了,直接使用变量也就不会报错了。当然我们也可以为导入的变量重命名,如下把url重命名为myurl: [python]?view plaincopyprint? ?from?module_1?import?url?as?myurl?? ?print(myurl)?? ?? 这样就可以将url的值赋给myurl这个变量了,因为是使用了from…import语句,因此是将变量绑定在顶层命名空间,我们也就可以直接使用变量名了。 ?需要注意的是无论是使用import还是使用from..import的方式导入模块,其实都是在告诉python解释器要加载指定的模块,并执行模块中的所有语句,因此如果模块中有类似print的语句时,我们在导入的过程中也会看到这些语句的输出。 对于每个模块的导入,python解释器只会导入一次,即使重复使用import和from…import语句,也只有在PVM检测到该模块没有被导入时才执行导入动作。即使后来你修改了模块的源代码,但没有重启PVM,python解释器仍然是使用之前导入的内容在处理。如果需要重新载入修改后的源码,一是退出python的交互模式后再进入,二是直接使用reload语句,如下: [python]?view plaincopyprint? ?from?imp?import?reload?? ?reload(module_1)?? module?module_1?f

文档评论(0)

ganqludp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档