文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python的py文件中有哪些细节

2023-06-02 02:49

关注

本篇内容介绍了“Python的py文件中有哪些细节”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

模块是一种以.py为后缀的文件,我们可以在.py文件中编辑Python代码,比如变量、函数、类、逻辑等等,满足某种特定的功能。

比如新建一个test_for_xxxx.py的文件,此时我们已经创建了一个test_for_xxxx模块,模块的名称是该.py脚本文件的名称。

声明代码

在文件的头部编写以下声明代码:

#!/usr/bin/python 或者 #!/usr/bin/env python#coding:utf-8

#!/usr/bin/python指定 【/usr/bin/python】目录下的Python解释器执行Python脚本。

#!/usr/bin/env python根据PATH环境变量中指定的第一个Python解释器,执行Python脚本。【推荐使用】

#coding:utf-8声明该文件的编码格式为 utf-8 。输入该代码就可以使py文件支持中文显示。

程序入口

在文件中添加如下代码:

if __name__ == "__main__"

if name == 'main’相当于Python模拟的程序入口,Python本身并没有这么规定,这只是一种编码习惯。当.py文件被直接运行时,if name == 'main’下的代码块将被运行;当.py文件以模块形式被导入时,if name == 'main’下的代码块不被运行。

包的概念

包是在模块之上的概念,为了方便管理而将文件进行打包,本质是一个目录。比如当两个功能不同的模块文件取了相同的名称时,无法区分导入的模块是哪个模块,就可以分别构造一个包,将模块放在包文件夹下,通过包.模块名来引用模块。通常一个包文件由__init__.py和其他诸多.py文件构成。该__init__.py内容可以为空,也可以写入一些包执行时的初始化代码。

包目录下除了模块文件为,也可以包含子目录,假如子目录中也有 init.py,那么它就是这个包的子包了。

常见的包结构:

package

├── init.py

├── module1.py

└── module2.py

有时候也会提到库的概念。Python库着重强调其功能性,可以视为具有相关功能模块、包的集合,也就是说具有某些功能的模块和包都可以称为库。比如Python内置了强大的标准库、还有像NumPy、Pandas这些强大科学计算功能的第三方库。

import的用法

接下来介绍下import的使用方法。模块的导入可以使用以下方式:

import 模块名称 as 自定义名称 # 可以避免冲突情况的发生import 模块名称1import 模块名称1,模块名称2

比如import test_for_xxxx中import本质上是将test_for_xxxx.py里面的所有代码解释编译之后赋值给了一个当前模块的同名变量test_for_xxxx。

当我们想要访问test_for_xxxx.py里面的name属性时,需要写test_for_xxxx.name,如果想要调用里面的add()函数时需要写test_for_xxxx.add()。导入模块后,模块所在文件夹将自动生成一个对应的__pycache__\test_for_xxxx.cpython-36.pyc文件。

所有被加载到内存的模块都放在sys.modules中,所以执行import时首先查询列表中是否已添加模块。如果已经添加至sys.modules中,那只需要将module的name添加到正在调用该module的本地空间中。如果还没有添加在sys.modules中,就需要在sys.path所有路径的目录中去按顺序查找该模块的文件,这些文件一般后缀为".py"、".pyo"、".pyc"、".pyd"、".dll",找到这些模块后就可以将这些模块添加到sys.modules中,再将module name导入到本地。

如果要导入模块内特定函数或者方法时,则可以使用from…import…,如下所示:

from 模块名称import 函数名称1, 函数名称2, 函数名称3 from module_name import * # 导入所有方法, 不建议使用,以避免冲突情况的发生

from…import…中import的本质就是将test_for_xxxx.py里面的name属性和add()函数代码解释编译之后赋值给了一个叫做name和add的变量中,如果调用add()函数直接调用即可。

另外,导入模块和导入包直接的区别是导入包只是执行了包下面的__init__.py文件而已。

“Python的py文件中有哪些细节”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯