与ai聊我的代码架构

以包目录结构模块,以*.py脚本收纳模块。


(笔记模板由python脚本于2024年10月25日 18:39:10创建,本篇笔记适合编程基础的coder翻阅)


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


以包目录结构模块
我的代码架构
(以*.py脚本收纳模块)


本文质量分:

96 96 96

本文地址: https://blog.csdn.net/m0_57158496/

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ 与ai聊我的代码架构
    • 1、话题
    • 2、“包目录结构”示例
    • 3、小“工具”只引用python内建工具
    • 4、“自制”仅是“没有”
    • 5、“自制”是为了更好的复用
    • 6、“技巧”在于沉淀
    • 7、“功能模块”的*.py包脚本封装
    • 8、给ai学伴分享我拟定的本笔记标题
    • 9、在csdn个性自己的小“技巧”
      • 9.1 文本“样式”标识
      • 9.2 类\<font\>的小工具


◆ 与ai聊我的代码架构


1、话题


  • 题目描述截屏图片
    在这里插入图片描述

#!/usr/bin/env python311'''本脚本名称:readme.py'''tip = '''本目录下的工具,皆为方便自己复用代码而制作。考虑兼容友好,“工具”所引用的工具,全是Python内建捆绑,勿须额外pip。“工具”列表:1、名称,功能2、名称,功能3、名称,功能'''print(f"\n\n{' Star Moon Tools Readme ':=^42}\n\n{tip}\n\n{'':=^42}")

我想以包目录结构“自己的python工具”。
             您觉得要不要得。😋😋



回页目录


2、“包目录结构”示例


  创建一个名为 “自己的python工具” 的包目录结构来组织和管理您的 Python 工具是很好的做法。这样可以使您的代码更加模块化,便于管理和维护。


以下是一种可能的包目录结构:


自己的python工具/
│
├── __init__.py       # 包初始化文件
│
├── tool1/            # 第一个工具的子包
│   ├── __init__.py
│   └── main.py       # 工具1的主要实现
│
├── tool2/            # 第二个工具的子包
│   ├── __init__.py
│   └── main.py       # 工具2的主要实现
│
└── utils/            # 公共函数或辅助工具的子包├── __init__.py└── common.py     # 公共函数的实现

  在这个结构中,每个工具都有自己的子包,其中包含该工具的主要实现文件(例如 main.py )。同时,还有一个 utils 子包用于存放公共函数或辅助工具,这些可以在不同的工具之间共享。

  通过这种方式,您可以保持代码的组织性和可读性,同时也方便了其他开发者理解和贡献到您的项目中。



回页目录


3、小“工具”只引用python内建工具


  • 截屏图片展示
    在这里插入图片描述


回页目录


4、“自制”仅是“没有”


  “自制”,不是为炫技徒劳,只是因为“淘”不到适宜的工具,无奈而已。😋


  • 截屏图片展示
    在这里插入图片描述



回页目录


5、“自制”是为了更好的复用


  这想法主要源于自己对所编撰代码的复用,且便于维护自己工作和学习中用到的对应“模块”。“升级了我的小工具”,我的代码所有引用该模块的地方也会“自动”完成更迭。😎😎

  如需分享代码,将“我的包”一同“打包”就好。“我的包”相对原始+上我配备的简单readme,也不是难以理解。😜😜😜


  • 截屏图片展示
    在这里插入图片描述



回页目录


6、“技巧”在于沉淀


  • 截屏图片展示
    在这里插入图片描述

read_html(url)


def read_html(url: str, decoding: str = 'utf-8') -> str:'''读取页面文本。参数:url (str): 要读取的网页的URL。decoding (str): 用于解码网页内容的字符集,默认为 'utf-8'。返回:str: 网页的HTML内容。异常:ValueError: 如果URL不是字符串或无法访问。'''if not isinstance(url, str):raise ValueError(f"\n\n{' URL must be a string.(url必须是字符串。) ':-^35}\n\n")try:with urllib.request.urlopen(url) as response:return response.read().decode(decoding)except urllib.error.HTTPError as e:raise ValueError(f"\n\n{' HTTP error occurred(http异常) ':-^40}\n\n{e.code} - {e.reason}\n\n")except urllib.error.URLError as e:raise ValueError(f"\n\n{' URL error occurred(url异常) ':-^40}\n\n{e.reason}\n\n")except Exception as e:raise ValueError(f"\n\n{' An error occurred(其它异常) ':-^38}\n\n{e}\n\n")
  • 截屏图片展示
    在这里插入图片描述

# 使用read_html函数获取网页内容
url = 'http://example.com'
html_content = read_html(url)# 现在您可以继续处理html_content,而不用关心如何获取它
print(html_content)

  通过这种方式,您的代码变得更加模块化和整洁,同时也为其他人(或未来的您)提供了清晰的接口来使用这些功能。继续这样的实践,您的编程技能将会更加精湛。😊👍



回页目录


7、“功能模块”的*.py包脚本封装


read_sort() 阅读量排序模块


def read_sort():''' 阅读量排序列表 '''start = time()ids, n = get_key_ids()readeds = []print('\n') # 打印空行。for i in ids:tip_runing()article_info = get_readed(i[0])article_info = {k: v for k,v in article_info if v and v!= '0'} # 剔除零值数据项,生成博文笔记浏览阅读等信息字典。if not article_info: # 浏览阅读数据为空,跳过本次遍历。continuefor i in ('\u2003', '&quot', '??????', '我的HOT博', '&msp' '&ensp;', 'python 3.6.6', 'coding:'): # 遍历删除无意义文章摘要。if i in article_info.get('摘要', ''):del article_info['摘要']breakelif len(article_info.get('摘要', '')) >= len(article_info.get('标题', '')):if article_info.get('摘要'):del article_info['摘要'] # 摘要不比标题标题长,删除摘要。break if article_info.get('作者'):del article_info['作者'] # 作者都是我自己,删除。readeds += [article_info]readeds.sort(reverse=True, key=lambda x: x.get('浏览阅读', 0)) # 按浏览阅读排降序。#print('\n\n'.join(map(str, readeds))) # 终端屏幕打印。S = time() - startS = f"{S//60:.0f}{S%60:.1f}秒" if S > 60 else f"{S%60:.1f}秒"return readeds, f"本次共计收集{len(readeds)}篇博文笔记信息,总阅读量{sum([i.get('浏览阅读', 0) for i in readeds])/10000:.2f}w。数据采集于{my_strftime()},用时{S}。"

str_url(article_info) csdn学习笔记阅读量等数据格式输出模块:


def str_url(article_info):''' 格式化文章阅读量信息 '''d = article_inforeaded = d.get('浏览阅读', 0)if not readed:url = f"{myUrlRoot}{d.get('ID', '')}"print(f"\n{url}")if readed >= 10000:color = 'gold'size = 5elif 8000 <= readed < 10000:color = 'purple'size = 4elif 6000 <= readed < 8000:color = 'scarlet'size = 4elif 5000 <= readed < 6000:color = 'red'size = 3elif 4000 <= readed < 5000:color = 'orange'size = 3elif 2000 <= readed < 4000:color = 'green'size = 3elif 1000 <= readed < 2000:color = 'cyan'size = 3elif 500 <= readed < 1000:color = 'blue'size = 3elif 100 <= readed < 500:color = 'black'size = 2else:color = 'gray'size = 2readed = f"{readed/10000}w" if readed >= 10000 else f"{readed/1000}k" if 1000 <= readed < 10000 else readed # 格式化千万浏览阅读量数值。url = f"{my_urlroot}{d.get('ID')}"thumbs_up = f"点赞:{d.get('点赞')}&emsp;" if d.get('点赞') else ''collect = f"收藏:{d.get('收藏')}&emsp;" if d.get('收藏') else ''comment = f"评论:{d.get('评论')}" if d.get('评论') else ''thumbs_ups = f"\n<br>{''.join([thumbs_up, collect, comment])}" if thumbs_up or collect or comment else '' abstract = f"\n<br>摘要:{d.get('摘要')}。" if d.get('摘要') else ''edit_time = f"\n<br>(本篇笔记于{d.get('首次发布')}首次发布,最后修改于{d.get('最后编辑')})" if d.get('首次发布') else ''return f"<a href='{url}' target=_blank>{d.get('标题')}</a>\n<br>地址:<a href='{url}' target=_blank>{url}</a>\n<br>浏览阅读:<font color='{color}' size={size}>{readed}</font>{thumbs_ups}<font color='gray' size=2>{abstract}{edit_time}</font>\n<br>&ensp;"

  • 截屏图片展示
    在这里插入图片描述



回页目录


8、给ai学伴分享我拟定的本笔记标题


  • 截屏图片展示
    在这里插入图片描述



回页目录


9、在csdn个性自己的小“技巧”


  在“平台”排布文字,您是不可以大展拳脚滴,您是高级前缀也会被压制,施展不开乾坤大挪移都和降龙十八掌天级神技。😋 C S S CSS CSS再美, J a v a S c r i p t JavaScript JavaScript再强,都只能望“台”兴叹,无用武之地。🤗

  还好!有文本样式的小标签可以,一样能搞点“小动作”。😎😎💪💪


9.1 文本“样式”标识


  • 截屏图片展示
    在这里插入图片描述



回页目录


9.2 类<font>的小工具


  • 截屏图片展示
    在这里插入图片描述



回页首


上一篇:  “平铺”代码的有效精减(自定义函数def封装复用,class集成“公共”操作都是优质高效的手段)
下一篇: 



我的HOT博:

  本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有 7 7 7篇。

  • 001
    标题:让QQ群昵称色变的神奇代码
    (浏览阅读 5.9w )
    地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:25 收藏:86 评论:17
    摘要:让QQ昵称色变的神奇代码。
    首发:2022-01-18 19:15:08
    最后编辑:2022-01-20 07:56:47

  • 002
    标题:Python列表(list)反序(降序)的7种实现方式
    (浏览阅读 1.1w )
    地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:8 收藏:35 评论:8
    摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
    首发:2022-12-11 23:54:15
    最后编辑:2023-03-20 18:13:55

  • 003
    标题:pandas 数据类型之 DataFrame
    (浏览阅读 9.7k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:7 收藏:36 
    摘要:pandas 数据类型之 DataFrame_panda dataframe。
    首发:2022-05-01 13:20:17
    最后编辑:2022-05-08 08:46:13

  • 004
    标题:个人信息提取(字符串)
    (浏览阅读 8.2k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:2 收藏:15 
    摘要:个人信息提取(字符串)_个人信息提取python。
    首发:2022-04-18 11:07:12
    最后编辑:2022-04-20 13:17:54

  • 005
    标题:Python字符串居中显示
    (浏览阅读 7.6k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    评论:1

  • 006
    标题:罗马数字转换器|罗马数字生成器
    (浏览阅读 7.5k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    摘要:罗马数字转换器|生成器。
    首发:2022-01-19 23:26:42
    最后编辑:2022-01-21 18:37:46

  • 007
    标题:回车符、换行符和回车换行符
    (浏览阅读 6.0k )
    地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:2 收藏:3 
    摘要:回车符、换行符和回车换行符_命令行回车符。
    首发:2022-02-24 13:10:02
    最后编辑:2022-02-25 20:07:40


推荐条件 阅读量突破6.00k
(更多热博,请点击蓝色文字跳转翻阅)

  • 截屏图片
    在这里插入图片描述
      (此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)



回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/883245.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在线教育(培训+考试)/企业培训-企业培训平台-企业培训平台系统-企业内部培训系统-在线教育-Java语言开发

介绍 企业培训平台支持企业培训考试全流程&#xff0c;在线学习、在线考试&#xff0c;成熟的企业培训考试解决方案&#xff0c;充分满足企业培训需求。 独立部署&#xff0c;仅内部员工登录使用&#xff0c;稳定、安全、高效&#xff0c;满足企业、政府、教育行业的各种在线学…

STM32-Modbus协议(一文通)

Modbus协议原理 RT-Thread官网开源modbus RT-Thread官方提供 FreeModbus开源。 野火有移植的例程。 QT经常用 libModbus库。 Modbus是什么&#xff1f; Modbus协议&#xff0c;从字面理解它包括Mod和Bus两部分&#xff0c;首先它是一种bus&#xff0c;即总线协议&#xff0c;和…

Maya---骨骼绑定

调节骨骼大小 回车键确认骨骼 FK子集跟父集走 IK子集不跟父集走 前视图中按shift键添加骨骼 清零、删除历史记录&#xff0c;创建新的物体

多元线性回归【正规方程/sklearn】

多元线性回归【正规方程/sklearn】 1. 基本概念1.1 线性回归1.2 一元简单线性回归1.3 最优解1.4 多元线性回归 2. 正规方程求最优解2.1 线性回归的损失函数&#xff08;最小二乘法&#xff09;2.2 推导正规方程2.3 正规方程练习2.4 使用sklearn计算多元线性方程2.5 凸函数 3. 线…

哪款宠物空气净化器噪音低?希喂、美的、安德迈测评分享

今年双11&#xff0c;宠物空气净化器到底应该如何选&#xff1f;在所有的家电品类里&#xff0c;宠物空气净化器算是比较特殊的那个&#xff0c;产品迭代太快&#xff0c;我们把今年双11在售的各大主流品牌的宠物空气净化器统一汇总整理&#xff0c;发现基本一多半都是24年下半…

【Unity 安装教程】

Unity 中国官网地址链接 Unity - 实时内容开发平台 | 3D、2D、VR & AR可视化https://unity.cn/首先我们想要安装Unity之前&#xff0c;需要安装Unity Hub&#xff1a; Unity Hub 是 Unity Technologies 开发的一个集成软件&#xff0c;它为使用 Unity 引擎的开发者提供了一…

使用Angular构建动态Web应用

&#x1f496; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4bb; Gitee主页&#xff1a;瑕疵的gitee主页 &#x1f680; 文章专栏&#xff1a;《热点资讯》 使用Angular构建动态Web应用 1 引言 2 Angular简介 3 安装Angular CLI 4 创建Angular项目 5 设计应用结构 6 创建组件…

Nature Communications|一种3D打印和激光诱导协同策略用于定制功能化器件(3D打印/激光直写/柔性电子/人机交互/柔性电路)

美国密苏里大学机械与航天工程系Jian Lin团队,在《Nature Communications》上发布了一篇题为“Programmed multimaterial assembly by synergized 3D printing and freeform laser induction”的论文。论文内容如下: 一、 摘要 在自然界中,结构和功能材料经常形成程序化的三…

《面向对象系统分析与设计》三级项目

文章目录 一、项目总体要求<设计模式应用>第一次文档要求第二次文档要求 二、示例第一次文档 - 设计原则应用1、题目描述2、设计:(1&#xff09;优化理由陈述(2&#xff09;类图(3)实现代码 第二次文档 - 设计模式应用1、题目描述2、设计:(1) 优化理由陈述(2&#xff09;…

【虚幻引擎UE】UE5 音频共振特效制作

UE5 音频共振特效制作 一、基础准备1.插件准备2.音源准备 二、创建共感NRT解析器和设置1.解析器选择依据2. 创建解析器3. 创建解析器设置&#xff08;和2匹配&#xff09;4.共感NRT解析器设置参数调整5.为共感NRT解析器关联要解析的音频和相应设置 三、蓝图控制1.创建Actor及静…

短剧AI突围战,百度跑偏了

“ 百度短剧的Agent对话功能并不属于颠覆性创新&#xff0c;只是新插件&#xff0c;对短剧行业市场格局影响不大&#xff0c;最多只能算用户痒点。 ” 转载&#xff1a;科技新知 原创 作者丨晓伊 编辑丨蕨影 你是否有过这样的体验&#xff1f; 刷短剧时&#xff0c;因剧情曲…

解决运行jar错误: 缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序

报错 众所周知jdk8以上都没有Javafx java -jar target/myyscan-1.0-SNAPSHOT.jar 错误: 缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序解决 https://gluonhq.com/products/javafx/ 去下载/javafx/到本地&#xff0c;选择自己的型号 然后记得指定路径 java --m…

TPLCM柔性屏自动化贴合应用

在当前的显示屏制造领域&#xff0c;TP&LCM贴合技术是推动产品升级和满足市场需求的关键环节。随着技术的不断进步&#xff0c;全贴合技术因其卓越的显示效果和用户体验&#xff0c;逐渐成为中高端产品的标配。然而&#xff0c;这一技术的高精度要求和复杂工艺也带来了诸多…

【C++ 算法进阶】算法提升七

目录 正数数组中那两个数&结果最大 &#xff08;贪心&#xff09;题目题目分析代码详解 最小相机覆盖问题 &#xff08;二叉树递归套路&#xff09;题目题目分析代码详解 拼接字符串 &#xff08;动态规划 前缀树&#xff09;题目题目分析代码详解 正数数组中那两个数&…

SpringBoot实现 License 认证(只校验有效期)

文章目录 一、License介绍二、授权者生成密钥对三、授权者生成license.lic证书3.1、 配置pom.xml3.2 、License生成类3.3 、License生成类需要的参数类3.4、自定义KeyStoreParam3.5、main方法生成license.lic注意事项 四、使用者配置4.1、配置pom.xml4.2、License校验类4.3、Li…

室内地图制作-电子地图管理系统源代码公开-室内地图 开源-SDK调用指南(二)

一、室内外电子地图可视化制图项目需求 室内外地图开发需满足开发者可以在Android、iOs、web应用中加入地图相关的功能&#xff0c;包括&#xff1a;地图展示、地图交互、在地图上绘制路线、POI点、搜索、AR导航、蓝牙点位、离线地图等功能。 在开源室内地图编辑-电子地图管理…

Docker安装Mysql5.7,解决无法访问DockerHub问题

Docker安装Mysql5.7&#xff0c;解决无法访问DockerHub问题 简介 Docker Hub 无法访问&#xff0c;应用安装失败&#xff0c;镜像拉取超时的解决方案。 摘要 &#xff1a; 当 Docker Hub 无法访问时&#xff0c;可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的…

Apple Vision Pro市场表现分析:IDC最新数据揭示的真相

随着AR/VR技术逐渐成熟并被更多消费者接受,2024年第二季度(Q2)成为这一领域的一个重要转折点。根据国际数据公司(IDC)发布的最新报告,整个AR/VR市场在本季度经历了显著的增长。接下来,我们将深入探讨Apple Vision Pro在这股增长浪潮中的具体表现。 市场背景 2024年Q2,…

第五届光学与图像处理国际学术会议(ICOIP 2025)征稿中版面有限!

第五届光学与图像处理国际学术会议&#xff08;ICOIP 2025&#xff09; 2025 5th International Conference on Optics and Image Processing (ICOIP 2025&#xff09; 重要信息 时间地点&#xff1a;2025年4月25-27日丨中国西安 截稿日期&#xff1a;2024年12月16日23:59 …

maven本地打jar包依赖

本地工程的pom文件中引入了mysql依赖&#xff0c;但是在maven库中没有拉下来&#xff0c;可以到mysql官网下载jar包&#xff0c;使用maven手动打包到本地仓库中&#xff1a; 官网地址&#xff1a;MySQL :: Download MySQL Connector/J (Archived Versions) 在jar包所在位置的路…