之前一直在用Java,也学过一点儿Ruby,而且用Rails也做过小的项目,算是见识到了RoR强大的地方。不过一直都没试过Python,虽然很久以前也看过Python的书籍,对python的基本语法和编程思想有了一点表层的了解,但是一直都没付诸实践,动手编一编。很多人都说Python很简单,有些人学几小时就能编出不错的Python代码,这不免让我对python更加产生兴趣,正好有空,试着照着教程,亲手体验了一下Python。
给我最大的感觉是Python是如此之简单,当然不是说这门语言简单,而是编出的代码是那么的简单,非常精炼,没有Java那么多繁文缛节,很符合我简约的思想。由于之前学过Ruby,所以在编的过程中不免总是在头脑中将Python和Ruby进行对比。虽然网上很多人也都在对这两门语言进行不断的讨论,这里仅结合自己的学习简单谈一点的感受。
- 感觉Ruby更像Java,而Python更像C++。在编Ruby时,一切都是对象,所有的方法调用都是通过对象实例来实现,而python中我看到的更多是C/C++、PHP的影子,很多库函数。
- 之前看到网上过有人说过Ruby重在代码的美,而Python重在代码的简洁,这点我是实实在在地感受到了。Ruby的代码每个方法的起止都非常清楚,看起来很整齐,很漂亮;而Python中采用缩进来控制代码结构,不得不说这是个很独特的想法,可以省去很多Ruby中写end的时间,因而Python的代码每一行都很纯粹,没什么多余的东西。
- Python语言提倡“约定优于配置”的原则,虽然最早听到这个原则是在学Ruby时,但还是感觉Python在这方面做的不错,例如其对属性的访问控制,通过变量名来决定访问权限,省去了Java中的getter和setter,可见Python在背后做了很多工作。当然这在Ruby中也得到了很好的解决,只不过解决的方式不同,各有千秋。
- 至少在目前看来Python的库还是远好于Ruby,而且有更多的商业实践,包括网络巨头Google的推动,国内douban简直算是Python应用的典范,另一方面原因是Python出现较早,自然发展的相对成熟些;对于Ruby,也有比较不错的商业应用,例如twitter和国内的JavaEye,不过跟Python相比Ruby还是年轻,很多东西还有待发展,很多库还不健全。之前用RoR开发的时候也用过一些第三方类库,很多东西还不是那么完善,而且有些对中文的支持还有待改善。
- 框架。在Ruby企业级开发中Rails绝对是个杀手级框架,虽然除了Rails还有很多种选择,不过别的框架还是难以盖过Rails的光辉,很大程度上Rails已经不仅仅是一个简单的框架,而是一种思想,而且影响到了很多其他语言;而Python中也有很多优秀的框架,不过感觉相对灵活,虽然Django用的很多,但还是有很多其他框架可供选择,感觉更加灵活,当然控制不好也会引发很多负面问题。
- 虽然Ruby在Java等其他语言的基础上做了很多改善,但在使用过程中还是可以看到很多Java的影子(至少相比Python而言是这样);而Python则离Java相对更远一些,更像是PHP或是C++,所以对于经常用Java开发的人来说学习Python可能会对发散思维有更大的帮助,因为从某种程度上来说Python是与Java不同的风格,也可以说是从不同角度来思考问题,我觉得这对于一个人整体思考问题能力的提高是有很大帮助的,或许在以后的工作中不一定会经常使用到,但多学点儿东西总归不是什么坏事,而且还可能收获意想不到的东西,所以还是推荐大家有空的时候可以学学Python。
未完待续,随时补充...
以上就是我在学习Python过程中的一点小小的感悟,可能有些地方说的不正确,欢迎大家批评讨论。
分享到:
相关推荐
博文链接:https://23c.iteye.com/blog/191127
### 研究生初试录取程序代码分析 #### Java GUI编程基础 代码中使用了Swing库来创建图形用户界面(GUI),Swing是Java中的一个用于构建图形用户界面的工具包。它提供了一系列丰富的组件,如`JFrame`(窗口)、`...
2. 编程语言:C/C++、Java、Python是常用的编程语言,掌握其语法特性和编程思维,能编写高效、可读性强的代码。 3. 数据库管理:了解数据库系统的基本概念,掌握SQL语言,理解关系模型、事务处理、并发控制、数据库...
9.1.5 Selenium 初试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 9.2 定位元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
3、初试 打开百度并截图 import asyncio from pyppeteer import launch async def main(): browser = await launch(headless=False) # 关闭无头浏览器 page = await browser.newPage() await page.goto('...
**初试:使用`parse`和`Version`对象** `packaging`库提供了一个`parse`函数,可以将版本字符串转换成`Version`对象,方便进行比较。例如: ```python from packaging.version import Version, parse v1 = parse('...
**Flask框架初试代码** 在Python Web开发领域,Flask框架因其轻量级、灵活且易于上手的特性而广受欢迎。本项目是您初次尝试使用Python3和Flask进行编程的结果,标志着您迈入了Python Web开发的大门。在这里,我们将...
这个过程可以使用语言内置的函数来实现,比如Python中的`ord()`函数可以将单个字符转换为其ASCII值,再通过一定的计算将其转换为实际的数值。 对于第二题,题目要求参赛者比较两个字符串,并指出其中的区别。由于...
1. 提升编程能力:熟练掌握至少一种编程语言,如C/C++或Python,并能解决实际问题。 2. 关注科研动态:阅读相关领域的学术论文,了解最新研究成果和技术趋势。 3. 英语水平:提升专业英语阅读能力,准备英文自我介绍...
初试Matplotlib Matplotlib中的pyplot子库提供了和matlab类似的绘图API. 复制代码 代码如下: import matplotlib.pyplot as plt #导入pyplot子库 plt.figure(figsize=(8, 4)) #创建一个绘图对象,
初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程。那么本教程将花费十分钟的时间带你走入Python的大门。本文的内容介于教程(Toturial)和速查手册(CheatSheet)之间,因此只会包含一些...
苏州大学的考研初试可能涉及C/C++、Java或Python等编程语言,考察考生的编程能力和问题解决能力。考生应熟练掌握至少一种编程语言,理解基本语法、数据类型、控制结构、函数和类等概念,同时具备一定的编程调试技巧...
4. **数据库与编程**:了解关系数据库理论,如SQL语言,以及Python、Java等编程语言的基础知识,用于数据处理和GIS软件的二次开发。 5. **GIS项目设计与管理**:理解和掌握GIS项目的规划、需求分析、系统设计、实施...
文中用到了BeautifulSoup这个库, 目的是处理html文档分析的, 因为我只是提取了title的关键字,所以可以用正则表达式代替, 还有一个库是jieba, 这个库是中文分词的作用, 再有一个库是 chardet, 用来判断字符的...