|
一、前言写过Python的猿猿肯定对import不陌生。但Python在importmodule时会执行相关的代码,你知道吗?Pythonimport还有其他的什么特性呢?通过这一篇文章,彻底掌握Pythonimport二、Pythonimport详解2.1Pythonimport介绍在Python中,import是用于导入模块和模块中定义的变量、函数、类等内容的关键字。import的作用是扩展Python的功能,并允许在代码中使用其他模块提供的功能。2.2Pythonimport例子下面是import的主要作用和使用场景,并给出相应的例子:导入模块:使用import可以导入一个完整的模块,以便在代码中使用该模块中定义的功能。例如:python复制代码importmathprint(math.pi)#使用math模块中的常数pi12345导入模块中的特定内容:使用frommoduleimportname语法可以导入模块中的特定函数、变量或类,以便直接在代码中使用,而不需要使用模块名称作为前缀。例如:python复制代码frommathimportsqrtprint(sqrt(16))#直接使用sqrt函数,无需使用math.sqrt12345给导入的模块或内容起别名:使用importmoduleasalias或frommoduleimportnameasalias语法可以为导入的模块或内容指定一个别名,以便在代码中使用更短的名称。例如:python复制代码importnumpyasnpprint(np.array([1,2,3]))#使用别名np代替numpy12345导入模块中的所有内容:使用frommoduleimport*语法可以导入模块中的所有内容,使其在代码中直接可用。但这种做法通常不被推荐,因为它会导致命名冲突和可读性问题。例如:python复制代码frommathimport*print(sin(pi/2))#直接使用导入的sin和pi,但不推荐这种写法12345这些是import的主要作用和使用场景。通过导入其他模块,可以扩展Python的功能,并重用已有的代码。使用合适的导入方式和别名,可以使代码更加简洁和可读。2.3Pythonimport进一步解释2.3.1Pythonimportmodule在Python中,当一个模块被导入时,模块中的代码会被执行。然而,模块中的代码只会在第一次导入时执行一次。之后,如果再次导入同一个模块,Python解释器会直接使用已经加载的模块,而不会再次执行模块中的代码。这种行为是为了确保**模块中的代码只会被执行一次****,以避免重复执行相同的操作。通过导入模块,我们可以在需要时使用其中定义的函数、类和变量,而不必重新执行模块中的代码。值得注意的是,如果在模块中存在全局级别的可执行语句(例如函数定义以外的代码),则在导入时会执行这些语句。因此,模块的导入可能会触发一些副作用操作,例如打印输出或初始化全局变量。比如:创建test1.pypython复制代码print("我是test1,我被执行了")defsay_hello():print("helloworldtest1")123456再创建test2.pypython复制代码defsay_hello():fromtestimporttest1test1.say_hello()if__name__=='__main__':foriinrange(10):say_hello()12345678910执行test2.py输出text复制代码我是test1,我被执行了helloworldtest1helloworldtest1helloworldtest1helloworldtest1helloworldtest1helloworldtest1helloworldtest1helloworldtest1helloworldtest1helloworldtest1123456789101112132.3.2Pythonimportpackage在Python中,当导入一个包(package)时,包本身不会被执行。只有在使用该包中的模块或对象时,才会执行相应的代码。当导入一个包时,Python解释器会查找并执行该包下的__init__.py文件。__init__.py文件可以包含一些初始化代码,用于设置包的环境、导入子模块或执行其他需要在导入时执行的操作。但这些代码只会在首次导入包时执行一次。例如,假设我们有一个名为my_package的包,它的结构如下:markdown复制代码my_package/__init__.pymodule1.pymodule2.py123456在__init__.py文件中,我们可以放置一些初始化代码:python复制代码print("Executinginitializationcodeinmy_package")#导入子模块from.importmodule1from.importmodule21234567然后,我们可以在另一个脚本中导入my_package包:python复制代码importmy_packageprint("Importcompleted")12345运行上述脚本,输出如下:css复制代码Executinginitializationcodeinmy_packageImportcompleted1234从输出结果可以看出,在导入my_package包时,__init__.py中的初始化代码被执行了一次。然后,Importcompleted被打印出来,表示导入完成。但注意,这里的执行是指__init__.py中的代码被执行,并不是包中的所有模块都被导入和执行。只有在使用my_package中的具体模块或对象时,才会执行相应的代码。总结起来,当导入一个Python包时,包本身的代码不会被执行,只有在使用包内的模块或对象时才会执行相应的代码。__init__.py文件中的初始化代码会在首次导入包时执行一次,可用于设置包的环境和导入子模块。三、总结介绍了Python中import关键字的使用方法和工作原理。通过import,可以导入模块和模块中定义的内容,扩展Python的功能。文章提供了导入模块、导入模块中的特定内容、给导入的模块或内容起别名以及导入模块中的所有内容的例子,展示了import的多种用法。此外,文章解释了模块的代码只会在第一次导入时执行一次的特性,以及导入包时执行__init__.py文件的初始化代码。最后,总结了导入包时只有在使用包内的模块或对象时才执行相应代码,而__init__.py文件中的初始化代码只会在首次导入包时执行一次。这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!CSDN大礼包:全网最全《全套Python学习资料》免费分享🎁😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓👉CSDN大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈1️⃣零基础入门①学习路线对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。②路线对应学习视频还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~③练习题每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!因篇幅有限,仅展示部分资料2️⃣国内外Python书籍、文档①文档和书籍资料3️⃣Python工具包+项目源码合集①Python工具包学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!②Python实战案例光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!③Python小游戏源码如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!4️⃣Python面试题我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。5️⃣Python兼职渠道而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。上述所有资料⚡️,朋友们如果有需要📦《全套Python学习资料》的,可以扫描下方二维码免费领取🆓😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓👉CSDN大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈
|
|