Python学习7-模块的定义和引用

已经学习了Python的基本语法,执行示例时由于代码比较少,并不会存在什么问题。如果业务逻辑比较复杂,代码行比较多,这样写到一个文件中,会不容易维护,也不方便以后重用。还好,python和其他语言一样引入了模块概念。把具有相似功能的函数或者操作相同对象的函数拆分到不同文件中,一个文件就是一个模块。模块名为包名+文件名,如com/say目录下有sayHello.py模块名为com.say.sayHello。

1. 自定义模块
新建hello模块

#!/usr/bin/env python3
#-*- coding: utf-8 -*-

'print hello world module'

_author_='oliver jim'

import keyword

def sayHello():
  print ("hello world!")

def printKeyWords():
  print(keyword.kwlist)

def _private():
  print("private function")

def testPrivate():
  _private()

第1行注释让hello.py文件直接在Unix/Linux/Mac上运行;
第2行注释表示.py文件使用UTF-8编码;
第4行是文档注释(任何模块代码的第一个字符串都被视为模块的文档注释);
第6行author变量指定作者名称;
第8行导入keyword模块;
往下的代码就是定义相关的函数变量操作:
sayHello()函数:打印hello world!信息。
printKeyWords()函数:引用keyword模块的所有关键字列表变量,并打印。
_private()函数:定义私有函数,并打印相关信息。
testPrivate()函数:为私有函数暴露接口。

使用:
进入Python交互环境中,导入hello模块,引用相关函数。

>>> import hello
>>> hello._private()
private function
>>> hello.testPrivate()
private function
>>> hello.printKeyWords()
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', '
def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if',
 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'retu
rn', 'try', 'while', 'with', 'yield']
>>>
  • Python使用import导入模块,导入后有一个指向该模块的变量,使用该变量调用模块中的方法。
  • Python中用”_xxx”方式区分私有和公开的函数和变量。(Python定义的私有函数或变量并非“不能”引用,而是“不应该”被引用)。

    2. 使用第三方模块

使用pip命令安装第三方模块。

安装Pillow模块,处理图片。

E:\>pip install Pillow
Collecting Pillow
  Downloading Pillow-4.2.1-cp36-cp36m-win32.whl (1.3MB)
  。。。

使用Image处理1.jpg,保存为2.jpg

>>> from PIL import Image
>>> image = Image.open('1.jpg')
>>> print(image .format, image .size, image .mode)
JPEG (786, 398) RGB
>>> image .thumbnail((200,100))
>>> image .save('2.jpg','JPEG')
>>>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值