1. 程式人生 > >Python相較於Java而言,有什麽優勢

Python相較於Java而言,有什麽優勢

scrapy 重要 使用場景 大數 內容 定時 不同的 定時任務 ted

Python 相較於Java 而言,有什麽優勢?

每種語言都有適合自己使用的場景。

一個後端工程師必備的能力就是選擇合適的場景去選擇合適的語言。

而且,Java程序員往往多少都會點Python。

所以,並不存在說Java程序員和Python程序員之間的紛爭問題。

確切的說,大家爭執的應該是,什麽樣的場景下用什麽樣的語言,有沒有最佳實踐?

適合Python的場景如下:

1、各種運維腳本

包括但不限於統計日誌分析,發送郵件,定時任務,解析文本,替換配置文件等等等等。

Python比Shell更強大,天生就是最適合做運維腳本的東西。

而隨著devops的普及,各種小的運維腳本有了Python之後簡直是如虎添翼。

2、小型爬蟲

如果你要抓取百度新聞,微博,或者是其他論壇等,不需要考慮太多抓取權重,去重等等,用Scrapy爽的不要不要的,特別是在解析xpath方面,在這一點上,Python的簡潔完全是碾壓Java的。

Java解析Json就是一場惡夢,Python和JS處理這種東西輕巧的想要飛。

抓取的內容簡單入庫也很容易,所以如果是要求不高,純粹的抓取入庫,Python完勝。

3、文本處理

假設你要處理文本,截取,排序等等等等,Python寫的小東西真的比Java好用多了,或者是說,我需要跑個定時任務,(tj.java.tedu.cn)定期調一下第三方Api寫到某個DB裏。這些東西都是Python最擅長的地方。

4、算法

NLP和DM中很多算法都適合用Python來做,不過我了解的不多,還是用Java為主。但是推測的出來,算法領域上Python比Java要強很多。

從以上的分析看的出,Python適合的場景是小,跟其他的系統的交互比較少,不需要考慮大數據量和並發訪問,不會有太復雜的結構,也很少會有什麽需求變更,更多的像是Tools。

這也是符合腳本語言的特性。

所以在這些領域裏,Python比Java牛是很正常的,如上所述,在不同的使用場景下來決定用什麽來完成任務,是架構師一個很重要的職責。

Python相較於Java而言,有什麽優勢