保姆级教程带你开发优质的Python库之上篇【建议收藏】

简介: 正式的Python专栏第9篇,同学站住,别错过这个从0开始的文章!

前面学委的python入门到精通专栏积累了8篇python文章,当然学委博客还有几十篇python应用的文章。


展示了很多啊,一路跟上的朋友估计也学习到很多了。


这次几分钟,给大家缕一缕,指导大家开发一个python库。下次带大家开发生成器!


(先导说明,下面图中的联系群体/联系方式均为demo展示作用,不要搜索!不要关注!哈哈哈)


什么是python库?

python库,简单理解就是一个python脚本代码集合。这个库可以包括一个或者多个python代码文件。

重点是,提供统一入口(模块)给他人使用。


小白如果还不清楚,就把它理解为一个数学里面的一个公式。


我们运用公式来计算出数据结果的过程,可以类比使用python库调用并运行的到结果。


现在开发一个库

之前写过 一个小而全的Python项目示例,但是这个项目相对新手来说,还是元素过多了。


第一步,项目基本配置

必备文件:README.md ,这个 文件告诉了其他开发者,你分享的代码的一些说明和使用信息。


典型的项目README文件展示如下:


image.png

生成上面的内容可以复制这里的README.md进行修改


重点是:


项目介绍必要有的

安装,类似pip install xxx(xxx为你的库名)

使用的简单说明

其他信息像加入社区群体的可以另外再补充。


第二步开发模块内的代码

python里面很简单,创建一个目录里面放置一个__init__.py 就能把当前目录标记为可用模块了。


但是我们不要那么鲁莽。


创建一个pypi_seed目

然后再里面放置__init__.py 文件

最后编写main.py(这是库的核心文件,也可以叫做core.py)

效果如下:


image.png

第三步,丰富一下核心代码

上面的操作还只是创建了一些空文件。

下面我们打开main.py 复制黏贴下面的内容。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/9/5 12:07 上午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : main.py
# @Project : pypi_seed
def main():
    print("pypi_seed 种子项目")
    print("欢迎关注公众号【雷学委】【孤寒】【布小禅】,加入Python开发者阵营!")
    print("===========================================")
    print("如何创建项目:")
    print("1)打开python终端REPL:")
    print("2)输入下面代码:")
    print("import pypi_seed.main as pm")
    print("pm.generate() #当前目录生成pypi_sample")
    print("#或者加一个路径参数")
    print("pm.generate('/tmp') #当前目录生成/tmp/pypi_sample")
    print("#或者指定更多项目信息:")
    print("pm.generate(path=\".\", project=\"pypi_sample\", author=\"pypi_seed\") #当前目录生成/tmp/pypi_sample,作者pypi_sample")
    print("===========================================")
    print("Please feel free to contact us【Python全栈技术学习交流】:https://jq.qq.com/?_wv=1027&k=ISjeG32x ")
    print("===========================================")
if __name__ == '__main__':
    main()

代码解析:

上面实现了一个main函数,输出了一些程序信息。比如一些虚拟账号和联系方式,强烈提示读者不要打开链接或者搜索群体!(学委这里特别标注了一下!仅为demo目的)

可以做很多事情的,但是这篇从简单入手,后续会开发生成器!

好了,开发结束了。

最后调用运行看下效果

image.png

可以在库提示中输出一些开发群体信息,请读者不要搜索

补充一下,其他人调用你的库是这样的:

import pypi_seed.main #引入你的库的主程序
main.main() #调用主程序的main函数

总结

整个过程挺简单的。

别人找到你的库就很不容易了,所以务必把README说明写的越简单越直白越好!

然后是使用的例子,必须力求简洁易懂。

目录
相关文章
|
3天前
|
Python
全网最适合入门的面向对象编程教程:Python函数方法与接口-函数与方法的区别和lamda匿名函数
【9月更文挑战第15天】在 Python 中,函数与方法有所区别:函数是独立的代码块,可通过函数名直接调用,不依赖特定类或对象;方法则是与类或对象关联的函数,通常在类内部定义并通过对象调用。Lambda 函数是一种简洁的匿名函数定义方式,常用于简单的操作或作为其他函数的参数。根据需求,可选择使用函数、方法或 lambda 函数来实现代码逻辑。
|
4天前
|
SQL 前端开发 数据可视化
Rodeo支持多种Python库
Rodeo支持多种Python库
12 5
|
2天前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
17 3
|
8天前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
36 8
|
12天前
|
JSON API 开发者
Python网络编程新纪元:urllib与requests库,让你的HTTP请求无所不能
【9月更文挑战第9天】随着互联网的发展,网络编程成为现代软件开发的关键部分。Python凭借简洁、易读及强大的特性,在该领域展现出独特魅力。本文介绍了Python标准库中的`urllib`和第三方库`requests`在处理HTTP请求方面的优势。`urllib`虽API底层但功能全面,适用于深入控制HTTP请求;而`requests`则以简洁的API和人性化设计著称,使HTTP请求变得简单高效。两者互补共存,共同推动Python网络编程进入全新纪元,无论初学者还是资深开发者都能从中受益。
30 7
|
15天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【9月更文挑战第5天】性能测试是确保应用在高负载下稳定运行的关键。本文介绍Apache JMeter和Locust两款常用性能测试工具,帮助识别并解决性能瓶颈。JMeter适用于测试静态和动态资源,而Locust则通过Python脚本模拟HTTP请求。文章详细讲解了安装、配置及使用方法,并提供了实战案例,帮助你掌握性能测试技巧,提升应用性能。通过分析测试结果、模拟并发、检查资源使用情况及代码优化,确保应用在高并发环境下表现优异。
42 5
|
4月前
|
存储 安全 API
【Python 基础教程 21】Python3 文件操作全面指南:从入门到精通的综合教程
【Python 基础教程 21】Python3 文件操作全面指南:从入门到精通的综合教程
140 0
|
4月前
|
机器学习/深度学习 数据采集 C++
【Python 基础教程 07】全面掌握Python3数字操作:入门到精通的实用指南
【Python 基础教程 07】全面掌握Python3数字操作:入门到精通的实用指南
129 2
|
4月前
|
Linux 数据库连接 C++
【Python 基础教程 23】Python3 错误与异常处理全面指南:从入门到精通的实用教程
【Python 基础教程 23】Python3 错误与异常处理全面指南:从入门到精通的实用教程
297 0
|
4月前
|
监控 API C语言
【Python 基础教程 22】全面揭秘Python3 os模块:从入门到高级的实用教程指南
【Python 基础教程 22】全面揭秘Python3 os模块:从入门到高级的实用教程指南
225 1