擅长java语言学习Python能否更顺利些?
精通java能否给学习python或者其他语言带来便利?
我说的是比如。勿喷。
因为最近自学python。但是学校没有相关的课程。之前学校开过java自己学得还不错。看了点python的书,觉得和java"差不多"。所以,又去图书馆借了java的书。想将java给巩固。但是两个语言一起学,有点乱乱的感觉。就是写代码的时候总是窜了!。。。。
所以想问问可以不将java学得在好点。这样再大概了解一下python的相关就可以很好地开发python呢???
大部分有帮助,Java面向对象那些知识在Python中是想通的.只不过是换种面孔出现
但是写过Python之后,对Java有些许厌恶感,乃正常现象.
我想,如果只是针对某个编程语言的语法和常用库还有工具什么的,这应该不会对学习其他语言有多大帮助。
给题主推荐一篇文章http://zhuanlan.zhihu.com/vczh-nichijou/19796639
可以看孟岩的这篇文章快速掌握一个语言常用的%50
我是先学Java(03年开始,十几年写了无数代码),然后再学的Python(2012开始),刚开始写出来的Python就像Java,完全没有掌握Pythonic的神髓,直到最近半年才有点找到门道,说明精通Java反而有可能成为你的绊脚石。
我个人的体会
两类语言不太一样,虽然都是支持面向对象的,但是Java是静态语言,类结构是预先设计好的固定的,而Python是动态类型的,更多的倾向于使用鸭子类型(Duck Type),这点上的不同,要写很多(10w+)才能有真正体会。
Python函数和变量一样,可以当做值传来传去,于是Java里面很高大上的aop、cglib、动态代理、配置一堆的东西,被Python几行代码就能替代。Java里面常用的设计模式,比如策略、责任链模式之类的,在Python也就是传递函数就好了,根本不用预先定义接口。可以说用了动态语言,设计模式这本书要重写了。
另外Python有些函数式的东西,map reduce filter lambda,这个Java8才开始有(个人认为Java8有点成为和以往不同的Java语言了)。
Python有特别好用的list comprehension,特别喜欢用list comprehension解析json之类,使用Java,就是很死板的语法了,一大堆异常、空值要处理,烦。
最近在继续研究Python的一些generator、yield之类的,感觉这个和Java的util.concurrent的Future是解决同一个问题的不同思路,细节正在比较。
总而言之多学语言有好处,但是不是去学Java、C#、C++这样很相近的从一个根派生出来的语言
建议楼主学习一下不同范式的语言,命令式、函数式...甚至同样的面向对象语言,也有继承和原型两种范式(Java、Javascript),这些范式对更好的运用当前的语言会够很大的帮助,我个人觉得学Python太晚了,吃亏了。我现在还在努力学习入门Clojure。希望对你有帮助。
你可以先学java8,在学python,然后你就会发现,语言不是最重要的。
是触类旁通还是误入歧途其实就在一念之间
触类旁通的人往往懂得总结、归纳,懂得思考和探索背后的东西
误入歧途的人往往觉得“唉他们差不多嘛”,然后试图把A上的经验套在B上,不是在学B,而是学怎么把B当A用
最后,请务必习惯独立思考、独立学习,不要“上课教XXX”,“课上的YYY我成绩不错”,“这样学ZZZ对不对”。还有既然你python还没学透,那么无论学Java对学python再有启发再有帮助,效果也不及直接学Python的万分之一。在我看来你就是还不够想学python,如果你其实不想学,只是很肤浅的被某种因素推去学一样东西,那你可能很难把它学好
其实可以把两个语言对比着学,比如学了Java的面向对象,可以想想Python中该如何实现,看看两者有什么不同的地方。
在一门语言熟练的情况下去学习新的一门语言。感觉学习更加快速,且有深入对比,了解两者之间不同的实现机制。
个人感觉有用。都是相通的。我很难想象我不先学过点Java,一开始就从 JS 开始学会怎么样。。 JS 简直了!
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd18788.html
相关文章 Recommend
- • 学过Java想再学一门新的语言,选择python怎么样?
- • Python支持调用其它语言函数吗?例如C++代码或Jav
- • 求Python可以用的单元测试框架
- • 用Python及PHP与Java解读同一数据,解结不同请问为什
- • python模拟http请求,提示开启javascript支持的问题
- • python同java ibatis框架一样效果的框架名是什么
- • 大学毕业选择python还是java更有前景
- • Python如可读取Java DataOutputStream文件求方法
- • 不习惯Python语言的Java程序员需要怎么破
- • Python类似java jstack命令的功能是什么
- • Python语言能写出类似javascript闭包吗?
- • 安卓app用java写适合还是其它语言更适合
必知PYTHON教程 Must Know PYTHON Tutorials
- • python 解释器
- • python idle
- • python dir函数
- • python 数据类型
- • python type函数
- • python 字符串
- • python 整型数字
- • python 列表
- • python 元组
- • python 字典
- • python 集合
- • python 变量
- • python print
- • python 函数
- • python 类定义
- • python import
- • python help
- • python open
- • python 异常处理
- • python 注释
- • python continue
- • python pass
- • python return
- • python global
- • python assert
- • python if语句
- • python break
- • python for循环
- • python while循环
- • python else/elif
- • lambda匿名函数
必知PYTHON模块 Must Know PYTHON Modules
- • os 模块
- • sys 模块
- • re 正则表达式
- • time 日期时间
- • pickle 持久化
- • random 随机
- • csv 模块
- • logging 日志
- • socket网络通信
- • json模块
- • urlparse 解析URL
- • urllib 模块
- • urllib2 模块
- • robotparser 解析
- • Cookie 模块
- • smtplib 邮件
- • Base64 编码
- • xmlrpclib客户端
- • string 文本
- • Queue 线程安全
- • math数学计算
- • linecache缓存
- • threading多线程
- • sqlite3数据库
- • gzip压缩解压
最新内容 NEWS
- • django app提供pv信息的方法是什么
- • Django项目版本升级如何操作?
- • django较多数据传递如何优雅的呈现
- • django1.7获取参数问题求助
- • Django1.7使用内置comment遇到问题
- • python mysql数据库做insert操作时报_mysql_ex
- • 关于python mysql的duplicate insert机制的疑问
- • pymongo使用insert函数批量插入被中断要怎么
- • Python程序员解决棘手问题的常用库
- • 求助关于restfull api接口几个问题
图文精华 RECOMMEND
-
django1.7获取参数问题求助
-
Python程序员解决棘手问题的常用库
-
求问str()同__str__原理上有什么不同
-
scrapy框架里面用link extractor怎么能
-
python {}.fromkeys创建字典append添加操
-
python3 类型Type str doesn't support th
热点文章 HOT
- 学习Python有什么好的书籍推荐?
- Python匿名函数 Lambda表达式作用
- Python与Java、C、Ruby、PHP等编程语言有什么
- Python 正则中文网页字符串提取问题
- 如何为实时性应用存取经纬度?django my
- 想用python做个客户端,在二维码登录这个地
- 有让IDE可识别Python函数参数类型的方法吗
- Python字符串转换成列表正则疑问