国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Jython應(yīng)用的兩個實(shí)例

開發(fā) 后端
本文介紹了Jython應(yīng)用的兩個實(shí)例。

Jython應(yīng)用實(shí)例一、回顯,回顯,echo.py!

嘗試一個增加了一些功能的示例,這是一個小程序,它允許您回顯(echo)命令行參數(shù)。對于程序echo,使用以下代碼(這些代碼在echo.py中):

清單1. 回顯命令行參數(shù)的示例程序

  1. import sys  
  2. count = 1 
  3. for arg in sys.argv[1:]:  
  4.     print 'Argument %i=%s' % (count, arg)  
  5.     count += 1 

同樣,這個完整的Jython程序揭示了Jython的一些關(guān)鍵特性。要注意的***件事是每一行就是一個語句——不需要分號(;)來結(jié)束這些行——并且變量沒有聲明。

您還應(yīng)當(dāng)注意命令行參數(shù)是通過內(nèi)置符號sys.argv訪問的,它是一系列字符串。sys是一個標(biāo)準(zhǔn)模塊,它包含有用的值和函數(shù),還有其他許多標(biāo)準(zhǔn)模塊可供使用。***個argv元素(0)是程序名(即echo.py)。要跳過它,取走argv列表的片段,實(shí)際開始位置為一(1),然后迭代直到列表的***。

循環(huán)是通過for語句組實(shí)現(xiàn)的。for語句正文是for之后縮進(jìn)的那些行。print語句示范了使用Jython的字符串格式編排功能(類似于C/C++的printf和Java 1.5的新的print功能)。

還可以更精確地將上述代碼寫為以下形式:

  1. from sys import argv  
  2. for i in range(1, len(argv)): print 'Argument %i=%s' % (i, argv[i]) 

在這個示例中,使用range以索引sys.argv列表。因?yàn)閍rgv變量是直接導(dǎo)入的,所以不需要限定。注意argv列表的長度是通過len函數(shù)而不是作為方法獲得的,這是Jython的一種用法,在許多語言中也常見。還有許多其他函數(shù)可用。

Jython應(yīng)用實(shí)例二、利用factorial.py進(jìn)行階乘!

我們用高速緩存階乘計算器factorial.py作為類定義的練習(xí),如清單2所示。

清單2. 高速緩存階乘計算器

  1. class Factorial:  
  2.     ''' A factorial calculator '''  
  3.     seen = {} # cache of prior calculated values      
  4.     def __init__ (self, value):  
  5.         self.__value = value  
  6.     def compute (self, value=None):          
  7.         ''' calculate the result '''  
  8.         if value is None: value = self.__value   # default  
  9.         if   value < 0:          # bad arg!  
  10.             raise ValueError, 'arg < 0'  
  11.         elif value < 2:          # base case  
  12.             return 1L            # insure long integers are used  
  13.         else:                    # need to calculate  
  14.             if not value in Factorial.seen.keys():    # not done before?  
  15.                 # calculate this value and cache it  
  16.                 Factorial.seen[value] = value * \  
  17.                      Factorial(value - 1).compute()  
  18.             return Factorial.seen[value]  # get value from the cache 

這里可以看到Jython的許多新特性。首先,用明確的(#)標(biāo)識引入注釋。一個類或者方法可以有文檔注釋字符串(可以用使用用法類似于JavaDoc的工具進(jìn)行處理)作為其***行。與賦值不同,語句是用關(guān)鍵字引入的。類和方法正文沒有包圍在定界符中,而是由縮進(jìn)的正文來體現(xiàn)。

而且,類是用class語句聲明的。def語句引入方法。類特性是用類中的賦值創(chuàng)建的,而實(shí)例特性是用構(gòu)造函數(shù)方法__init__中的賦值創(chuàng)建的。seen變量是一個字典。實(shí)例是將類對象作為函數(shù)調(diào)用而創(chuàng)建的。方法是用點(diǎn)(.)運(yùn)算符調(diào)用的。

您還會注意到self變量是方法的接收器(就像Java語言中的this),在方法中,所有對實(shí)例特性或者類的方法的引用都必須用self限定。類變量(像在Java語言中一樣)是用類名限定的。

函數(shù)可以有默認(rèn)參數(shù),如compute函數(shù)的值參數(shù)所示。如果沒有給出參數(shù)值,就使用__value實(shí)例特性。

現(xiàn)在,顯然可以看出Jython支持Java語言的所有功能,但是有時使用了不同的語法。例如,Jython的raise語句與Java語言的throw語句是相同的。

測試factorial.py

可以用下面的代碼測試這個Factorial類,可以在文件factorial.py中找到這些代碼(請參閱參考資料):

  1. if __name__ == "__main__":  
  2.     from sys import argv  
  3.     if   len(argv) == 1: vals = range(10)  
  4.     elif len(argv) == 2: vals = range(int(argv[1]))  
  5.     elif len(argv) == 3: vals = range(int(argv[1]), int(argv[2]))  
  6.     else: print " Incorrect range"; vals = ()  
  7.     for i in vals:  
  8.         print "Factorial(%i)=%i" % (i, Factorial(i).compute())  
  9.     print "Cache:", Factorial.seen 

在Jython中,可以結(jié)合類定義和測試用例。上述if __name__……測試使得只有當(dāng)文件作為命令運(yùn)行時才運(yùn)行測試用例代碼。還可以用另一個文件引入這個文件,以重復(fù)使用Factorial類但不必運(yùn)行測試用例。測試用例包含幾個簡單的命令參數(shù)處理,然后是一個循環(huán),它計算指定值(如果有的話)的階乘。***,打印出緩存的值。jython factorial.py 5 10命令生成以下輸出:

  1. Factorial(5)=120  
  2. Factorial(6)=720  
  3. Factorial(7)=5040  
  4. Factorial(8)=40320  
  5. Factorial(9)=362880  
  6. Cache: {9: 362880L, 8: 40320L, 7: 5040L, 6: 720L, 5: 120L, 4: 24L, 3: 6L, 2: 2L} 

您可能還注意到上述示例中可以用Jython long(###L)類型計算不定長度整數(shù)。

這就是今天介紹的Jython應(yīng)用的兩個實(shí)例。

【編輯推薦】

  1. Jython開發(fā)的JUnit測試包
  2. 創(chuàng)建Jython類的過程探討
  3. 如何在代碼應(yīng)用中學(xué)習(xí)Jython
  4. Jython功能——與Java語言相比的獨(dú)特功能
  5. 如何進(jìn)行Jython數(shù)據(jù)庫插入(JDBC)
責(zé)任編輯:雪峰 來源: IBM中國
相關(guān)推薦

2010-09-17 09:51:37

SIP路由

2010-04-20 15:09:05

負(fù)載均衡

2013-06-20 09:35:18

Instagramvine短視頻應(yīng)用

2009-07-14 18:34:22

Jython操作符重載

2019-10-31 08:22:39

shell腳本Linux

2010-02-25 16:45:13

WCF應(yīng)用技巧

2009-11-03 17:24:01

VB.NET特殊形狀窗

2009-07-16 13:09:46

Jython安裝

2012-05-26 23:31:25

Facebook

2011-09-07 16:43:38

Qt Widget

2011-04-15 09:47:38

IntentActivityAndroid

2010-08-19 11:22:19

marginpadding

2012-05-24 09:18:34

ibmdw

2010-07-02 12:26:51

LEACH協(xié)議

2022-06-17 09:46:51

Chrome 102Chrome瀏覽器

2009-07-14 15:20:25

Jython腳本Jython解釋器

2015-05-06 10:28:32

移動應(yīng)用谷歌

2009-07-15 18:14:46

學(xué)習(xí)Jython

2009-07-10 17:33:39

jython語言什么是JythonJython

2020-03-02 11:47:27

區(qū)塊鏈存儲應(yīng)用程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

色yeye香蕉凹凸一区二区av| 午夜一区二区三区| 欧美日韩经典丝袜| 99免费精品视频| 成人激情免费在线| 国产v日韩v欧美v| 亚洲国产色一区| 日韩欧美国产免费| 日韩黄色小视频| 成人免费大片黄在线播放| 欧美成年网站| 国产视频亚洲视频| 91在线网址| 亚洲制服丝袜av| 成年人视频观看| 免费在线成人网| 国产伦精品一区二区三区高清版| 精品久久ai电影| 一本一本久久a久久精品牛牛影视 一本色道久久综合亚洲精品小说 一本色道久久综合狠狠躁篇怎么玩 | 久久久久99精品一区| 久久香蕉综合色| 久久久久久久久丰满| 久久久久久久久亚洲| 免费亚洲电影| 波多野结衣乳巨码无在线| 国内自拍一区| 国产精品一二三视频| 动漫视频在线一区| 久久香蕉国产线看观看网| 欧美成人性网| 亚洲国产精品久久久久秋霞不卡| www.久久热.com| 91激情在线视频| 久草在线青青草| 一本久久精品一区二区| 色中色在线视频| 亚洲国产视频一区二区| 中日韩一区二区三区| 亚洲女同ⅹxx女同tv| 69国产精品视频| 亚洲精品成人少妇| 欧美aaa一级片| 亚洲老司机在线| 伊人发布在线| 午夜精品久久久久久久久| 免费特级黄毛片| 天天操天天色综合| 大片免费播放在线视频| 在线不卡中文字幕播放| 中文字幕有码在线视频| 日韩欧美中文一区二区| 亚洲精品福利电影| 精品国产一区二区在线| 欧美午夜在线播放| 97色在线观看| 日本大胆欧美| 国产精品一区二区免费| 日韩电影一区二区三区四区| 超碰97在线看| 一区二区三区 日韩| 国模大尺度一区二区三区| 欧美日韩视频在线观看一区二区三区| av亚洲在线观看| 日本人妻伦在线中文字幕| 欧美一二三四区在线| 久久九九精品视频| 欧美日韩精品中文字幕| 久久大胆人体| 懂色中文一区二区三区在线视频| 久久久久欧美精品| 色综合av综合无码综合网站| 国产亚洲一区二区精品| 久久嫩草精品久久久久| 你懂的免费在线观看| 久久久之久亚州精品露出| sese一区| 九九久久综合网站| 在线播放国产精品二区一二区四区 | 亚洲一区二区中文| 国内精品伊人久久久久影院对白| 免费一级毛片在线观看| 国外成人免费在线播放| 色综合天天综合色综合av| 亚洲日本天堂| 成年人黄色在线观看| 久久精品视频在线播放| 欧美91福利在线观看| 在线中文字幕视频| 色悠悠国产精品| 久久久精品免费免费| 老牛影视av一区二区在线观看| 嫩草影院中文字幕| 成人午夜高潮视频| 在线精品91av| 国产欧美精品在线观看| 日本一区视频| 日本免费a视频| 久久精品人人做人人爽| 欧美在线网址| 久久精品123| 欧美一级大黄| 国产一区二区黄| 麻豆视频观看网址久久| 麻豆福利在线观看| 中文字幕不卡在线观看| av女同在线| 亚洲国产精品嫩草影院久久| 久久动漫网址| 国产经典一区二区三区| 久久中文字幕电影| 日本高清在线观看wwwww色| 伦伦影院午夜日韩欧美限制| 午夜国产精品视频| 欧美 激情 在线| 欧美一区二区久久久| 欧美大胆a级| 肉大捧一出免费观看网站在线播放| 一区二区三区在线免费| 亚洲啊v在线| 国产一区二区免费电影| 伊人夜夜躁av伊人久久| 国产一区高清| 日本公妇乱淫免费视频一区三区| 一区二区三区免费在线观看| 亚洲成人激情社区| 精品欧美一区二区精品久久| 国产精品乱人伦中文| 一根才成人网| 另类视频在线观看+1080p| 五月天激情小说综合| 中文字幕av一区二区三区四区| 亚洲精品免费在线看| 欧美aa在线| 欧美猛男超大videosgay| 免费日韩一区二区三区| 真实国产乱子伦对白视频| 欧美精品1区2区| 亚洲大全视频| 天天干夜夜干| 国模私拍视频一区| 99精品1区2区| 国产精品黄色片| 欧美爱爱视频网站| 91精品国产综合久久福利| 欧美一区二区三区另类 | 日韩视频免费播放| 欧美一级黄色大片| 亚洲人成高清| 精品三级久久久久久久电影聊斋| 国产精品激情自拍| 亚洲精品视频在线看| 日韩三级视频| 黄色一级影院| 国产精品久久久久久久久久久久久久 | 韩国国内大量揄拍精品视频| av一区二区三区| 一区二区三区电影大全| 在线精品亚洲一区二区| 精品日韩一区二区三区| 久久爱www久久做| 中文在线а√在线8| 天天综合色天天综合色hd| 精品久久久网站| 老司机精品视频一区二区三区| 成人影院在线视频| 日本特级黄色大片| 色偷偷av一区二区三区乱| 成人av免费网站| 日韩精品视频中文字幕| 永久免费的av网站| 国产精品女主播| 欧美性极品xxxx做受| 伊人成人网在线看| 五月天激情在线| 国产二区视频在线| 欧美国产日韩一区二区| 国产精品久久久久久亚洲伦 | 色婷婷精品大在线视频| 欧美不卡视频| 日本在线免费中文字幕| 免费看成人av| 亚洲激情 国产| 成人免费视频一区| 精品国产三级| 满满都是荷尔蒙韩剧在线观看| 亚洲一区二区中文| 欧美一区二区三区视频在线观看| 久久99国内精品| 亚洲欧洲一二区| 色偷偷免费视频| 免费成人深夜夜行视频| 亚洲视频视频在线| 中文字幕一区二区视频| 欧美区亚洲区| 精品3atv在线视频| 永久免费的av网站| 国产v亚洲v天堂无码| 亚洲少妇中文在线| 国产精品视频一二三| 我不卡手机影院|