内容梗概:
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. 【做题】Codeforces Round #453 (Div. 1) D. Weighting a Tree——拆环

    前言:结论题似乎是我的硬伤…… 题意是给你一个无向图,已知连接到每一个点的边的权值和(为整数,且属于区间[-n,n]),需要求出每条边权值的一个合法解(都要是在区间[-2*n^2,2*n^2]内的整数 ...

  2. [蓝桥] 基础练习 数列排序(java)

    问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列.1<=n<=200 输入格式 第一行为一个整数n. 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000. 输 ...

  3. 使用PlaceHolder,测试碰见的问题

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFa ...

  4. [转载]linux下core文件设置与查看

    转自:https://blog.csdn.net/dingqinghui/article/details/77855330?locationNum=9&fps=1 linux下core文件设置 ...

  5. _instance_reset

    制作多功能Item.creature及gameobject 中第19个功能 重置副本,关联到该表. 当该表中配置,且玩家有这个副本这个难度的进度时,功能宝石中会出现该副本的名字,点击可以重置副本 ma ...

  6. 【BZOJ】3143: [Hnoi2013]游走

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3143 显然如果一条边期望被走过的次数越多,我们就应该给它的编号越小. 所以问题变为如何求每 ...

  7. 算法时间复杂度的表示法O(n²)、O(n)、O(1)、O(nlogn)等是什么意思?

    Java中  Set 和 List 集合  的contains()方法,检查数组链表中是否包含某元素检查数组链表中是否包含某元素,使用 Set 而不使用 List  的原因是效率问题, 前者的 set ...

  8. go 单进程并发

    demo1 // This sample program demonstrates how to create goroutines and // how the scheduler behaves. ...

  9. 三: 爬虫之selenium模块

    一 selenium模块 什么是selenium?selenium是Python的一个第三方库,对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作. selenium最初是一个自动化测试工具, ...

  10. 【NPOI】WebAPI-使用NPOI导出Excel

    1.安装nuget包 2.封装方法 public byte[] ExportToByteArray(IEnumerable<string> headerText, IEnumerable& ...