• py常用标准库


    functools

    python3中增加了更多工具函数,做业务开发时大多情况下用不到,记录一个比较常用的,给函数或者对象初始化参数

    partial函数(偏函数)

    把一个函数的某些参数设置默认值,返回一个新的函数,调用这个新函数会更简单。

    #!/usr/bin/env python3
    # -*- coding:utf-8 -*-
    #  @Time: 2020/6/29 7:48
    #  @Author:zhangmingda
    #  @File: partial_study.py
    #  @Software: PyCharm
    #  Description:把一个函数的某些参数设置默认值,返回一个新的函数,调用这个新函数会更简单。
    
    import functools
    
    def showarg(*args,**kwargs):
        print('args:',args)
        print('kwargs:',kwargs)
    
    p1 = functools.partial(showarg,123,456)
    p1()
    p1(4,5,6)
    p1(a='123',b='234',c='I Love You!')

    输出如下

    args: (123, 456)
    kwargs: {}
    args: (123, 456, 4, 5, 6)
    kwargs: {}
    args: (123, 456)
    kwargs: {'a': '123', 'b': '234', 'c': 'I Love You!'}

    模块进阶

    Python有一套很有用的标准库(standard library)。标准库会随着Python解释器,一起安装在你的电脑中的。 它是Python的一个组成部分。这些标准库是Python为你准备好的利器,可以让编程事半功倍。

    常用标准库

    标准库说明
    builtins 内建函数默认加载
    os 操作系统接口
    sys Python自身的运行环境
    functools 常用的工具
    json 编码和解码 JSON 对象
    logging 记录日志,调试
    multiprocessing 多进程
    threading 多线程
    copy 拷贝
    time 时间
    datetime 日期和时间
    calendar 日历
    hashlib 加密算法
    random 生成随机数
    re 字符串正则匹配
    socket 标准的 BSD Sockets API
    shutil 文件和目录管理
    glob 基于文件通配符搜索

    hashlib

    import hashlib
    m = hashlib.md5()   #创建hash对象,md5:(message-Digest Algorithm 5)消息摘要算法,得出一个128位的密文
    print m             #<md5 HASH object>
    m.update('itcast')  #更新哈希对象以字符串参数
    print m.hexdigest() #返回十六进制数字字符串

    应用实例

    用于注册、登录....

    import hashlib
    import datetime
    KEY_VALUE = 'Itcast'
    now = datetime.datetime.now()
    m = hashlib.md5()
    str = '%s%s' % (KEY_VALUE,now.strftime("%Y%m%d"))
    m.update(str.encode('utf-8'))
    value = m.hexdigest()
    print(value)
    str == 'Itcast20200628' 时
    
    运行结果:
    
    '7c72019a6fe40c81a15e50d9cd2adc6b'

    更多标准库

    http://python.usyiyi.cn/translate/python_352/library/index.html
    

    常用扩展库

    扩展库说明
    requests 使用的是 urllib3,继承了urllib2的所有特性
    urllib 基于http的高层库
    scrapy 爬虫
    beautifulsoup4 HTML/XML的解析器
    celery 分布式任务调度模块
    redis 缓存
    Pillow(PIL) 图像处理
    xlsxwriter 仅写excle功能,支持xlsx
    xlwt 仅写excle功能,支持xls ,2013或更早版office
    xlrd 仅读excle功能
    elasticsearch 全文搜索引擎
    pymysql 数据库连接库
    mongoengine/pymongo mongodbpython接口
    matplotlib 画图
    numpy/scipy 科学计算
    django/tornado/flask web框架
    xmltodict xml 转 dict
    SimpleHTTPServer 简单地HTTP Server,不使用Web框架
    gevent 基于协程的Python网络库
    fabric 系统管理
    pandas 数据处理库
    scikit-learn 机器学习库

    就可以运行起来静态服务。平时用它预览和下载文件太方便了。

    在终端中输入命令:

    python2中

        python -m SimpleHTTPServer PORT
    

    python3中 临时的http web服务器,可以用来下载文件,可以将执行命令的目录下面文件都展示出来

    python -m http.server PORT

     例如

    (venv) D:项目	ornado1	est>python -m http.server 80
    Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...

    读写excel文件

    1.安装个easy_install工具

    sudo apt-get install python-setuptools

    2.安装模块

        sudo easy_install xlrd
        sudo easy_install xlwt

    matplotlib

  • 相关阅读:
    iframe+json
    qw
    MySql数据类型和Java数据类型对应一览
    MyEclipse生成get/set注释
    Redis集群_主从配置
    MyBatis输出sql需要log4j.properties配置
    默认没有创建两次定时实例的
    spring+freemarker+redis
    jquery easyui 扩展验证
    vs2010 安装 Ajax Control Toolkit
  • 原文地址:https://www.cnblogs.com/zhangmingda/p/13204972.html
Copyright © 2020-2023  润新知