elementui的css文件没有引入_Python中引入模块详细介绍,使用模块的过程中注意事项教程...

81d7a439a41a1827973d5be9cc13e402.png

为此 Python 提供了一个办法,把这些定义存放在文件中,这个文件被称为模块。

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。

94f289ae8a2e5af907fbdf76fdda5ffb.png

你也许还想到,如果不同的人编写的模块名相同怎么办?为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包。


一个.py文件就称之为一个模块

举个例子,一个a.py的文件就是一个名字叫a的模块,一个b.py的文件就是一个名字叫b的模块,一个c.py的文件就是一个名字叫c的模块。

8f50ff4646f045197251e15240eb6145.png
创建自己的模块时,要注意:
  • 模块名要遵循Python变量命名规范,如果线上项目不要使用中文、特殊字符。线下自己使用可以用中文,方便归类管理。
  • 模块名不要和系统模块名冲突,最好先查看系统是否已存在该模块。
  • 自己创建模块时要注意命名,不能和Python自带的模块名称冲突。例如,系统自带了sys模块,自己的模块就不可命名为sys.py,否则将无法导入系统自带的sys模块。

模块名字与其他模块冲突

我们的a和b、c这些模块名字与其他模块冲突了,于是我们可以通过包来组织模块,避免冲突。方法是选择一个顶层包名,比如【文章】,因为本地自己使用所以使用中文。为什么选择python2,而不是python2很大原因就是中文编码的支持。

引入了包以后,只要顶层的包名不与别人冲突,那所有模块都不会与别人冲突。现在,【a.py】模块的名字就变成了【文章.a】,类似的,【b.py】的模块名变成了【文章.b】,【c.py】的模块名变成了【文章.c】。

请注意,每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是【文章】。

ae9c700d6a4a42b53a1839dd8382692b.png

import 语句

把一个包、模块全部引入。语法如下:

004d0c0909bd27398b78256c1c63a346.png

一个import引入多个模块逗号隔开。多个import引入模块换行。语法如下:

838a473c6d31b7b323eefafaad292e57.png

推荐使用多个import引入模块换行。

使用格式:分别引入了两个内置模块datetime和time。其中长方形里面代表的是模块名。

f1cee4ba9c0d5e2cd07bf723d5d955cb.png
别名:有些模块名很长,不想写这么长和记那么多,就取别名。

a1395ed7204c2baed7e9a2f650879374.png

from … import 语句

语法如下:

e09e168c87d71f1cfae49c4c53c606db.png

实例引入:

a7057237af3307e3e2af7e32fe4c705f.png

使用介绍:直接使用,不需要模块名。

658b8046f7a2af9f9feccd832c31d6e9.png

import 语句和from … import 语句的使用区别:
  • import 语句中使用格式:模块名.方法(属性)。
  • from … import 语句中都是不需要模块名,直接使用方法(属性)。

if __name__ =='__main__':

一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。

定义a和b两个函数,用if __name__ =='__main__':分开

ad3eb98dba95cdef996db50da2911921.png

如果看标准的语意许多人都摸不着头脑。我也是学习和找很多资料才弄明白。如果理解就感觉很简单。

执行a和b函数:

e2d5052e9ce195329a035d30fefabd79.png

输出结果:

bdd1140cf082146effbbd592e764e1ad.png

在当前文件中可以执行a和b两个函数,如果其他模块把当前文件当做模块引入。

只能执行a函数,找不到if __name__ =='__main__':下面的b函数,执行b函数报错提示没有定义。

这样子可以把if __name__ =='__main__':看成是一条分割线,分为上下两部分。

如果在当前文件就可以运用所有,其他文件引用就只能运用if __name__ =='__main__':上面部分,下面部分就不可以运用。


说明:

每个模块都有一个__name__属性,在它们自己的模块里值都是'__main__'。但是被其他地方引用就不是'__main__',而是文件名。

比如a.py和b.py,本来a和b 的__name__的值都是'__main__'。但是a把b引入,b在a中的__name__=='b.py',b.py不等于a.py。所以不能用b.py if __name__ =='__main__':下面部分的代码。

7a068ebd1a98e01454e385cfd9aefa75.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461376.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【原】git命令行查看全部分支与远程分支不同步问题

git branch -a 查看全部分支 git fetch 重新拉一下分支 转载于:https://www.cnblogs.com/luckyXcc/p/11528000.html

星空摄影入门

https://www.zhihu.com/question/21710281?fromprofile_question_card

猫:君主般的眼神 监视领地。 狗

转载于:https://www.cnblogs.com/imihiroblog/archive/2013/02/04/2891326.html

积累的VC编程小技巧之文件操作

1.删除文件夹 // 删除文件夹及其所有内容void CBaseDoc::RemoveFolder(const CString &strPathName){ CString path strPathName; if (path.Right(1) ! _T("\\")) path _T("\\"); path _T("*.*"); CFileFind ff; B…

Redis分布式锁解决抢购问题

转:https://segmentfault.com/a/1190000011421467 废话不多说,首先分享一个业务场景-抢购。一个典型的高并发问题,所需的最关键字段就是库存,在高并发的情况下每次都去数据库查询显然是不合适的,因此把库存信息存入Red…

Linux进程编程1——与“进程”相关的常识

以下内容源于网络资源的学习与整理,如有侵权请告知删除。 一、进程的概述 进程,是指一个具有独立功能的程序关于某个数据集合的一次可以并发执行的运行活动,是处于活跃状态的计算机程序,是系统进行资源分配和调度的基本单位。进程…

在成长中遇到的挫折事件对你的影响_多种语言环境中成长的宝宝,会影响说话早晚?其实没有想象的复杂...

关于用多种语言抚养孩子的案例比比皆是,但并不是所有的父母都鼓励这样做,他们被告知这会导致孩子混乱和语言延迟,使他们错过机会之窗。以下是最常见的案例,以及把孩子培养成双语者背后的真实故事。误解一、与多种语言一起长大会使…

java道路级别

第一级:神人,天资过人而又是技术狂热者同时还拥有过人的商业头脑,高瞻远瞩,技术过人,大器也。如丁磊,求伯君。 第二级:高人,有天赋,技术过人但没有过人的商业头脑&#x…

C#求数组中元素的全排列

2019独角兽企业重金招聘Python工程师标准>>> 1.算法描述 全排列的第一项是该数组的升序排列,最后一项是该数组的降序排列。本文中用到的了一个函数FindNextArray:从升序排列开始,不断使用函数FindNextArray,可以遍历全…

PHP+Ajax手机移动端发红包实例

PHPAjax手机移动端发红包实例 基本流程:当输入完红包数量和总金额后,PHP会根据这两个值进行随机分配每个金额,保证每个人都能领取到一个红包,且每个红包金额不等,并且所有红包金额总额等于总金额。 实现原理&#xff1…

Linux进程编程2——与“进程”相关的API

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 一、fork()函数&#xff1a;父进程创建子进程 函数原型 所需头文件 #include <unistd.h> #include <sys/types.h> 函数原型pid_t fork(void);返回值在子进程中返回0&#xff0c;在父进程…

语法和c区别_dockerfile语法

上次写了关于Dockerfile镜像精简之道之后&#xff0c;很多小伙伴找我问&#xff0c;dockerfile语法的一些东西&#xff0c;这边文章就介绍一下dockerfile语法吧FROMFROM是位于我们dockerfile命令的第一层&#xff0c;首先就会使用该命令。当然一个DokcerFile中存在多个镜像时&a…

Dojo学习笔记(三):类化JavaScript

dojo/_base/declare模块是Dojo Toolkit中创建类的基础。declare支持多重继承&#xff0c;这使得开发者能够编写更加灵活的代码并避免代码多次重写。Dojo.Dijit和Dojox模块都使用declare&#xff0c;在这篇文章中&#xff0c;你就知道为什么你也要这样做了。 准备学习 在开始学习…

联想ThinkCentre M8400t-n000等高配电脑重装成xp蓝屏0xc000007b代码

联想ThinkCentre M8400t&#xff0d;n000等高配电脑重装成xp蓝屏0xc000007b代码配置方法&#xff1a;开机进入bios设置界面 &#xff0c;然后把那个硬盘接口从SATA设置成IDE模式。SATA比IDE高级&#xff0c;具有更高的硬盘传输速度&#xff0c;但是早先XP出的时候还不支持SATA&…

Linux进程编程4——父子进程对文件的操作

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 1、子进程继承父进程中打开的文件 &#xff08;1&#xff09;上下文&#xff1a;父进程先用open打开一个文件得到fd&#xff0c;然后再fork创建子进程&#xff0c;之后在父子进程中各自write向fd中写入内容。…

BIOS误删win10引导 delete boot option如何恢复

BIOS误删win10引导 delete boot option如何恢复 其他系统也可以用来参考,解决只是将原来的配置加回去而已 倒了血霉 说个原则,希望大家在发现错误之后第一时间是保护现场不要乱动,如果在百度或别的地方找到了解决方案,先百度一下这个解决方案是否可行,不然不要轻易尝试,这些解决…

fir fpga 不同截止频率_一种新的FIR滤波器系数量化方法

相对于模拟滤波器&#xff0c;数字滤波器具有高精度、高可靠性、可编程改变滤波特性、便于集成等一系列优点&#xff0c;并且理论上可实现近似理想频率特性的滤波性能。经典的数字滤波器主要包括有限脉冲响应(Finite Impulse Response&#xff0c;FIR)滤波器和无限脉冲响应(Inf…

How to: Build a Client Application

转载于&#xff1a;http://msdn.microsoft.com/en-us/library/y6dc64f2(vvs.80).aspx 转载于:https://www.cnblogs.com/aran/archive/2013/02/22/2922438.html

Linux文件和目录权限

前言文件系统权限可以用‘ll’或者‘ls -l’查看第一位表示文件类型&#xff0c;后面9位三三一组分别表示属主&#xff0c;属组&#xff0c;其他用户权限其中r对文件表示可读权限&#xff0c;如cat&#xff0c;tail&#xff0c;more&#xff0c;less等对目录表示可以使用ls命令…

Linux进程编程3——守护进程

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 一、守护进程介绍 1、进程查看命令ps ps -ajx偏向显示各种有关的ID号&#xff1b;ps -aux偏向显示进程各种占用资源 2、&#xff08;用于向进程发送信号的&#xff09;指令kill “kill -信号编号 进程ID”&a…