Python 入门 之 包

1、包

(1)什么是包?

文件夹下具有_ _init.py _ _的文件夹就是一个包

(2)包的作用:

管理模块(文件化)

(3)包的导入:

导入:

    启动文件要和包文件是同级
绝对路径: import 包.模块 form 包.包 import 模块
相对路径: from ..包 import 模块,都会触发 __init__.py
在启动文件启动包,包里导入了包中同级模块,需要填加到 sys.path中 __init__.py是相当于是每个包的秘书,所有操作都交于它
__file__ : 获取当前文件的路径, __name__ : 获取当前文件的名称 .当前目录
..上一级
...上上级

<1> 指定功能导入

import bake.api.es
bake.api.es.func()
import bake.api.es as f      # 也可以起别名
f.func()
f.foo() from bake.api.es import func,foo # 也可以导入同一模块下的多个
func()
foo()

<2> 导入模块中的全部:

import bake

bake.api.es.foo()       # 建筑师
bake.api.es.func() # 体验师
bake.cmd.manage.rimo() # 炊事班
bake.db.models.alex() # 保洁部 from bake.api.es import *

(4)包中的路径

​ 绝对路径:从包的最外层进行查找,就是绝对路劲

Python 入门 之 包的更多相关文章

  1. Python入门之PyCharm中目录directory与包package的区别

    对于Python而言,有一点是要认识明确的,python作为一个相对而言轻量级的,易用的脚本语言(当然其功能并不仅限于此,在此只是讨论该特点),随着程序的增长,可能想要把它分成几个文件,以便逻辑更加清 ...

  2. python入门简介

    Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...

  3. Python自动化运维之1、Python入门

    Python简介 python是吉多·范罗苏姆发明的一种面向对象的脚本语言,可能有些人不知道面向对象和脚本具体是什么意思,但是对于一个初学者来说,现在并不需要明白.大家都知道,当下全栈工程师的概念很火 ...

  4. python 入门快速学习整理

    Python 入门学习 1  : 对象类型 1 1.1 列表 1 1.2 字典 2 1.3 元组 2 1.4 元组 2 1.4 文件 3 2  : 条件和循环语句 3 2.1  if else语句 3 ...

  5. Python入门教程(1)

    人生苦短,我用Python! Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于19 ...

  6. Python入门、练手、视频资源汇总,拿走别客气!

    摘要:为方便朋友,重新整理汇总,内容包括长期必备.入门教程.练手项目.学习视频. 一.长期必备. 1. StackOverflow,是疑难解答.bug排除必备网站,任何编程问题请第一时间到此网站查找. ...

  7. python入门篇

    第一篇:python入门 第二篇:数据类型.字符编码.文件处理 第三篇:函数 第四篇:模块与包 第五篇:常用模块 第六篇:面向对象 第七篇:面向对象高级 第八篇:异常处理 第九篇:网络编程 第十篇:并 ...

  8. Python语言学习之Python入门到进阶

    人们常说Python语言简单,编写简单程序时好像也确实如此.但实际上Python绝不简单,它也是一种很复杂的语言,其功能特征非常丰富,能支持多种编程风格,在几乎所有方面都能深度定制.要想用好Pytho ...

  9. Python入门介绍

    Python入门介绍(人生苦短,我用 Python) Python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹 ...

随机推荐

  1. Python基础之变量和常量

    变量 将运算得到中间结果暂存到内存,以便后续程序调用. 变量的命名规则: 变量由字母.数字.下划线搭配组合而成 不能以数字开头,更不能全是数字 不能是Python中的关键字,这些符号和字母已经被Pyt ...

  2. Codeforces Gym 101630J Travelling from Petersburg to Moscow (最短路)

    题目链接 http://codeforces.com/gym/101630/attachments 题解 zyb学长的题. 先枚举第\(k\)大的边权,设其边权为\(x\),然后把每条边边权减掉\(x ...

  3. [题解] [ZJOI2014] 力

    题面 题解 恩, 我们首先有这两个关系 \[ \displaystyle\begin{aligned} F_j &= \sum_{i < j}\frac{q_iq_j}{(i - j)^ ...

  4. MySQL:如何选取Table中的50到100行

    MySQL:如何选取Table中的50到100行 使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,MySql已 经为我们提供了这样一个功能. ? 1 2 [sql] ...

  5. tomcat 配置域名部署war 项目

    第一步把打包好的war包 放到 tomcat目录下的webapps 下 截图: 第二步:找到tomcat目录下的server.xml配置文件 server.xml在conf文件夹下面 编辑server ...

  6. JS将后台获取毫秒数转换为自定义格式日期

    重写prototype  Date.prototype.Format = function(fmt) { var o = { "M+" : this.getMonth()+1, / ...

  7. RestAssured

    配置MAVEN <dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-ass ...

  8. Android SDK更新后Eclipse无法正常工作问题

    一,问题描述 更新完Android SDK后,如果你的ADT版本低于其设定的最新版本,你更新完后立马会报错 这个时候你的项目出现各种红线,反正看着让人很不爽 二,原因 每次你更新完SDK后,Andro ...

  9. Redis集群配置和常见异常解决

    前文 Redis的Cluster集群,是在分布式且开源环境下最佳的高可用解决方案,可以有效的解决服务器宕机下或高并发下,数据的完整性. 文档前提 Redis 3.0版本或更高版本.(3.0版本开始支持 ...

  10. ts-loader如何与vue单文件组件衔接

    .ts-loader是如何与vue单文件组件衔接作用的 https://github.com/microsoft/TypeScript-Vue-Starter https://www.npmjs.co ...