Python基础笔记系列十:模块
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!!
- 模块
#1.类比于java中的jar包,模块能让你能够有逻辑地组织你的Python代码段。
#2.把相关的代码分配到一个模块里能让你的代码个更好用,更易懂。
#3.模块也是Python对象,具有随机的名字属性用来绑定或引用。
#4.简单来说,模块就是一个保存了Python代码的文件。模块能自定义函数,类和变量。模块里也能包含可执行的代码。 - 模块引入
python提供了很多第三方的模块可以引入,python标准安装包里的模块称为标准库。模块的引入主要有以下三种:
①引入模块import moduleName
②引入模块下的函数
from moduleName import function1 , function2 ,...
③引入模块的所有函数
from moduleName import *
其中第一种引入模块的方式在使用模块时需要带上模块名(moduleName.methodName),如math.sqrt();
引入模块后就可以使用模块里的方法了。
例子:计算25的平方根import math
r = math.sqrt(25)
print r如果模块或者函数名字过长可以在import后使用as给该模块取个假名,之后可以通过“假名.函数”来使用模块里的函数。
例子:import webbrowser as myweb
myweb.open_new_tab("http://www.cnblogs.com/hyyq/") 使用自定义模块
任何Python程序hello.py(无主函数)都可以作为一个模块被另外一个Python程序test.py引入使用。
例子:
hello.py :#incoding:utf-8
def hello():
print 'import this module!'
def bokeyuan():
print 'http://www.cnblogs.com/hyyq/'test.py :
#incoding:utf-8
import hello #文件名作为模块名,不需要后缀.py哦~
hello.hello()
hello.bokeyuan()输出:
import this module!
http://www.cnblogs.com/hyyq/以上引入模块的程序和模块程序需要在同一目录下,局限性很大。如果想让模块可以被任何文件引用,可以调用os.path.append(模块文件所在目录)添加模块所在目录到系统里去。
例子:假设文件结构~/|模块 #文件夹模块
—————|test.py #调用‘hello’模块的程序文件
—————|hello #hello文件夹
———————|hello.py #模块文件
———————|hello.pyc #模块字节码文件test.py:
#incoding:utf-8
import sys
sys.path.append('./hello') #当前目录下的hello文件夹
import hello #文件名作为模块名,不需要后缀.py哦~
hello.hello()
hello.bokeyuan()这种将文件目录加入系统里这种方式也有局限性,并且用起来也很麻烦。一般地,通用的告知python解释器到哪儿去找模块文件的方法有三:
①PYTHONPATH环境变量里增加模块文件路径
②.pth文件,文件里列出所有模块文件所在路径(放在python安装目录下即可)
③模块打包(推荐)
Python基础笔记系列十:模块的更多相关文章
- Python基础笔记系列十二:requests模块的简单应用
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! httpbin httpbin这个网站能测试 HTTP 请求和响应的各种信 ...
- Python基础笔记系列十四:python无缝调用c程序
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python语言可以对c程序代码进行调用,以弥补python语言低性能的缺 ...
- Python基础笔记系列十一:标准输入输出、文件读写和指针等操作
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 标准输入输出一.输入 在sublime中这个时候需要安装SublimeRE ...
- Python基础笔记系列一:基本工具与表达式
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 工具基础(Windows系统下)传送门:Python基础笔记系列四:工具的 ...
- Python基础笔记系列十三:socket网络编程
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!!使用python编写一个简易的服务端程序和客户端程序,启动服务端和客户端(监 ...
- Python基础笔记系列九:变量、自定义函数以及局部变量和全局变量
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 变量在前面的系列中也许就可以发现,python中的变量和C中的变量有些许不 ...
- Python基础笔记系列四:工具的安装与配置
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 一开始是没有打算写工具这篇的,后来发现在某些情况下会遇到一些奇怪的问题,这 ...
- Python基础笔记系列八:字符串的运算和相关函数
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 字符串的运算1.字符串的加法和乘法 python中不但支持字符串相加,还支 ...
- Python基础笔记系列七:字符串定义和访问
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 字符串定义和访问 1.字符串基础 a.字符串可以用单引号.双引号.三引号( ...
随机推荐
- Linux之Redis-redis哨兵集群详解
1.Sentinel 哨兵 Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所 ...
- nodejs获取参数的方法
1 获取get的querystring参数 GET /test?name=fred&tel=0926xxx572 let aa = req.param("name"); l ...
- linux qt下 QSqlDatabase: QMYSQL driver not loaded
出现上述问题是qt安装目录未包含mysql驱动. 解决方法如下: 1.查看系统是否存在libqsqlmysql.so find / -name libqsqlmysql.so 2.若不存在该文件则安装 ...
- Leetcode 235
思路1:对于一棵二叉排序树 1.如果当前节点的值小于p,q的值,那么LCA一定在root的右边: 2.如果当前节点的值大于p,q的值,那么LCA一定在root的左边: 3.如果当前节点的值在p,q的值 ...
- spring boot 引导
链接:https://www.zhihu.com/question/39483566/answer/243413600 Spring Boot 的优点快速开发,特别适合构建微服务系统,另外给我们封装了 ...
- AngularJS多模块开发与路由
这里只是做一个笔记 angularjs模块(父子级)比如我有一个项目叫做shcool,那么我school下边有两个模块,student.teacher.此时school就属于主模块,其他都是子模块.子 ...
- XVII Open Cup named after E.V. Pankratiev Stage 14, Grand Prix of Tatarstan, Sunday, April 2, 2017 Problem J. Terminal
题目:Problem J. TerminalInput file: standard inputOutput file: standard inputTime limit: 2 secondsMemo ...
- 【android内存泄露】 WebView篇
在咱的博客园app里,新闻的内容使用WebView展示的.在测试中,咱重复进入.退出某个新闻10多次,观察到 Objects一直在不断增长,反复触发GC,但是一直回收不了,占用的内存越来越高,于是警觉 ...
- 实战DVWA!
DVWA漏洞训练系统,来个大图^-^ 1.首先试了下DVWA的命令执行漏洞command execution 这是我在Low级别上测试的,另外附上low级别代码: <?php if( i ...
- cocostudio 在VS模拟器中加载资源显示混乱问题
这个是由于cocos2d-x的资源是统一按照文件名管理的,所以游戏全局不能有重名. PS:所有用到的素材名字必须单一.