Python之学习笔记(模块的使用)

模块的使用

模块初步

# -*- coding: utf-8 -*-

from __future__ import division

'a test module'

__author__='Chen Yu'

# 导入模块的时候使用别名,就是某一个模块使用不了的话就使用下一个


try:
    import cStringIO as StringIO
except importError:       #导入失败会捕获到ImportError
    import StringIO

try:
    import json  # python >= 2.6
except importError:
    import simplejson as json  # python < 2.5

import sys



# 在使用模块的时候,不同模块的函数名可能会冲突,没有关系
# 如果模块的名字会冲突,那么就引入了包的概念(packet)
# 一个py文件就是一个模块,所谓的包就是一个目录
# 如果一个在包a里面的b.py,那么模块的名字就是a.b
# 每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,
# 否则,Python就把这个目录当成普通目录,而不是一个包。__init__.py可以是空文件,
# 也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是mycompany

def test():
    args = sys.argv
    if len(args)==1:
        print 'Hello World!'
    elif len(args)==2:
        print 'Hello,%s!' % args[1]
    else:
        print 'Too many arguments!'

# 作用域
'''
类似_xxx和__xxx这样的函数或变量就是非公开的(private),不应该被直接引用,比如_abc,__abc等;
之所以我们说,private函数和变量“不应该”被直接引用,而不是“不能”被直接引用,
是因为Python并没有一种方法可以完全限制访问private函数或变量,但是,从编程习惯上不应该引用private函数或变量
'''
def _private_1(name):
    return 'Hello, %s' % name

def _private_2(name):
    return 'Hi, %s' % name

def greeting(name):
    if len(name) > 3:
        return _private_1(name)
    else:
        return _private_2(name)

if __name__ == '__main__':
    test()
    print greeting('Chen Yu')

# 别的模块import这个模块的时候可以调用函数如module_1.tset()

# 把模块加入sys里面的办法有直接增加:
# import sys
# sys.path.append('/Users/michael/my_py_scripts')
# 还可以设置方法:PYTHONPATH,该环境变量的内容会被自动添加到模块搜索路径中。
# 设置方式与设置Path环境变量类似。
# 要看增加了什么库只需要:
# >>> import sys
# >>> sys.path


# 这样就可以使用3版本中的除法
print '10 / 3 =', 10 / 3
print '10.0 / 3 =', 10.0 / 3
print '10 // 3 =', 10 // 3

第三方库的使用

# -*- coding: utf-8 -*-

'生成校验码'

from PIL import Image, ImageDraw, ImageFont, ImageFilter
import random

# 随机字母:
def rndChar():
    return chr(random.randint(65, 90))

# 随机颜色1:
def rndColor():
    return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))

# 随机颜色2:
def rndColor2():
    return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))

# 240 x 60:
width = 60 * 4
height = 60
image = Image.new('RGB', (width, height), (255, 255, 255))
# 创建Font对象:
font = ImageFont.truetype('Arial.ttf', 36)
# 创建Draw对象:
draw = ImageDraw.Draw(image)
# 填充每个像素:
for x in range(width):
    for y in range(height):
        draw.point((x, y), fill=rndColor())
# 输出文字:
for t in range(4):
    draw.text((60 * t + 10, 10), rndChar(), font=font, fill=rndColor2())
# 模糊:
image = image.filter(ImageFilter.BLUR)
image.save('code.jpg', 'jpeg');    
# -*- coding: utf-8 -*-

'本程序是使用PIL库进行'

import Image,ImageFilter
# 学习该库:http://effbot.org/imagingbook/
# 打开一个jpg图像文件,注意路径要改成你自己的:
im = Image.open('F:\\Code_Practice\\Python_Project\\test.jpg')
# 获得图像尺寸:
w, h = im.size
# 缩放到50%:
im.thumbnail((w//2, h//2))
# 把缩放后的图像用jpeg格式保存:
im.save('F:\\Code_Practice\\Python_Project\\test1.jpg', 'jpeg')

# 模糊图像
im = Image.open('F:\\Code_Practice\\Python_Project\\test2.jpg')
im2 = im.filter(ImageFilter.BLUR)
im2.save('F:\\Code_Practice\\Python_Project\\test3.jpg', 'jpeg')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值