python编程第10讲——包和自定义模块

普及网络安全知识,推动信息技术发展。

为祖国的网络安全撑起一片蓝天,为网络安全爱好者构建一方家园。

欢迎来到灰帽程序员论坛,我们的网址是:
 
http://www.hmhacker.org

论坛是以技术交流为主(非商业性质论坛,不从事非法入侵活动)

Python编程入门实践》进阶篇python灰帽编程

P ython灰帽编程1为什么要选择Python
http://v.youku.com/v_show/id_XNTA3NDI3MjQ0.html
python灰帽编程2多线程端口扫描器
http://v.youku.com/v_show/id_XNTA3Nzg1Mjgw.html
python灰帽编程3IP段端口扫描
http://v.youku.com/v_show/id_XNTA4NjM2MDY4.html
python灰帽编程生成字典(密码本)
http://v.youku.com/v_show/id_XNTA5MDc5NjIw.html
高清下载地址
http://pan.baidu.com/share/link?shareid=258308&uk=2147818530

大家好,我是小雨,QQ:798033502

今天给大家带来的教程是《Python编程系列教程第10讲——包和自定义模块》

简单来说,包就是一个目录,其中包含和一个__init__.py文件和一组模块。

比如我们有这样一组模块,用于读写不同类型的图形文件格式。比如Bmp.pyJpeg.pyPng.py。那么我就可以将他们放到一个叫Graphics的目录里面。那么这个名为Graphics目录就变成一个包了。包的结构如下:

Graphics/

__init__.py

Bmp.py

Jpeg.py

Png.py

注意:通常系统内置的包都是小写的,为了避免命名冲突,通常我们自定义的包的名字首字母一般大写。

Import Graphics.Bmp

From Graphics import Bmp

From Graphics import Bmp as picture

通过这三种方式都可以导入包中的某个模块。

OK,这是导入一个模块,那么导入包中的所有模块咋办?

Import Graphics.Jpeg

Import Graphics.Png

那么假如这个包中有十几个模块,我们还要这样一个一个导入吗?

在说这个问题之前,我们先来说一下__init__.py这个文件。

__init__.py是包的初始化文件,一般情况下我们不需要为其添加任何代码。若想在初始化包的时候有特殊操作,我们就可以把这些操作写到__init__.py这个文件下面。

__init__.py这个文件中,我们可以给特殊变量__all__赋值。

__all__=[Bmp,Jpeg,Png]

之后我们可以使用from Graphics import *这种方式来导入包中的模块。这种语法格式直接导入了在__all__列表中指定所有模块。

下面我们自己定义一个模块取名叫GetIpMac.py,用于获取本机IPMac地址。

# *__coding: UTF-8__*

import socket

import uuid

def getinfo():

    myip=socket.gethostbyname(socket.gethostname())

    print("本机IP地址是::"+myip)

    node=uuid.getnode()

    mac=uuid.UUID(int=node).hex[-12:]

print("本机Mac地址是:"+mac)
 

 

 

 


视频地址:
http://www.56.com/u80/v_ODU5MDkwMTM.html
http://v.youku.com/v_show/id_XNTA5NTUyNDgw.html

 

实体书籍和电子书购买请到
http://itbook.taobao.com/

高清版下载地址:
http://www.vdisk.cn/nohackerxiaoyu

原文地址:https://www.cnblogs.com/secbook/p/2888414.html