结构不只有眼前的CAD,还有python和秀发!

入行前,经常有人说结构工程师很苦很累,天天和CAD的各种Bug斗智斗勇,小编这段时间真切得感受到了(┬_┬),一想到自己职业生涯还有40多年,不禁摸了摸自己的头发和发际线,好想能一键画图出图一条龙啊!突然想到前几天和小伙伴们讨论python在我们结构工程上的用途,再加上后台有小伙伴在问,python该怎么入门?小编虽然也是python界的小学生,但是还是想来和小伙伴们分享一下学习过程和方法,毕竟大家沟通交流之后,可能会少走很多弯路。

 

 

 

 

首先,来介绍一下什么是python。

经百度百科介绍,python是一种全栈的开发语言。翻译过来就是,如果你学好了python,那么前端、后端、测试、大数据分析、爬虫等等工作你都可以搞得定。

 

 

 

Python学习交流群:1004391443

Python到底有多火呢?搜索引擎Google的核心代码是用它完成的,很多知名网站比如豆瓣也是用它的搭建的,更不用说网上的各种爬虫,前后端开发,可以说python前途无量。

 

 

 

 

作为一个被越炒越热的编程语言,到底是什么让它如此独领风骚呢?小编分析,有以下几个原因。

  1. 程序的编写简洁快速。天下武功,唯快不破,语言越简洁明了,就相当于手中的武器越得心应手,打怪升级事半功倍。
  2. 入门简单,对萌新非常友好。
  3. 功能强大且语言表达易懂。Python是个解释语言,不仅开源而且开发生态已经很成熟了,丰富且优质的各种库供你选择,就怕挑花了眼。
  4. 例如用来表白,简单明了。

 

 

 

 

 

 

 

 

 

那么问题来了,python对于我们结构工程师来说,到底能实现什么呢?

 

 

 

 

其实,在平时我们的眼中,可能看见的对象都是混凝土,钢筋以及各种施工方法,而在python的世界里,就是对象类型,函数以及各种神操作了。小编经过仔细的思考,目前和我们的联系可以分为三大类:

1.图像处理

小编对于这个有个大胆的设想,当工程做到一定数量,就可以建立起比较完善的数据库,利用自然语言处理来匹配出项目的相似度,在结构布置及荷载相似的情况下,选取数据库中的相似项目,在此基础上优化,进而大大缩短出图的时间,或者想的更多一点,优化也可以由数据化来实现,那小编就可以从画图狗摇身一变成为…改图狗。

 

 

 

 

   2. 数据分析

   午夜梦回时,你是否想起当年调模型指标的痛?如果python学得好,这些都不是烦恼!可以利用Numpy、Scipy做工程数值分析,顺便用已有项目的报告生成模板,分章节输入主要的项目背景、参数等,一键生成超限报告不是梦啊。

 

 

 

 

   3. 二次开发

   你是否曾抱怨过Abaqus等软件不接地气?别担心,python帮你解决。既然已经把脑洞开到了这里,我们不妨深想一步,现在的结构分析基本都是YJK、PKPM,边坡或者隧道可能Midas用的多,虽然理论和规范都是一致的,但是不同的设计院采用不同的软件计算结果还是会略有不同,有没有可能利用python实现结构领域的设计标准化?

 

 

 

 

大饼就先画到这里,再想下去就该去床上了,毕竟梦里啥都有。

 

 

 

 

书归正传,这么有用的东西,我们该如何学习呢?前面也说了,小编目前还是个python界的小学生,经验不多但是很乐意把自己的学习过程和踩过的雷与大家分享一下。

先说学习过程

第一步,给自己打个气~

 

 

 

 

第二步,制定一份学习时间表,所有没有时间限制的计划都是耍流氓。小编是一个没什么耐心的人,所以时间都是以15天为周期。大家可以根据自己的时间自行调节。

  • 第一个周期是用来熟悉python的基本架构和语法。这一部分可以配合书本和视频教程一起学习,这里小编是踩了雷的,只看书不动手就是纸上谈兵,最好的学习方法是:照抄。根据书本上的例子一个个的做,GITHUB上的实战项目也很多,选择一些简单容易上手的做起来。照抄完确定运行成功后,记得要回头扫一眼代码,有没有不理解的地方?这里的编程思路有什么可以学习的?如果觉得这个小项目里有很多值得学习的地方,不妨合上书本,试着自己重新实现一遍。

 

 

 

 

 

  • 第二个周期同样是15天,用来学习常用的数据结构和高级的函数用法。小编目前还在这个阶段摸爬滚打,有大牛说,看不懂不会用没关系,先往下做,不会的上网查或者问别人,问出来了再把对应的知识点补上,小编则认为这一部分是很重要的理论知识,沉浸于做项目固然有趣且回报感很强,但是一旦项目除了什么问题,没有成熟的知识体系和理论,可能只能抓瞎。所以这里见仁见智,找到适合自己的学习方法才是王道。

 

 

 

 

 

  • 第三个周期的学习内容就是和我们结构工程师息息相关的了,数据处理需要的各种库的使用,如pandas、Numpy、Scipy、matplotlib的使用。这一部分的学习小编还没深入进行,所以请各位看官且听下回分说。

 

 

 

 

 

 

 

 

 

至于学习python用的软件,小编安装的是anaconda python,因为打包了很多的库,用起来很方便且易上手。使用的的书本教程就是官方的教程以及《笨方法学python》,视频教程来源于B站,没错,就是那个二次元弹幕网站!不吹不黑,真的是宝藏网站,不信您就搜搜看。

小编经常用的学习库是GITHUB,国际惯例百度百科一下,GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。翻译过来就是,Git是一个你所有代码历史记录的管理工具,而Github说白了就是一个版本控制工具,随时查看修改了什么地方,不能再好用了。至于它的教程,知乎上全是,我就不再赘述。

但是学习编程也是一件很辛苦的事情,尤其入门时,会特别的痛苦,但一旦入门,前方就一马平川,让我们尽情溜达吧。

 

 

 

 

希望这一片文章能让更多人感受到python的魅力,一起入坑。码代码一时爽,一直码一直爽!

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现一个不仅仅在局域网内,而是在全球范围内都可以使用的网络聊天室,需要考虑以下几个方面: 1. 选择合适的网络协议:在实现网络聊天室时,需要选择合适的网络协议,比如TCP或UDP。TCP协议是一种可靠的、面向连接的协议,适用于需要保证数据传输可靠性的场景;UDP协议则是一种简单的、面向无连接的协议,适用于需要快速传输数据的场景。在实现网络聊天室时,需要根据实际情况选择合适的协议。 2. 使用集中式或去中心化架构:网络聊天室可以使用集中式架构或去中心化架构。集中式架构需要有一个中央服务器来协调各个客户端之间的通信;去中心化架构则不需要中央服务器,各个客户端之间可以直接通信。在实现网络聊天室时,需要根据实际情况选择合适的架构。 3. 实现用户身份认证:网络聊天室需要实现用户身份认证,确保只有合法的用户才能进入聊天室。用户身份认证可以使用密码、证书等方式实现。 4. 实现消息传输和管理:网络聊天室需要实现消息传输和管理。在传输消息时,需要考虑消息的安全性和可靠性;在管理消息时,需要考虑消息的存储、转发、撤回等功能。 5. 实现用户界面:网络聊天室需要实现用户界面,方便用户进行聊天和管理。用户界面可以使用命令行界面、图形界面等方式实现。 总的来说,实现一个不仅仅在局域网内,而是在全球范围内都可以使用的网络聊天室是一个比较复杂的工程,需要考虑多个方面的问题。在实现时需要有足够的网络编程、安全性和用户界面设计方面的知识和经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值