python's twenty eithth day for me 模块和包

模块:

  什么是模块:

    常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀,但其实import加载的模块分为四个通用类别:

    1,使用python编写的代码(.py文件)

    2,以被编译为共享库或DLL的C或C++扩展。

    3,包好一组模块的包。

    4,使用C编写并链接到python解释器的内置模块。

import:

  import 模块名:

    1,导入一个模块。

    2,相当于这个模块从上到下一次被执行了。

    3,同一个模块不会被多次导入。

import my_module
# 使用模块中的属性或方法时:模块名.方法名()  模块名.属性名
print(my_module.money)   # 100  # 使用模块中的属性名或方法名。
my_module.func()    # 1

  1,import my_module 模块,首先创建一个属于my_module的内存空间

  2,加载my_module模块中的所有代码

  3,将my_module模块中的名字方法放在my_module的命名空间中

import...as...:将...模块导入命名为...

import my_module as m
print(m.money)  # 100
m.func()    # 1
inp = input(‘json or pickle >>>‘)
if inp == ‘json‘:
    import json as m
elif inp == ‘pickle‘:
    import pickle as m
dic = {‘k‘:‘v‘}
print(m.dumps(dic))
print(m.loads(m.dumps(dic)))

import 可一次导入多个模块:不推荐使用。

import hashlib,json,pickl

python PEP8规范:

  1,每一行 import 应该导入一个模块。

  2,如果不是必要的需求,所有的模块都应该在文件的顶端导入。

  3,关于导入模块的顺序,先导入内置的,再导入扩展,最后导入自定义。

导入模块是将模块放入到 sys.modules 中,使用变量的时候看的是全局命名空间globals().

import sys
import my_module
print(globals())
print(sys.modules)

from 模块名 import 方法名或者属性名:

  1,导入的名字直接属于全局,但是指向模块的名字所在的内存空间

  2,导入的名字如果是是函数或者方法,引用了全局的变量,仍然使用模块中的变量

  3,导入的名字和全局的名字是一样的,谁最后抢占到就是谁的

from my_module import money,func
# 这种导入就不能使用模块名.属性名或方法名了,否则会报错。
# 这样导入的属性或者方法名就属于全局变量,可直接调用。
print(money)    # 100  此时是模块局部中的money
money = 999
print(money)    # 999   先加载模块中的money,然后加载本全局变量中的money会将模块中的覆盖
fu

nc()  # 100   # 用到的变量仍然是局部的变量。

from 模块 import * : 默认会把模块中所有名字都导入到全局:

from my_module import *
print(money)
func()

* 和 __all__配合使用:在被导入模块中如果有__all__ = [‘属性名’,‘方法名’],则只能调用__all__列表中拥有的名字。其他的都不可调用。

python's twenty eithth day for me 模块和包

原文地址:https://www.cnblogs.com/stfei/p/8944731.html

时间: 2024-10-10 03:42:24

python's twenty eithth day for me 模块和包的相关文章

python中import或from使用及模块和包的使用总结

一.简介 1.模块(module):根据python官方的解释,所谓模块就是一个.py文件,用来存放变量,方法的文件,便于在其他python文件中导入(通过import或from); 2.包(package): 包是更大的组织单位,用来组织区别管理多个模块文件;引用官方的说法:"假设你想要设计一个模块(包)来统一处理声音文件和声音数据的集合.有许多不同的声音文件格式(例:.wav,.aiff,.au,.mp3等),因此您可能需要创建和维护不断增长的模块集合,以便在各种文件格式之间进行转换.对于声

python之基础篇(八)——模块与包

防伪码:忘情公子著 python中的模块 将代码量较大的程序分割成多个有组织的.彼此独立但又能互相交互的代码片段,这些自我包含的有组织的代码段就是模块. 模块在物理形式上表现为以.py结尾的代码文件: 一个文件被看作一个独立的模块,一个模块也可以被看作是一个文件 模块的文件名就是模块的名字加上扩展名.py 每个模块都有自己的名称空间 python允许"导入"其它模块以实现代码重用,从而也实现了将独立的代码文件组织成更大的程序系统: 在python中,模块也是对象 在一个模块的顶层定义的

Python基础知识10(模块与包库的安装使用)

(1)使用标准库#标准库: Python安装包里面提供的功能模块和包主要包括内置类型和函数 #比如len.int.open等 #直接使用,无需import 功能模块 #包含程序设计所需的常用的功能 #需要用import导入他们就可以使用 import timeprint(time.strftime("%Y_%m_%d %H:%M:%S")) #打印结果如下2018_06_17 11:06:16 ----------------------------------------------

Window上python开发--4.Django的用户登录模块User

在搭建网站和web的应用程序时,用户的登录和管理是几乎是每个网站都必备的.今天主要从一个实例了解以下django本身自带的user模块.本文并不对user进行扩展. 主要使用原生的模块. 1.User模块基础: 在使用user 之前先import到自己的iew中.相当与我们自己写好的models.只不过这个是系统提供的models. from django.contrib.auth.models import User # 导入user模块 1.1User对象属性 User 对象属性:usern

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

模块是用来组织 Python 代码的方法,而包则是用来组织模块的. 当代码量很大时,我们一般会把代码分成几个有组织的代码段,然后每个代码段之间有一定的联系.代码单之间是共享的,所以Python允许调入一个模块,允许使用其他模块的属性利用之前的工作成果,实现代码重用.那些自我包含并且有组织的代码片段就是模块(module),将其他模块中属性附加到你的模块中的操作较导入(import) 模块是逻辑上的说法,而它们在物理层是一个个独立的文件,模块的文件名就是模块的名字加拓展名.py.与其他可以导入类的

python 深入模块和包

模块可以包含可执行语句以及函数的定义. 这些语句通常用于初始化模块. 它们只在 第一次 导入时执行.只在第一次导入的时候执行,第一次.妈蛋的第一次...后面再次导入就不执行了. [1](如果文件以脚本的方式执行,它们也会运行.) 每个模块都有自己的私有符号表, 模块内定义的所有函数用其作为全局符号表. 被导入的模块的名字放在导入模块的全局符号表中. import 语句的一个变体直接从被导入的模块中导入名字到导入模块的符号表中. 例如: >>> >>> from fibo

Python 安装第三方库,模块和包的安装方法

在python中已经内置了很多的有用的模块,只要安装了python的开发工具,这些模块就可以立刻使用了.而在实际python开发的过程中,除了python内置的模块外,python还有大量的第三方的库.模块和包. 常用的第三模块都会在python的PyPI - the Python Package Index上进行注册,只要找到对应模块的名字就可以进行安装了. 由于最近需要通过python来创建PDF文档,但是由于python的内置模块中相关的模块,所以需要使用第三方的reportlab库来创建

python 学习笔记 14 -- 常用的时间模块之datetime

书接上文,前面我们讲到<常用的时间模块之time>,这次我们学习datetime -- 日期和时间值管理模块 使用apihelper 查看datetime 模块,我们可以看到简单的几项: date       ---  日期对象,结构为date(year, month, day) time       ---  时间值对象,结构为 time([hour[, minute[, second[, microsecond[, tzinfo]]]]]).时间对象所有的参数都是可选的.tzinfo 可以

Python的模块与包如何使用?

本文和大家分享的主要是python模块与包相关内容,一起来看看吧,希望对大家学习python有所帮助. 一.Python 模块简介 在开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在 Python 中,一个 .py 文件就称之为一个模块(Module). 之前我们学习过函数,知道函数是实现一项或多项功能的一段程序 .其实模