内容梗概:
1. from xxx import xxx知识点补充
2. 包 1. 知识点补充.
我们现在知道可以使⽤用import和from xxx import xxx来导入一个模块中的内容.那有⼀种特殊的写法: from xxx import *
我们说此时是把模块中的所有内容都导入. 注意, 如果模块中没有写出__all__ 则默认所有内容都导入.
如果写了__all__ 此时导入的内容就是在__all__列表中列出来的所有名字.
实例1
#haha.py
__all__ = ["money", "chi"]
money = 100
def chi():
print("我是吃")
def he():
print("我是呵呵")
# test.py
from haha import *
chi()
print(money)
he() # 报错 2. 包
包是一种通过 '.模块名'来组织python模块名称空间的方式.我们创建的每个⽂文件夹都可以被称之为包.
但是我们要注意, 在python2中规定. 包内必须存在__init__.py⽂文件. 创建包的⽬目的不是为了运行, 而是被导入使用.
包只是一种形式⽽而已. 包的本质就是⼀种模块
为何要使用包? 包的本质就是一个文件夹, 那么文件夹唯一的功能就是将文件组织起来,随着功能越写越多,
我们无法将所有功能都放在一个文件中, 于是我们使用模块去组织功能,随着模块越来越多, 我们就需要用文件夹将模块文件组织起来,
以此来提高程序的结构性和可维护性 注意点:
1.包⾥的__init__.py是什么鬼?其实.不论我们使⽤用哪种方式导入⼀个包,只要是第一次导入包或者是包的任何其他部分
,都会先执行__init__.py文件.这个文件可以是空的.但也可以存放一些初始化的代码. (随意在glance中的__init__.py都可以进行测试) 2.绝对导入和相对导入,
我们的最顶级包glance是写给别人用的.然后再glance包内部也会有彼此之间互相导入的需求,这时候就有绝对导入和相对导入两种方式了.
1. 绝对导入: 以glance作为起始
2. 相对导入: ⽤用. 或者..作为起始
3.关于包相关的导入语句句也分为import和from xxx import xxx两种, 但无论使用哪种,无论在什么位置,
在导入时都必须遵循⼀一个原则: 凡是在导入时d带点的. 左边都必须是一个包.否则报错.可以带一连串串的点.比如a.b.c tips:关于相对导入和绝对导入的一些具体注意事项:
1.你启动程序的位置决定了你的包的范围的大小
2.要在包外部调用,相对导入的话在自身py文件中调用会报错不让调用.
而绝对导入的话,因为你在包内部调用,他的范围就变小了,一些其他的永远无法调用
3.相对导入在使用时只需观察想调用的包和本身包所在的位置关系即可. .表示在自己本层 , ..表示在上一层
详细可参考:
https://blog.csdn.net/qq_36829091/article/details/79841932

python基础之 026 包以及包的引入的更多相关文章

  1. 2015/9/15 Python基础(12):模块和包

    模块是用来组织 Python 代码的方法,而包则是用来组织模块的. 当代码量很大时,我们一般会把代码分成几个有组织的代码段,然后每个代码段之间有一定的联系.代码单之间是共享的,所以Python允许调入 ...

  2. Python基础入门(模块和包)

    1 模块 1.1 什么是模块 在 Python 中,一个 .py 文件就称之为一个模块(Module). 我们学习过函数,知道函数是实现一项或多项功能的一段程序 .其实模块就是函数功能的扩展.为什么这 ...

  3. 【python基础语法】模块和包管理,文件的操作(第8天课堂笔记)

    ''' 模块和包管理 模块和包的定义: 模块:模块是一个Python文件,以.py结尾,包含了Python对象定义和Python语句 包:Python中的包就是一个包含__init__.py文件的目录 ...

  4. python基础知识-day8(模块与包、random、os)

    1.模块与包 package:相同的模块代码存储在一个目录下(即包里边会包含多个模块).   包不能存储在文件夹的目录下,模块名称不能使用关键字.(不包含工程文件夹) 2.模块与包的实例 1)在工程文 ...

  5. Python基础学习笔记(十一)函数、模块与包

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-functions.html 3. http://www.liao ...

  6. jmeter压测数据库,抓包工具,python基础

    jmeter压力测试 前提场景的设置:单场景(单个接口进行压力测试一个请求)或混合场景(有业务流程的场景进行压力测试多个请求),压测时间一般在5--1515分组具体看需求. 数据准备:数据量少和数据量 ...

  7. 二十五. Python基础(25)--模块和包

    二十五. Python基础(25)--模块和包 ● 知识框架   ● 模块的属性__name__ # my_module.py   def fun1():     print("Hello& ...

  8. Python基础(协程函数、内置函数、递归、模块和包)-day05

    写在前面 上课第五天,打卡: 凭着爱,再回首: 一.协程函数(生成器:yield的表达式形式) 1.yield 的语句形式: yield 1 - 这种方式在 Python基础(函数部分)-day04  ...

  9. Python基础-包与模块

    Python基础-包与模块 写在前面 如非特别说明,下文均基于Python3 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含 ...

随机推荐

  1. 【基本知识】Flume基本环境搭建以及原理

    系统:CentOS6.5JDK:1.8.0_144Flume:flume-ng-1.6.0-cdh5.12.0 一.什么是Flume flume 作为 cloudera 开发的实时日志收集系统,受到了 ...

  2. 比原链设计思考: 扩展性UTXO模型

    用户模型是比原链在最初就需要确定的重要数据结构, 团队的选择还是聚焦在两种典型的模型系统中,Account模型和UTXO模型,和其他大多数区块链设计一样, 选择了模型就决定了协议层的重要实现,两种模型 ...

  3. 【转载】RabbitMQ基础知识

    本文转自: https://www.cnblogs.com/dwlsxj/p/RabbitMQ.html 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message ...

  4. js转义和反转义html

    本文地址: http://www.cnblogs.com/daysme/p/7100553.html 下面的代码网上常用有,但不是想要的. JS实现HTML标签转义及反转义 http://blog.c ...

  5. SAP 财务模块 FI-TV 差旅管理

    SAP 财务模块 FI-TV 差旅管理 Travel Management差旅管理事务码              描述PRT3      Trip Costs: Maintain Postings ...

  6. latex 脚注编号也成为超链接

    我们用LaTeX写文章时,往往会引用tabularx和hyperref两个包,当我们想让脚注编号也成为超链接以方便阅读时,往往会发现在hyperref包的属性里设置hyperfootnotes=tru ...

  7. vue--存储

    storage 一个存储库,它支持具有相同 api 的 sessionStorage 和 localStorage 安装和用法: storage 的 API: set(key,val) 用key和va ...

  8. CentOS下修改Apache默认端口80

    打开  /etc/httpd/conf/httpd.conf  文件 修改这个地方     #Listen 12.34.56.78:80     Listen 80 #把80改为你设置的端口,我设置端 ...

  9. python os.remove

    remove 只能删除文件,删除目录会报错 >>> import os >>> os.remove("/opt/xxx/server_log/test&q ...

  10. tomcat热部署.class

    本人是在维护公司系统时遇到的问题,由于公司的系统是部署到客户服务器上,而系统中存在的问题又比较多,需要经常维护.如果每次修改完class文件后都需要去重启服务器, 那会给用户的使用造成不便,所以需要使 ...