日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
深入探討Ruby與Python語法比較

編程語言種類繁多,但是每種語言都有自己的特點,又和其他語言有共通性。比如PHP語言就和C語言相似。我們今天介紹的就是Ruby與Python語法比較。#t#

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),赤峰林西企業(yè)網(wǎng)站建設(shè),赤峰林西品牌網(wǎng)站建設(shè),網(wǎng)站定制,赤峰林西網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,赤峰林西網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

其實Ruby和Python非常接近,比大多數(shù)別的語言要接近的多,所以喜歡用啥就用啥(大實話,雖然也是廢話)。語法上的差別雖然有那么一點,大部分是syntax sugar,我斗膽稍微列幾個(python我也忘得差不多了,不對的大家盡管來鞭尸吧),但是主要差異還是設(shè)計思想上的:靈活vs明確. 我不認為兩者在生產(chǎn)力上會有什么差別,如果你熟悉的話。*注意,僅限語言本身的比較。

Ruby與Python語法比較的列表

1. Ruby的case可以匹配很多東西:范圍/數(shù)組,對象,正則表達,python沒有case/switch而使用if/else比較死板點

2. python的縮進很漂亮,雖然有時會造成些許麻煩。Ruby的end蠻難看的,所以大家都被逼當(dāng)one liner(玩笑)

3. 感覺上Ruby比python更OO,當(dāng)然這也可能是因為python不提倡用那些改變對象內(nèi)部構(gòu)造的‘伎倆’造成的錯覺

4. python有l(wèi)ist comprehension, Ruby沒有:(

5. python有真正的keyword argument, Ruby用hash模擬,當(dāng)然實際用起來沒什么差別

6. python的self很討厭,Ruby沒有那種繁瑣的東西

7. reflection,Ruby內(nèi)置了很多方法,比如object.methods,而python把這些信息存在特殊的字典里。差不多

8. Ruby的block功能很強,python的lambda只能返回單一值

9. Ruby與Python語法比較下,Ruby的open class已經(jīng)聲明遠播,可以玩出2.days.ago這樣的花樣,python好像沒法直接修改內(nèi)置類也反對這么做。

10. python需要用@classmethod修飾聲明類方法,Ruby是內(nèi)建

11. Ruby有單子方法,也就對對象單獨定制,python不知道有沒有類似概念

12. Ruby有method_missing機制,python可以使用__getattr__截獲未定義方法(from qiezi)

13. Ruby使用單繼承+mixin,python使用多重繼承,不過python也有mixin

14. Ruby有attr_*系列語法helper,省卻自己寫一堆setter/getter, python的property方法還是得自己寫setter/getter

15. Ruby和python都使用duck typing,不過python也有一套顯式的interface機制(從zope3并入內(nèi)核了么?)

16. Ruby的函數(shù)調(diào)用括號是可省的,稍微少敲幾下鍵盤。python默認沒括號也不帶參數(shù)的話返回函數(shù)本身的一個引用。

17. 我不清楚python的meta programming能到什么程度,只好等大牛來說說了。只是覺得pythoner不常用那個,也許覺得會把程序邏輯搞得晦澀不明。

18. Ruby從perl繼承了一部分難看的東西,比如很多預(yù)定義的$x常量

19. Ruby內(nèi)建正則表達,方便一點

20. Ruby的yield是用來call block的。而python的yield是用來給generator輸入輸出值的。

21. python的庫給我感覺命名規(guī)范有點不統(tǒng)一,有些方法用snake_case有些則用CamelCase,也許是庫太多了遺留下的歷史問題

22. python的三引號很漂亮,Ruby的<<-XX...XX太難看了,也可以用%q{...}包裹多行文字(from qiezi)

23. Ruby的類庫設(shè)計中喜歡給方法添加別名,方便記憶。

另: Ruby官方網(wǎng)站也提供了一些基本的Ruby與Python語法比較。


分享名稱:深入探討Ruby與Python語法比較
本文網(wǎng)址:http://www.5511xx.com/article/dphhscc.html