python常用模块:包的使用、init作用、相对导入绝对导入与内置函数
本文目录:
一、包的详解
1、包是什么
包其实也是一个模块,只不过是一个大的模块下包含一堆模块的载体
本质上也是一个文件夹,与普通文件的区别在于其中包含一个init的文件
2、包的作用
包的作用就是提高代码的可读性和扩展性
3、怎么使用包
创建一个package文件夹,在该文件下创建多个文件
使用包和调用模块一样,import 包名
4、init文件的作用
模块调用会发生一下三种情况:
1.会创建一个名称空间
2.会执行模块中的代码
3.在执行文件中产生的名称指向模块名称的空间
但包是一个文件夹是包不是文件,所以init在导入包时,就执行了包上模块功能
好处:可以在init文件下调用多个模块中的功能,就无需在挨个查找
总结:init其实是讲所有模块名导入到该文件下,继而将所有模块名称下的功能导入其中
注意:由于init文件作为模块导入,所以sys.path中不包含该目录,所以导入时要制定该名
5、包的嵌套
定义:包的嵌套的就是包中有包的意思,包中的包被称为子包
要是用子包中的内容和模块方法一样,在子包中的init中导入需要的内容,但要注意不管 是子包都是做为模块导入的
调用sys.path中肯定不包含子包路径,导入时需要从文件目录往下找
6、导入需要注意的事项
1.使用import导入模块时可以加点来访问下层
2.注意点的左边必须是包名
3.在import后面不可以有点,必须有一个明确的名字
二、相对导入和绝对导入
1、相对导入的定义
从sys.pash开始的完整路径开始导入
2、绝对导入的定义
相对于被导入模块的路径
语法为 "."表示当前路径,”.."表示上一层路径,“..."上上层的路径 以此类推
3、注意事项:
1.建议不超过三层
2.相对导入只能用于包的内部模块之间的调用
4、常见的错误演示
绝对导入时没有从当前文件开始
执行文件中用了绝对导入
跳出了顶层包的范围
三、内置模块的补充
print(complex(1))
#complex 转换为复数形式 print(dir())
#查看内置属性和方法,不传参数就是当前对象 print(divmod(10,3))
#执行除法运算,返回商和余数 print(enumerate(["a",2,3,4]))
#将值和索引组成元组 print(globals())
#查看全局空间中有哪些名称 def func():
x=100
print(locals)
func()
#locals 查看局部空间有哪些名称 print(hash([1,2,3]))
#不可变类型可hash 可变类型不可hash print(help())
#查看帮助信息 li=[1,2,3,4]
res=li.__iter__()
res.__nest__()
iter(li)
next(res)
#可迭代对象和可迭代器对象 print(len(li))
#代表长度 print(id(100))
print(memoryview("".encode("utf-8")))
#id和memoryview 找内存地址 print(pow(2,3,3))#2**3%3
#2的三次方除3 print(type(str([1,2,3])))
#返回对象字符串的表示 print(list(reversed([1,2,3])))
#reversed反转顺序 print(round(1.2))
#四舍五入 res=slice(1,3)
li=[1,2,3,4,5,6,7,8,9]
print(li[1:3])
print(res)
#slice切分的意思 print(list(zip([1,2,3],[3,2,1])))
#zip拉链函数将多个可迭代对象中的数据一一对应 print(vars())
#不传参数和locals一样,如果传参那就调用这个对象的__dict__
python常用模块:包的使用、init作用、相对导入绝对导入与内置函数的更多相关文章
- Python——day14 三目运算、推导式、递归、匿名、内置函数
一.三目(元)运算符 定义:就是 if...else...语法糖前提:简化if...else...结构,且两个分支有且只有一条语句注:三元运算符的结果不一定要与条件直接性关系 cmd = input ...
- Day5 模块及Python常用模块
模块概述 定义:模块,用一砣代码实现了某类功能的代码集合. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,提供了代码的重用性.在Python中,一个.py文件就称之为一个模块(Mod ...
- Day6 模块及Python常用模块
模块概述 定义:模块,用一砣代码实现了某类功能的代码集合. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,提供了代码的重用性.在Python中,一个.py文件就称之为一个模块(Mod ...
- python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则
python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess ...
- python基础-内置函数详解
一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highlight=built#ascii ...
- python基础——内置函数
python基础--内置函数 一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...
- Python经常使用内置函数介绍【filter,map,reduce,apply,zip】
Python是一门非常简洁,非常优雅的语言,其非常多内置函数结合起来使用,能够使用非常少的代码来实现非常多复杂的功能,假设相同的功能要让C/C++/Java来实现的话,可能会头大,事实上Python是 ...
- python之Python内置函数一览表
Python 解释器自带的函数叫做内置函数,这些函数可以直接使用,不需要导入某个模块. 如果你熟悉 Shell 编程,了解什么是 Shell 内置命令,那么你也很容易理解什么是 Python 内置函数 ...
- python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...
- (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...
随机推荐
- python3速查参考- python基础 3 -> -> while循环实例 + Continue && break的应用 + 列表的初步学习
while语句的应用 实例如下: """ 述求:用户登录系统,最多只能登录三次 第三次失败后,程序终止 """ user_table = { ...
- jQuery代码书写规范
1. 对于同一个对象不超过三个操作的,可以直接写成一行 $("li").show().unbind("click"); 2. 对于同一个对象的较多操作,建议每行 ...
- 【并行计算-CUDA开发】GPGPU OpenCL/CUDA 高性能编程的10大注意事项
GPGPU OpenCL/CUDA 高性能编程的10大注意事项 1.展开循环 如果提前知道了循环的次数,可以进行循环展开,这样省去了循环条件的比较次数.但是同时也不能使得kernel代码太大. 循环展 ...
- java ThreadGroup 作用 方法解析(转)
ThreadGroup线程组,java对这个类的描述呢就是“线程组表示一组线程.此外,线程组还可以包括其他线程组.线程组形成一个树,其中除了初始线程组之外的每个线程组都有一个父线程组.允许线程访问关于 ...
- tp5项目报错no input file specified解决
关于这个问题众多解决方案 1.php版本问题>5.6,把php版本改成5.5版本 2.入口文件同级目录下的.htaccess文件 RewriteRule ^(.*)$ index.php/$1 ...
- Python-基础-文件操作-随机存取
随机存取 文件操作中,read()和write()都属于顺序存取,只能按顺序从头到尾的进行读写.实际上我们可以只访问文件中我们感兴趣的部分.对此,我们可以使用seek()和tell()方法.两种方法的 ...
- k-means算法处理聚类标签不足的异常
k-means算法在人群聚类场景中,是一个非常实用的工具.(该算法的原理可以参考K-Means算法的Python实现) 常见调用方式 该算法常规的调用方式如下: # 从sklearn引包 from s ...
- Java lesson16homework
package lesson16; /** * 1. 随机生成4个0到9的整数,组成一个序列(使用LinkedList<Integer>存储) 例如:3 6 4 4 2. 然后要求用 ...
- 手把手教你搭建FastDFS集群(中)
手把手教你搭建FastDFS集群(中) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u0 ...
- 【原创】大数据基础之Kudu(4)spark读写kudu
spark2.4.3+kudu1.9 1 批量读 val df = spark.read.format("kudu") .options(Map("kudu.master ...