在大型项目上,Python 是个烂语言吗?

在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Python的资料从专业入门到高级教程」,

点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!

python项目超过5万行,版本3.9.7,类型靠typing、assert和mypy保证,算中型项目吧。写python很容易放飞自我,必须靠一些best practice和principal才能保证代码质量,大项目用python确实有很多潜在危险。

但真正让我头疼的是性能问题,随着功能的增加,我遇到的情况和高赞回答类似:处处都慢,又没办法处处都优化。

我需要在大数据量上做数学计算,操作数据库,提供web服务,驱动selenium做网络爬虫,还需要动态的把mysql里存的python函数动态import到程序中执行(量化交易相关,需要执行交易策略函数,动态import可以解耦交易策略的发布和项目代码本身的发布)。整个项目运行在一台2核4g内存的云服务器上。

很难找到一个比python更好的支持以上所有需求的语言了。

java太耗内存,而且对大数据量的计算也没有优势,python有pandas用起来很爽。

c#,额,这个语言比较一言难尽,初看上去很厉害,语法、性能、开发效率,几乎没有短板。但是仔细了解一下会有一些佷难受的问题:微软的开源是阉割的:核心的.NET生态是从公司内部开源出来的,用户只是帮Azure进行免费测试和功能回馈,难以吸引真正优秀的开发者加入.NET生态。.NET生态是以Windows为核心进行发展的,而对linux生态的支持因为缺少商业动力也可以忽略不计。C#语言看起来很强,实际上是借鉴了很多种优秀语言的大杂烩,并没有看起来那么厉害。开源界抵触微软文化,对微软的生态不够有信心。而且调研了一下好像c#生态中没有pandas的替代品,只能放弃。

c/c++很吃经验,很多方面都可能导致项目悲剧。搭建一个常见应用至少要涉及到字符集、db连接池、orm、api service、http请求、加密和ssl证书、email一堆基础功能,在java、python、php之类的语言上这些几乎都不会是问题,但c++就可能让人抓狂。b919d053b2dbbc44759d5324b957f98d.jpeg

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32的FLASH学习笔记

不同型号的 STM32,其 FLASH 容量也有所不同,最小的只有 16K 字节,最大的则达到了1024K 字节。大容量产品的闪存模块组织如图所示: STM32 的闪存模块由:主存储器、信息块和闪存存储器接口寄存器等 3 部分组成。 ​ ①主…

pikachu靶场通关之暴力破解token防爆破

这里写pikachu靶场token防爆破的第二种解法 用python脚本跑,下面是代码 import requests from bs4 import BeautifulSoup# url填自己的url url http://localhost:8086/pikachu-master/vul/burteforce/bf_token.php # 取出账号字典里的值,1.txt就是账号…

docker安装minio附带图片

1.拉镜像 docker pull minio/minio 2.创建挂载点目录 mkdir -p /usr/local/minio/config mkdir -p /usr/local/minio/data 3.创建minio容器 docker run \ -p 19000:9000 \ -p 9090:9090 \ --nethost \ --name minio \ -d --restartalways \ -e "MINIO_ACCESS_KEYmini…

k8s 二进制安装 优化架构之 部署负载均衡,加入master02

目录 一 实验环境 二 部署 CoreDNS 1,所有node加载coredns.tar 镜像 2,在 master01 节点部署 CoreDNS 3, DNS 解析测试 4, 报错分析 5,重新 DNS 解析测试 三 master02 节点部署 1&#xff0…

[HNCTF 2024] crypto/pwn

周日的比赛,赛后拿别人的WP又作了俩,最后一个题也是没弄懂,先记一下吧。 Crypto EZmath 一个简单的函数题。在sagemath里有个two_squares函数,可以从平方和恢复两个规模相近的数。这种比较适合于RSA里的p,q。另外未知的e用来猜…

mybatis:Spring junit 测试报错:Failed to load ApplicationContext

Spring junit 测试报错:Failed to load ApplicationContext 解决方法,修改mybatis版本,版本过高导致无法加载依赖

GDPU 竞赛技能实践 天码行空 期末小测

1. 除法(原题) 👨‍🏫 实验二:1.简单枚举 输入正整数n,按从小到大的顺序输出所有形如abcde/fghij n的表达式,其中a~j恰好为数字0~9的一个排列(可以有前导0&a…

DBeaver如何csv导入数据

简言之先要创建任务,任务还需要去执行,只有执行之后才是执行真的导入了 那个保存任务真的很误导人啊 1.首先点击你要被导入的表,右键选择导入数据然后选择直接点击下一步,这个地方需要修改格式,否则会乱码 如果你导入的没有标题…

【Redis】Redis面试和工作中十有八九会遇到的问题

1. 数据类型 常用的Redis数据类型有5种,分别是: String、List、Set、SortedSet、Hash 还有一些高级数据类型,比如Bitmap、HyperLogLog、GEO等,其底层都是基于上述5种基本数据类型。因此在Redis的源码中,其实只有5种数…

鸿蒙生态融合进行时!菊风启动适配HarmonyOS NEXT,赋能原生应用实时

​​今日话题 鸿蒙HarmonyOS NEXT 自华为公开宣布鸿蒙 HarmonyOS NEXT 系统以来,该系统受到了业内广泛关注,和以往鸿蒙系统不同的是该系统底座完全由华为自研,摒弃了 Linux 内核和安卓 AOSP 代码,仅兼容鸿蒙内核及鸿蒙系统的应用…

什么是最大路径?什么是极大路径?

最近学习中,在这两个概念上出现了混淆,导致了一些误解,在此厘清。 最大路径 在一个简单图G中,u、v之间的距离 d ( u , v ) min ⁡ { u 到 v 的最短路的长度 } d(u,v) \min \{ u到v的最短路的长度 \} d(u,v)min{u到v的最短路的…

DRF之视图集

【 一 】视图集 ​ 在 RESTful 架构中,对资源的常规操作无非就是查询、新增、修改、删除等这么几种。为此,django-rest-framework 分别提供了对应通用类视图函数。但是,如果对同一个资源的不同操作逻辑分散在各个视图函数中,从逻…

AI地名故事:鸦岗村

鸦岗村,位于广州市白云区石井镇,是一个历史悠久、文化底蕴深厚的村落。据《广州地名志》记载,南宋时期,南雄珠玑巷的凌氏家族迁移至此地,并在此建立村落。由于村子周边的山岗上常有乌鸦栖息,因此得名“鸦岗…

python接口测试之tokensession的处理

使用python语言来进行实现,在这里我们使用第三方的库requests,需要单独的安装下,安装的命令是: pip install -U requests 见安装的截图: 安装成功后,如果可以在正常的导入,说明安装OK&#xf…

基于springboot实现医药管理系统项目【项目源码+论文说明】

基于springboot实现医药管理系统演示 摘要 计算机网络发展到现在已经好几十年了,在理论上面已经有了很丰富的基础,并且在现实生活中也到处都在使用,可以说,经过几十年的发展,互联网技术已经把地域信息的隔阂给消除了&…

嗨动PDF编辑器怎么对pdf修改?分享修改步骤

嗨动PDF编辑器怎么对pdf修改?PDF(Portable Document Format)格式因其跨平台、不易修改的特性,在日常工作和学习中得到了广泛的应用。然而,当需要对PDF文件进行修改时,许多人可能会感到困扰。此时&#xff0…

紫光展锐先进技术科普 | 工业互联网遇到5G,1+1>2?

随着工厂自动化的加速普及,如今我们可能经常看到这样的场景:在高温、潮湿、粉尘、腐蚀等恶劣环境作业场景,巡检机器人穿梭其中,工人们不必弯腰去搬沉重又危险的器件,而旁边会有一个个机械臂帮手平稳有序地完成好所有搬…

谷歌Google搜索广告开户流程与费用?

谷歌Google作为全球领先的搜索引擎,其广告平台——Google Ads,无疑是企业捕获潜在客户的黄金钥匙。想要在广阔的互联网海洋中精准航行,了解Google搜索广告的开户流程与费用至关重要。通过云衔科技的专业服务,让您的谷歌Google广告…

MPLS小实验

实验图: 实验要求: 要求使用MPLS技术,将实验通,并在实验结束后使用命令:tracert -v -a 看是否基于标签进行转发。 如上:在每台路由器上都有两个环回,一个用于模拟用户网段,一个用于M…

ubuntu CUDA 驱动更新,版本更新,多CUDA版本管理

1 新版本驱动下载 前面介绍过window CUDA驱动更新,但是对于ubuntu 的驱动更新,没有一键操作。 本人笔记本电脑n年前装的CUDA DRIVER仅支持到cuda10.2,实在无法满足这日新月异的科技更新。 左 旧的驱动版本 右 新下载的硬件支持的驱动版本&…