Coding养成--Python(20)

vibe coding:用自然语言驱动Python工具开发 vibe coding 是一种以意图为核心的轻量级编程范式,强调用自然语言描述需求而非陷入工程脚手架;其原理依托于代码大模型(如 Codex)对 Python 惯用法、CLI 结构和系统工具链的深度理解,实现从需求到可执行脚本的极简映射;技术价值在于显著降低小工具开发的认知负荷与启动成本,尤其适合运维、数据处理、自动化胶水代码等场景;典型应用包括端口检测(whichport)、JSON比对、日志分析等单文件、标准库优先、开箱即用的命令行工具;本文基于真实开发动线,展示如何通过 vibe 描述+Codex 协 阅读详情

#The diary of a Python learner

Date:26.03.2025

目录

#The diary of a Python learner

Focus:argparse

Key:

1.

2.

3.

Practice:

2.

Difficulty?

Addition:



Focus:

Key:

函数功能
sys.argv解析命令行参数
parse_args解析命令行参数
1.sys.argv

内置参数列表。可直接传入。

# copy.py
import sys
print(sys.argv)
source = sys.argv[1]
target = sys.argv[2]

python copy.py source.txt copy.txt

得到

['copy.py', 'source.txt', 'copy.txt']
2.parse.args

使用argparse解析参数,只需定义好参数类型,就可以获得有效的参数输入,能大大简化获取命令行参数的工作。

详情参考廖老师的例子,如下


Practice:

1.编写一个备份MySQL数据库的命令行程序,需要输入的参数如下:
  • host参数:表示MySQL主机名或IP,不输入则默认为localhost;
  • port参数:表示MySQL的端口号,int类型,不输入则默认为3306;
  • user参数:表示登录MySQL的用户名,必须输入;
  • password参数:表示登录MySQL的口令,必须输入;
  • gz参数:表示是否压缩备份文件,不输入则默认为False;
  • outfile参数:表示备份文件保存在哪,必须输入。

其中,outfile是位置参数,而其他则是类似--user root这样的“关键字”参数。

# backup.py

import argparse

def main():
    # 定义一个ArgumentParser实例:
    parser = argparse.ArgumentParser(
        prog='backup', # 程序名
        description='Backup MySQL database.', # 描述
        epilog='Copyright(r), 2023' # 说明信息
    )
    # 定义位置参数:
    parser.add_argument('outfile')
    # 定义关键字参数:
    parser.add_argument('--host', default='localhost')
    # 此参数必须为int类型:
    parser.add_argument('--port', default='3306', type=int)
    # 允许用户输入简写的-u:
    parser.add_argument('-u', '--user', required=True)
    parser.add_argument('-p', '--password', required=True)
    parser.add_argument('--database', required=True)
    # gz参数不跟参数值,因此指定action='store_true',意思是出现-gz表示True:
    parser.add_argument('-gz', '--gzcompress', action='store_true', required=False, help='Compress backup files by gz.')


    # 解析参数:
    args = parser.parse_args()

    # 打印参数:
    print('parsed args:')
    print(f'outfile = {args.outfile}')
    print(f'host = {args.host}')
    print(f'port = {args.port}')
    print(f'user = {args.user}')
    print(f'password = {args.password}')
    print(f'database = {args.database}')
    print(f'gzcompress = {args.gzcompress}')

if __name__ == '__main__':
    main()

输入有效的参数,则程序能解析出所需的所有参数:

$ ./backup.py -u root -p hello --database testdb backup.sql
parsed args:
outfile = backup.sql
host = localhost
port = 3306
user = root
password = hello
database = testdb
gzcompress = False

缺少必要的参数,或者参数不对,将报告详细的错误信息:

$ ./backup.py --database testdb backup.sql
usage: backup [-h] [--host HOST] [--port PORT] -u USER -p PASSWORD --database DATABASE outfile
backup: error: the following arguments are required: -u/--user, -p/--password

更神奇的是,如果输入-h,则打印帮助信息:

$ ./backup.py -h                          
usage: backup [-h] [--host HOST] [--port PORT] -u USER -p PASSWORD --database DATABASE outfile

Backup MySQL database.

positional arguments:
  outfile

optional arguments:
  -h, --help            show this help message and exit
  --host HOST
  --port PORT
  -u USER, --user USER
  -p PASSWORD, --password PASSWORD
  --database DATABASE
  -gz, --gzcompress     Compress backup files by gz.

Copyright(r), 2023
2.
# -*- coding: utf-8 -*-
import


Difficulty?


Addition:

一般位置参数放在最后,关键字参数要有开头索引

参考:简介 - Python教程 - 廖雪峰的官方网站

Vibe Coding:用Python YAML声明式启动本地大模型 大模型本地部署本质是模型服务(如Ollama、llama.cpp、LM Studio)与交互层的集成问题。其核心原理在于统一抽象HTTP/IPC接口、自动适配运行时环境,并通过声明式配置驱动可复现的Python执行流程。技术价值在于消除命令行试错、环境配置和调试断层,显著降低LLM工程化门槛。典型应用场景包括PDF智能问答、会议纪要生成、SQL自然语言查询等轻量级AI助手开发。本文聚焦Vibe Coding这一Python优先的声明式框架,基于YAML定义意图,自动生成带流式响应、fallback容错与全平 阅读详情

相关推荐

Vibe Coding:构建高效自动化Python开发工作流

在软件开发中,编码风格与工程习惯是影响代码质量和团队协作效率的关键因素。通过引入自动化工具链和标准化工作流,开发者可以将心智资源聚焦于核心问题解决,而非繁琐的格式检查和环境维护。这种实践不仅提升了代码的一致性与可维护性,还通过减少上下文切换显著提高了开发效率。其技术价值在于将质量保障从依赖个人纪律转变为自动化、可复现的流程,从而在团队协作和项目交付中发挥重要作用。本文以Python生态为例,详细介绍了如何整合Black、Ruff、pre-commit等工具,构建从代码格式化、静态检查到提交前验证的完整自动化

weixin_30591551的博客 437

Vibe Coding:用Python轻量封装本地大模型的桌面实践

本地大模型部署正从命令行实验走向日常办公刚需,其核心挑战已从‘能否运行’转向‘是否愿用’。Vibe Coding作为一种极简桌面封装范式,依托Python生态(如tkinter、requests)与主流推理引擎(Ollama、llama.cpp)深度协同,实现模型调用零命令行、双击即用、离线可靠。它不追求Web服务的并发能力,而专注降低非技术用户使用门槛——通过自动模型发现、线程安全UI、单文件打包(PyInstaller)和智能错误反馈,将本地AI真正嵌入微信/钉钉/Excel等高频工作流。关键词涵盖Vi

482

AI Coding 边界失控?从 Vibe Coding 到 Coding Plan 的工程化自救指南

在人工智能生成代码日益普及的今天,开发者既可能体验到 AI Coding Agent 带来的效率飞跃,也可能遭遇“越改越乱”的维护噩梦。Vibe Coding 强调自然语言描述意图,却常让代码失去隐性约束;Coding Plan 虽提升了任务规划粒度,但若缺失工程纪律,依然会放大技术债。真正的问题不在于“用不用 AI”,而在于如何定义清晰的能力边界:哪些代码适合交给 Agent?哪些环节必须人工把关?从代码补全到任务级自动化,AI 编码工具的价值取决于上下文控制、规则文件与质量门禁的完善程度。本文从基础概念

weixin_34087307的博客 350

python coding_python开头的coding设置方法

缘起:[root@CentOS7 code]# python multi_thread_mfw.pyFile "multi_thread_mfw.py", line 138SyntaxError: Non-ASCII character '\xe5' in file multi_thread_mfw.py on line 138, but no encoding declared; see htt...

weixin_39797381的博客 364

Vibe Coding与Spec Coding:AI编程时代的双轨工程方法论

在AI编程普及的当下,'vibe coding'代表依赖上下文直觉的快速原型开发,而'spec coding'则强调接口契约、领域模型与可追溯变更的结构化约束。二者并非对立,而是工程节奏的两面:前者提升单次交付效率,后者保障长期可维护性与团队协同质量。理解其底层机制——如上下文窗口限制、指令工程有效性及模型幻觉风险——是规避技术债的关键。真实项目中,OpenAPI定义接口契约、PlantUML刻画业务状态机、Conventional Commits沉淀决策日志,共同构成轻量但刚性的Spec实践框架。当Cur

bk_lin的专栏 506

Google账号找回通用方法(尤其是知道账号密码仍无法登录和找回的)

Google账号找回通用方法【尤其是知道账号密码仍无法登录和找回的】普通找回注意:适用于常用谷歌账户的设备和网络情况下无法使用手机或辅助邮箱验证码进行密码找回特殊找回方法注意;适用于1.新的设备以及网络环境(包括由于非正常原因导致设备系统以及应用信息变更)2.没有开启辅助验证(手机/邮箱)3.知道账号密码但无法登录或找回。通过申诉进行找回 普通找回 注意:适用于 常用谷歌账户的设备和网络情况下 无法使用手机或辅助邮箱验证码进行密码找回 通过恢复页面进行恢复 https://accounts.google

极客代码-极致生活 23万+

Coding养成--Python(18)

从str转换为datetime可以用.strptime('2025.02.21','%Y-%m-%d %H:%M:%S')(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp。,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关。Key:通过datetime获取时间、转换为timestamp、与str的互转、时区转换。表示的时间需要时区信息才能确定一个特定的时间,否则只能视为本地时间。

RedDevil_7的博客 444

EAST算法(Efficient and Accuracy Scene Text))

1.EAST模型简介 本文介绍的文本检测模型EAST,便简化了中间的过程步骤,直接实现端到端文本检测,优雅简洁,检测的准确性和速度都有了进一步的提升。如下图: 其中,(a)、(b)、(c)、(d)是几种常见的文本检测过程,典型的检测过程包括候选框提取、候选框过滤、bouding box回归、候选框合并等阶段,中间过程比较冗长。而(e)即是本文介绍的EAST模型检测过程,从上图可看出,其过程简化为只有FCN阶段(全卷积网络)、NMS阶段(非极大抑制),中间过程大大缩减,而且输出结果支持文本行、单词的多个角度

博客 9579

Coding养成--Python(17)

a-zA-Z\_][0-9a-zA-Z\_]*可以匹配由字母或下划线开头,后接任意个由一个数字、字母或者下划线组成的字符串,也就是Python合法的变量;1.\d\s\w分别为数字、空格、字母\数字,‘.’代表可以匹配任意字符,{}可以声明字符长度,\s代表空格,后面加一个+表示至少一个。[0-9a-zA-Z\_]+可以匹配至少由一个数字、字母或者下划线组成的字符串,如'a100','0_Z','Py3000'等等;py也可以匹配'python',但是加上^py$就变成了整行匹配,就只能匹配'py'了。

RedDevil_7的博客 455

拆解人形机器人:核心硬件与驱动系统

本文深入解析人形机器人的核心硬件系统,将其类比为"骨骼+肌肉+神经"的集成体。重点介绍了三大关键组件:驱动单元(无框力矩电机和空心杯电机)、传动单元(谐波减速器和行星滚柱丝杠)以及感知单元(力矩传感器、编码器和IMU)。文章指出一体化关节模组正成为行业趋势,能够实现更紧凑的结构和更高的可靠性。同时分析了硬件价值量分布,强调丝杠、电机等部件是当前技术高地和成本重心。最后指出随着技术进步,机器人价值将更多向"大脑"和"神经"转移。

小明的博客 1529

✨从零搭建 Ubuntu22.04 + Python3.11 + PyTorch2.5.1 GPU Docker 镜像并上传 Docker Hub

构建一个带 GPU 支持的深度学习开发镜像;使用 PyTorch 2.5.1(CUDA 12.4)环境;发布并托管 Docker 镜像至 Docker Hub;验证 GPU 环境正常运行!🎉 这将极大提升你的项目部署效率,尤其是在多人协作或跨平台部署场景中。

用大模型重构生活:猫奴程序员的AI智能日常记录 1576

【AI Coding 新范式:从 Prompt Coding 到 Agentic Engineering,一文读懂 AI 软件开发的未来】

AI Coding:从代码补全到智能协作的软件开发新范式 随着大语言模型的发展,软件开发正经历从传统"人写代码"到"人机协同"的范式转变。AI Coding已从最初的代码补全(AI Assist Coding)演进为自然语言驱动的Prompt Coding,并正向更高级的Agentic Coding发展。这一演进路径(Context Engineering→Vibe Coding→Spec Coding→Agentic Coding)反映了AI在软件开发中不断深化的参与程度:从代码生成转向完整任务执行,包括

分享 AI 与开发实践,项目源码及更多内容请访问 GitHub:https://github.com/Elaine-one 578

先进半导体材料与器件Chapter3

Chapter3 异质结双极晶体管(HBT) 作者:毛茏玮 / Saint 掘金:https://juejin.im/user/5aa1f89b6fb9a028bb18966a 微博:https://weibo.com/5458277467/profile?topnav=1&wvr=6&is_all=1 GitHub:github.com/saint-000 知乎:https:/...

一个会写代码的烤鸭 5802

AI编程范式演进:从Vibe Coding到Spec Coding实践

AI编程正在重塑软件开发流程,其核心在于将自然语言理解与工程规范相结合。Vibe Coding通过自然语言交互快速生成原型代码,显著提升开发效率;而Spec Coding则将软件工程规范转化为机器可执行的约束条件,确保代码质量。这两种范式分别对应探索期和生产期的不同需求,开发者需要根据项目阶段灵活选用。在实际应用中,合理结合AI生成代码与传统工程方法,既能发挥AI的创造力优势,又能避免技术债积累。特别是在金融、电商等领域,规范的自动化验证能有效提升代码安全性与可维护性。随着工具链的完善,AI编程正推动开发范

chuange6363的博客 350

ARM SMMUv3设备树配置实战:从零开始为RK3588搭建IOMMU环境

本文详细介绍了在RK3588平台上配置ARM SMMUv3设备树的实战经验。从理解硬件架构、设备树节点定义,到内核驱动集成与调试,提供了完整的IOMMU环境搭建指南,并分享了解决StreamID冲突、中断配置等常见问题的技巧,帮助开发者高效完成控制器初始化。

l3m4n的博客 883

华为OD机试双机位C卷:挑选宝石 (C/C++/Python/JAVA/JS/GO)

华为OD机试双机位C卷 挑选宝石,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试-挑选宝石,华为OD机考-挑选宝石。

qq_45776114的博客 1500

Coding养成--Python(19)

实现参数的优先级查找,即先查命令行参数,如果没有传入,再查环境变量,如果没有,就使用默认参数。本身也是一个dict,但是查找的时候,会按照顺序在内部的dict依次查找。如果希望key不存在时,返回一个默认值,就可以用。,这样就可以非常高效地往头部添加或删除元素。可以根据参数设置的顺序确定查找目标参数的顺序。元素的个数,并可以用属性而不是索引来引用。时,如果引用的Key不存在,就会抛出。是一个函数,它用来创建一个自定义的。串起来并组成一个逻辑上的。

RedDevil_7的博客 410

适航文章汇总:知识体系全面梳理

无论您是行业新手还是经验丰富的专业人士,都可以通过本篇文章快速查找相关资料,提高对适航认证、机载系统、软件及硬件等领域的理解。本部分详细解析ARP 4754A、ARP 4761、DO-178C、DO-254等核心标准,并介绍其在机载系统开发中的应用。介绍FAA、EASA、CCAR等主要航空管理机构的适航规章体系,并说明各类飞行器(如固定翼、旋翼机、无人机等)的适航要求。本部分还探讨硬件设计、验证与确认过程中的挑战。从系统架构设计到机载设备的集成与管理,本部分介绍机载系统的研发体系及适航管理的最佳实践。

qq_41854911的博客 1449

Coding养成--Python

循环变量时应再加一层函数使循环变量不直接被引用,同时用i作为每次循环的指针。若要对外层函数赋值,同时保证不被初始化,提前用nonlocal在内层声明。Addition:同层代码和return以及内层def同样缩进。注意外层函数返回的是内层函数还是使用内层中返回的参数。Focus:返回函数、闭包对于内存的保护。闭包尽量避免循环变量作为外层参数。

RedDevil_7的博客 465

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Live Coding in Python 项目教程

Live Coding in Python 项目教程 1. 项目介绍 Live Coding in Python 是一个开源项目,旨在通过实时编码功能增强 Python 开发体验。该项目支持多种集成开发环境(IDE),包括 PyCharm、Emacs、Sublime Text,甚至可以在浏览器中使用。通过实时编码,开发者可以在编写代码的同时立即看到代码的执行结果,从而加快开发和调试过程。 2. 项...

gitblog_00563的博客 834

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Python算法面试速成:coding-interview-gym中的高频题目与最优解

在竞争激烈的技术面试中,掌握核心算法题目是成功的关键。coding-interview-gym项目为Python开发者提供了全面的LeetCode和AlgoExpert算法题解,帮助你快速掌握面试必备的解题技巧和最优思路。本文将带你探索这个项目中的高频题目类型、解题策略以及如何高效利用这些资源提升面试通过率。 ## 为什么选择coding-interview-gym? coding-inter

gitblog_00617的博客 588

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Kimi Vibe Coding 测评

Vibe Coding如何改变传统编程流程。通过使用Kimi CLI等工具发现,优秀的AI编程工具不仅能简化开发流程,还能自动完成代码测试和修改。

疯狂的博客 627

Coding the Matrix作业Python Lab及提交方法

Coding the Matrix: Linear Algebra through Computer Science Applications    这是一门用python实现矩阵运算的课,第一次作业就感觉对python的提高很大,用到了各种数据类型。   代码如下: ## Task 1 minutes_in_week = 60*24*7 ## Task 2 remainder_wit

Focustc 3461

python coding_python coding

各位小伙伴大家好哈,国庆过的如何呢,今天我们分享一下GUI编程部分的一个综合例子,帮助大家来巩固一下这部分的内容,从此之后妈妈再也不用担心我给自己做计算器了。# -*- coding: utf-8 -*-# !/usr/bin/pythonimport tkinter # 导入tkinter模块root = tkinter.Tk()root.minsize(280, 500)root.title...

weixin_39796839的博客 518

Windows Vibe Coding:PowerShell+ripgrep+Python 快速开发实践

Vibe Coding 是一种强调心流、反馈即时、工具极简的现代编码范式,核心在于缩短‘想法→执行→结果’的响应链路。其技术原理依托于操作系统原生能力的深度协同:PowerShell 提供基于对象的管道化系统操控能力,ripgrep 实现毫秒级结构化文本搜索,Python 充当轻量级数据转换与胶水逻辑引擎。这种组合在 Windows 平台具备独特优势——无需 WSL、不依赖开发者模式,即可打通办公场景(Excel/Log/邮件)、运维任务与日常自动化。对广大 Windows 开发者、运维人员及技术型办公用户

aodanchui1057的博客 554

Coding养成--Python(2)

复习了一下filter函数可以进行对输入的T/F进行判断并筛选。Focus:lambda匿名函数。可以直接在return里用。lambda不需要返回值。

RedDevil_7的博客 450
上一篇: Coding养成--Python(19)
RedDevil_7
博客等级 码龄5年 109粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值