python学习进阶package_module

Owen Jia 2022年12月20日 201次浏览

python进阶之路

学海苦行,逆流而上

本地跑些py脚本,加上自带的lib,可以完成很多场景的应用开发。和java一样,你就使用jdk自带tool,也可以完成一座大楼的建立,就是苦了些(一切从头来)。python也是如此,自带库肯定是必须掌握的,很多无网情况下,只能人肉从头开发。

高级就是要站在巨人肩膀上。

类似java的maven中央仓库,python也有自己中央仓库pip:https://pypi.org/
还有想docker image registry一样,都是中央仓库机制,同时支持私服(私有仓库)。

类似maven,pip也是本地一个工具,python install pip安装即可。pip有个本地仓库site-packages,和maven的repository一样。默认site-packages在python安装目录lib里,idea工具会把这个目录加载进开发环境,所以在代码里import package-names 即可用。

项目迁移高效做法就是直接负责site-packages文件夹,和maven的repository直接复制一样,提供迁移效率(网络永远只是辅助)。

特地引入了requests包,用来演示pip引入机制。顺道,研究了module机制,就是引入自己的packge,一版就是目录级管理。高级的就是上传自己的package到中央仓库供别人使用(暂时不研究了,以后出现场景时,再搞也不迟)。

def post(url, data=None, json=None, **kwargs):
    r"""Sends a POST request.

    :param url: URL for the new :class:`Request` object.
    :param data: (optional) Dictionary, list of tuples, bytes, or file-like
        object to send in the body of the :class:`Request`.
    :param json: (optional) json data to send in the body of the :class:`Request`.
    :param \*\*kwargs: Optional arguments that ``request`` takes.
    :return: :class:`Response <Response>` object
    :rtype: requests.Response
    """

    return request('post', url, data=data, json=json, **kwargs)

python搞定一个http post请求真心简单,这里json数据格式可直接写,和javastrict语法机制一样,天然支持json。json要是在java里写很麻烦,一堆“{}”,容易缺这缺那。

还是回到python定为,在我个人看来,作为一个万能的脚本,搞定‘短平快’需求,python处于绝对地位,想perl、shell、bat之类脚本靠后、靠后。