Tag: Python

Python match vs 传统 if-elif: 现代化的 Switch 写法对比

在 Python 中,match 关键字用于模式匹配,在 Python 3.10 中作为结构模式匹配的一部分引入,类似于其他语言中的 switch 语句,但功能更强大。 什么是 match 关键字? 从 Python 3.10 开始,match 语句引入了结构化模式匹配(Structural Pattern Matching)。它类似于其他语言中的 switch 语句,但功能更加强大和灵活。 使用 match 的基本示例 def handle(value): match value: case …

深入理解ROS中的Topics, Services和Actions(含示例)

不知道听谁说的:之后的人工智能会和机器人强烈结合,是下一个十年的技术趋势。 “ROS – 机器人操作系统 机器人操作系统 (ROS) 是一套软件库和工具,可帮助您构建机器人应用程序。从驱动程序到先进的算法,以及强大的开发者工具,ROS 可满足您下一个机器人项目的所有需求。而且它完全开源。” ROS 和 ROS 2 简介 ROS(机器人操作系统) 是一个灵活的机器人软件开发框架。它提供工具、库和约定,用于简化在各种机器人平台上构建复杂且可靠的行为。 ROS 2 是 ROS 的下一代版本,解决了实时性能、安全性和多平台支持等问题。其底层使用 DDS(数据分发服务)实现可扩展且可靠的通信。 可以到官网学习:ros.org ROS 中的核心通信概念 Topics(主题) – 用于节点间异步传输流式数据。 Services(服务) – …

Python 中寻找数据的众数: mode vs multimode

在 Python 中寻找数据的众数 statistics.mode() 函数是 Python 中 statistics 模块的一部分,它返回数据集中出现次数最多的单个值(众数)。与 multimode() 不同,mode() 如果数据集包含多个众数(即多模态数据)或数据为空,则会引发错误。 以下是一些示例来说明 mode() 的行为: mode() 的语法 statistics.mode(data) data: 一个序列(例如 list、tuple),其中的元素是可散列的,用于确定众数。 示例 单一众数(单模态数据) from statistics import mode data = …

MySQL参数一键配置脚本: 有效提升数据库性能

我一直是自己租用VPS服务器,然后搭建各种服务,比如博客就是Apache2+MySQL数据库。一般来说就是默认参数,没有去管,不过最近发现MySQL的性能参数都很保守,不能发挥整个服务器的性能。 然后我就网上搜索了一下,根据参数配置建议,用ChatGPT写了以下Python和BASH脚本。只需要在需要优化的服务器上,跑一下该脚本,然后就会显示参数配置,然后直接把参数添加到MySQL数据库配置参数文件上: /etc/mysql/mysql.conf.d/mysqld.cnf 然后运行: service mysql restart 重启MySQL服务器。 运行了几周,发现效果很好,博客反应速度也快了很多,这很大原因是根据了内存增加了MySQL缓存大小。 Python脚本优化MySQL数据库参数 把下面的Python脚本存成 mysql_config.py 然后运行 python3 mysql_config.py def get_total_ram(): with open('/proc/meminfo', 'r') as f: for line in f: if line.startswith("MemTotal:"): total_ram_kb …

教娃编程之: ChatGPT写了一个Python交互程序调用x.ai的Grok大语言模型

视频:油管/Youtube | B站/小破站 | 微博视频 | 西瓜视频 | 微信视频号 | X/推特 | 小红书 马斯克的x.ai到年底有免费的25美元的credit可以使用Grok大语言模型 前不久(今年初),伊隆·马斯克/Elon Musk的X公司开源了Grok大语言模型,并且给免费提供了25美元的credit可以调用。可以在其官网x.ai注册一个帐号,申请API KEY即可,官网还贴心的的给出了调用的例子。 curl https://api.x.ai/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer xai-......" -d '{ "messages": …

怎么样通过程序来获得比特币钱包余额? (NodeJs/Python)

我们可以通过两种方式来查询任意一个区块链上BTC比特币钱包的余额。 一种方式是直接查询节点,节点可以自己架,但可能较复杂,自己架服务器节点也不便宜。但是这种方法是可以获得较低的延时 (Latency),因为从节点取的数据本来就是链上的。当然可以撸别人的节点,如果节点可靠又需要获取更实时的数据那这是一种比较好的选择。 另一种方式就是使用第三方的API服务,这样的服务一般有免费还有付费的API调用。使用这些API节点的好处是更容易更简单,但会有一定的数据延时,因为API节点需要实时的去链上取数据,再更新到数据库中,再返还给调用者,有一点的时延。 本文介绍获取比特币帐号余额的两种调用第三方服务的方式:mempool 和 blockcypher。 通过 Mempool API 来查询指定比特币钱包地址的余额 我们可以使用 Mempool.space 的 API(有免费和付费版本的 API 调用)通过以下 NodeJs 函数检查任何 BTC/比特币钱包地址的余额: const axios = require('axios'); async function getBTCAddressBalance(btcAddress) { const …

ChatGPT-4 使用 Math Wolfram 插件解决数学脑筋急转弯问题

这篇文章, 我们看一个简单的数学问题(脑筋急转弯), 并用 Python 解决它. 我们看一下LLM(大型语言模型): ChatGPT3.5和ChatGPT4. 通过 ChatGPT-Plus 订阅(目前每月 20 美元 + VAT增值税), 我们可以启用 ChatGPT-4 的插件, 因此, 我们还使用 Wolfram 插件来了解 ChatGPT-4. 数学问题: 大于95555并且有4个相同数字的最小整数 大于 95555 并且有 4 个相同的数字的最小整数是多少? …