Python基础之模块相关知识总结
作者:简单生活,简单爱 发布时间:2021-09-06 21:39:39
一、什么是模块
容器 -> 数据的封装
函数 -> 语句的封装
类 -> 方法和属性的封装
模块 -> 模块就是程序,模块就是.py文件
导入hello模块,且使用hello命名空间的hi()函数
(1)hello.py模块的创建
注意模块与调用的程序要在同一个文件夹下面
import的时候直接写名字就行了,不用加上.py,eg:hello.py,hello就是模块名
(2)执行
命名空间
在Python中,每个模块都会维护一个独立的命名空间,我们应该将模块名加上,才能够正常使用模块中的函数。
二、导入模块
(1)import导入模块
TemperatureConversion模块
(2)from 模块名 import 函数名(不推荐使用)
会导入整个命名空间
(3)import 模块名 as 新名字(推荐使用)
三、name=‘main'
文件架构
TemperatureConversion.py文件
将测试代码写在了TemperatureConversion.py文件中
在calc.py中调用TemperatureConversion模块,这种方式会导致将python中的测试代码也打印出来了
为了解决上面的问题,需要让python知道:该模块是作为程序运行,还是导入到其他程序中,所以使用了__name__变量。
在主程序中使用__name__变量,得到的是__main__变量。
tc.__name__得到的是模块的名字。
所以修改TemperatureConversion.py文件。
若__name__等于模块名的话,说明该模块是被作为模块导入的。
若__name__等于__main__的话,说明该模块是主程序。
在calc.py中调用TemperatureConversion模块,其结果
四、搜索路径
搜索路径(系统会首先搜索的路径)
>>> import sys
>>> sys.path
['D:\\python3.3.2\\小甲鱼python\\python程序\\第五十节课\\Temperature',
'D:\\python3.3.2\\Lib\\idlelib', 'C:\\windows\\system32\\python33.zip',
'D:\\python3.3.2\\DLLs', 'D:\\python3.3.2\\lib', 'D:\\python3.3.2',
'D:\\python3.3.2\\lib\\site-packages']
推荐放到:D:\\python3.3.2\\lib\\site-packages
添加搜索路径:
>>> import TemperatureConversion
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import TemperatureConversion
ImportError: No module named 'TemperatureConversion'
>>> import sys
>>> sys.path.append("D:\\python3.3.2\WODE\Temperature")
>>> sys.path
['', 'D:\\python3.3.2\\Lib\\idlelib', 'C:\\windows\\system32\\python33.zip',
'D:\\python3.3.2\\DLLs', 'D:\\python3.3.2\\lib', 'D:\\python3.3.2',
'D:\\python3.3.2\\lib\\site-packages', 'D:\\python3.3.2\\WODE\\Temperature']
>>> import TemperatureConversion
>>> TemperatureConversion.f2c(59)
15.0
(package)
(1)创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字;
(2)在文件夹中创建一个__init__.py的模块文件,内容可以为空;
(3)将相关的模块放入文件夹中
eg:制作包并导入包
来源:https://blog.csdn.net/u011436427/article/details/117265726
猜你喜欢
- 在我们的`` current_datetime`` 视图范例中,尽管内容是动态的,但是URL ( /time/ )是静态的。 在 大多数动态
- 本文以修改用户名密码单元为案例,编写测试脚本。完成修改用户名密码模块单元测试。(ps.这个demo中登陆密码为“admin”)1. 打开浏览
- 目录单例模式反射hasattergetattrsetattr总结单例模式一般情况下,类可以生成任意个实例,而单例模式只生成一个实例我们先用单
- 在本身比较复杂的页面里,再突出信息,往往是把几种方法叠加起来使用,比如加粗加大、加粗加色等,区别在于使用的类别和程度。导致的结果是呈现越来越
- 以下虚线框内为mk.asp文件的具体代码:<%filename="test.htm"if request
- 查询效率分析:子查询为确保消除重复值,必须为外部查询的每个结果都处理嵌套查询。在这种情况下可以考虑用联接查询来取代。如果要用子查询,那就用E
- 最近为数据库服务器增加了内存,达到了最大支持的8G,数据库用的是mssql 2005 ,之前内存一直是4G的,不存在内存大和32位操作系统冲
- 其实我这样做的本意是为了防止盗链!大家帮忙看一下通过代码能够根治盗链!只要不是HTTP_REFERER来源于(google.com goog
- 本文实例讲述了PHP封装cURL工具类。分享给大家供大家参考,具体如下:CurlUtils工具类:<?php/** * cURL请求工
- 本文实例讲述了Python数据分析之双色球基于线性回归算法预测下期中奖结果。分享给大家供大家参考,具体如下:前面讲述了关于双色球的各种算法,
- 前言动态生成表格是前端开发中非常重要的内容,常常是后端返回数据(大多是json类型),我们前端通过js循环来动态添加,所以这部分内容是十分重
- 继团队的CSS3.0中文手册在国内首发以后,最近风风火火的到处吹起HTML5.0和CSS3.0的春风;似乎在这浏览器互相调侃的年代,成就了一
- PHP PDO 预处理语句与存储过程很多更成熟的数据库都支持预处理语句的概念。什么是预处理语句?可以把它看作是想要运行的 SQL 的一种编译
- QL Server事件探查器(Profiler)可以帮助数据库管理员跟踪SQL Server数据库所执行的特定事件,监视数据库的行为;并将这
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 11 - Using Fx.Morph, Fx O
- 尽管甲骨文收购Sun交易尚在等待最终结果,业界对开源数据库MySQL的未来命运也十分担忧,但Sun的开发者依然在继续努力研发该开源数据库。他
- 有一次去超市换货,本能的找到服务中心,服务中心说这个业务在超市旁边一个房间里,由于忘记带小票,那个小房间的人让我去另外一个小房间调电脑里的记
- 摘要在这篇文章里,我将以反模式的角度来直接讨论Django的低级ORM查询方法的使用。作为一种替代方式,我们需要在包含业务逻辑的
- ASP.net处理文件上传就简单的多了,我呢也是在学习中,顺便写写学习笔记。 先在表单中添加enctype="multipart/
- 前提:因为本文主要围绕着在thinkPHP5中使用redis的,所以关于redis的安装就不特意说明了,不过在这稍微提醒一下,安装完redi