有没有讲python模块的书_python - 模块,包
一.模块
定义:有些功能开发者自己无法完成(例:与操作系统打交道,时间,1000取随机数,压缩文件,网络通信),需要借用已经实现的函数/类来完成这些功能
模块的分类:
1, 内置函数:安装python解释器的时候跟着安装的那些方法
2,自定义模块:你写的功能如果是一个通用功能,那么就把它当作一个模块
3,第三发模块/扩展模块:没在安装python解释器的时候跟着安装的那些方法
模块的导入顺序:先导入内置模块,再导入第三方模块,最后导入自定义模块
模块的重命名
import my_moudle as m
导入多个模块
#import os,my_moudle,sys # 1 横向导入#PEF8规范 # 2 纵向导入#import os#import sys#所有的模块都应该尽量放在这个文件的开头
一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。
#import my_moudle # 要导入一个py文件的名字,但不会加.py后缀名#import my_moudle # 模块的名字必须要满足变量命名的规范,一般情况下,模块都是小写开头
二.from...import
#from my_moudle import login # import login 知道了login这个名字,那么会在本文件中创建一个变量,指向这个模块命名空间中的login函数#login() # from my_moudle 会找到my_moudle模块,开辟一块属于这个模块的命名空间,执行函数
#def login():#print('hello world')#当模块中导入的变量与方法 和 本文件中的变量重名时,那么这个名字只代表最后一次对它赋值的变量或方法#login()
#from my_moudle import login
#导入了什么 就能使用什么
#不导入的变量 就不能使用
#不导入并不意味着不存在,而是没有建立从文件到模块的其他名字的引用#print(name)
导入多个
#from my_moudle import login,name#print(name)#login()
重命名
#from my_moudle import login as l,name as n#print(n)#l()
*导入模块中的所有变量
#from my_moudle import *#print(name)
__all__ = [] 控制*导入的内容
#__all__ = ['login']
三.把模块当作脚本运行
运行py文件的两种方式:
#1 以模块的方式运行
#import my_moudle#2 以脚本的方式运行
#直接运行pycharm解释器,cmd运行
#在编写py文件的时候#所有不在函数和类中封装的内容都应该写在#if __name__ == '__main__':下面#if __name__ == '__main__':#print('路过人间,世人都善变')#print(__name__,type(__name__)) # '__main__'/'my_moudle'
#在使用反射自己模块中的内容的时候#import sys#sys.modules[__name__]
四.包
导入包 相当于执行了__init__.py文件
直接导入模块
#import book.letter.bookworm#book.letter.bookworm
#import book.letter.bookworm as bookworm#bookworm.get()
#from book.letter import bookworm#bookworm.get()
绝对导入
#import sys#sys.path.append('D:\python_worksapce\day24\模块导入的专题练习\core')#import main
相对导入
#import sys#lst = __file__.split('/')#base_path = '/'.join(lst[:-2])#sys.path.append(base_path)#from core import main
如果使用了相对导入的模块只能被当作模块执行,不能被当作脚本执行
五.set去重机制
#class Employee:#def __init__(self,name,sex,age,partment):#self.name = name#self.sex = sex#self.age = age#self.partment = partment#
#def __hash__(self):#return hash('%s%s' % (self.name,self.sex))#
#def __eq__(self, other):#if self.name == other.name and self.sex == other.sex:#return True#
#employ_lst = []#for i in range(200):#employ_lst.append(Employee('alex','male',i,'python开发部'))#for i in range(200):#employ_lst.append(Employee('wusir','male',i,'go开发'))#for i in range(200):#employ_lst.append(Employee('taibai','male',i,'爬虫'))#
#employ_lst = set(employ_lst)## print(employ_lst)#for Person in employ_lst:#print(Person.__dict__)
有没有讲python模块的书_python - 模块,包相关推荐
- python email模块详解_python模块之email: 电子邮件编码解码 (一、解码邮件)-阿里云开发者社区...
python自带的email模块是个很有意思的东西,它可以对邮件编码解码,用来处理邮件非常好用. 处理邮件是一个很细致的工作,尤其是解码邮件,因为它的格式变化太多了,下面先看看一个邮件的源文件: Re ...
- python模块的函数_Python模块及函数的使用
一. 1.模块是包含函数和其他语句的脚本文件,以".py"为后缀名,在Python中可以通过导入模块来使用模块中的函数或数据. 创建一个文件fun.py内容如下: def f1() ...
- python模块大全使用说明_python模块详解
使用python时,常常会涉及到库的调用,这就需要掌握模块的基本知识.本文分为如下几个部分 概念说明 模块的简单调用 包的导入 特殊的__init__.py文件 导入模块的搜索路径 __all__ 绝 ...
- python email模块详解_python模块之email: 电子邮件编码解码 (一、解码邮件)
python自带的email模块是个很有意思的东西,它可以对邮件编码解码,用来处理邮件非常好用. 处理邮件是一个很细致的工作,尤其是解码邮件,因为它的格式变化太多了,下面先看看一个邮件的源文件: Re ...
- python模块的函数_python模块内置函数
python提供了一个内联模块buildin,该模块定义了一些软件开发中经常用到的函数,利用这些函数可以实现数据类型的转换.数据的计算.序列的处理等. 模块的内置函数: 1.apply():可以调用可 ...
- python模块搜索路径_Python模块搜索路径
当一个名为 spam 的模块被导入的时候,解释器首先寻找具有该名称的内置模块.如果没有找到,然后解释器从 sys.path 变量给出的目录列表里寻找名为 spam.py 的文件.sys.path 初始 ...
- python导入模块以及类_python模块的导入以及模块简介
标签: 一.模块的定义及类型 1.定义 模块就是用一堆的代码实现了一些功能的代码的集合,通常一个或者多个函数写在一个.py文件里,而如果有些功能实现起来很复杂,那么就需要创建n个.py文件,这n个.p ...
- python怎么定义名称_Python模块的定义,模块的导入,__name__用法实例分析
本文实例讲述了Python模块的定义,模块的导入,__name__用法.分享给大家供大家参考,具体如下: 相关内容: 什么是模块 模块的导入 模块的导入 自模块的导入 同级目录导入 不同级目录导入 目 ...
- python 阮一峰_Python模块整理
这两天学习了一些基本的Python模块,现在做一些整理,理清楚 查看大佬的理解:http://www.cnblogs.com/alex3714/articles/5161349.html 开始时间:1 ...
最新文章
- 巧用Excel记录单快速输入数据
- NET中的异步编程(二)- 传统的异步编程
- 将外部知识整合到群体智能中,以获得更具体的知识
- php分页功能乱码了怎么办,51、PHP文件内容分页操作,避免乱码
- Android 开发笔记——通过 Intent 传递类对象
- android 布局点击效果,如何让LinearLayout也有类似Button的点击效果?
- UVA - 514:Rails
- DOM 节点的创建、删除、替换
- 图像频域增强:低通滤波器
- git 码云上传本地项目
- 阿里云E-HPC+i4p大内存实例,加速寻因生物单细胞数据分析效率
- 手机ncm转mp3工具_一款手机、电脑都能用的文字转语音工具,够高能! - 橘子世界...
- 优化算法 - 遗传算法
- 小马激活工具激活系统后,电脑不能启动,出现错误 a disk read error occurred
- 一个nginx小白的vue项目部署的成功!
- STM32蓝牙控制LED灯开关
- Paper Reading Notes
- 解决前端工程师与UI设计协同工作的问题
- 【PyTorch训练中Dataset多线程加载数据,比Dataloader里设置多个workers还要快】
- Leetcode力扣 MySQL数据库 1264 页面推荐