入行前,经常有人说结构工程师很苦很累,天天和CAD的各种Bug斗智斗勇,小编这段时间真切得感受到了(┬_┬),一想到自己职业生涯还有40多年,不禁摸了摸自己的头发和发际线,好想能一键画图出图一条龙啊!突然想到前几天和小伙伴们讨论python在我们结构工程上的用途,再加上后台有小伙伴在问,python该怎么入门?小编虽然也是python界的小学生,但是还是想来和小伙伴们分享一下学习过程和方法,毕竟大家沟通交流之后,可能会少走很多弯路。
首先,来介绍一下什么是python。
经百度百科介绍,python是一种全栈的开发语言。翻译过来就是,如果你学好了python,那么前端、后端、测试、大数据分析、爬虫等等工作你都可以搞得定。
Python到底有多火呢?搜索引擎Google的核心代码是用它完成的,很多知名网站比如豆瓣也是用它的搭建的,更不用说网上的各种爬虫,前后端开发,可以说python前途无量。
作为一个被越炒越热的编程语言,到底是什么让它如此独领风骚呢?小编分析,有以下几个原因。
-
程序的编写简洁快速。天下武功,唯快不破,语言越简洁明了,就相当于手中的武器越得心应手,打怪升级事半功倍。
-
入门简单,对萌新非常友好。
-
功能强大且语言表达易懂。Python是个解释语言,不仅开源而且开发生态已经很成熟了,丰富且优质的各种库供你选择,就怕挑花了眼。
例如用来表白,简单明了。
那么问题来了,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的魅力,一起入坑。码代码一时爽,一直码一直爽!
“转自:非解构-公众号”上海结构设计圈仅限在上海从事结构设计的朋友们。