<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      作者:taowen
      挑出簡單的來看看,有些比較復雜設計了python的核心就不說了。
      abs

      第一個是abs

      print 'abs(-10):'
      print abs(-10)
      print 'abs(-2.3):'
      print abs(-2.3)
      print 'abs(1+1j):'
      print abs(1+1j)

      結果是:

      abs(-10)
      10
      abs(-2.3)
      2.3
      abs(1+1j)
      1.41421356237

      這個體現了函數的多態啊。整數,浮點數,復數進行了不同的處理。功能強吧。
      ord 和 chr

      第二個是ord和chr

      print 'the ASCII code of Z'
      print ord('Z')
      print 'the ASCII code of 90'
      print chr(90)

      結果是

      the ASCII code of Z
      90
      the ASCII code of 90
      Z

      如果給ord的是多于一個字符的字符串,那么會有異常給你看。如果給chr的參數不在0到255的范圍內,也會有異常的。str, dict, tuple和 list

      其實這些都不是內置函數了,如果從傳統觀點來說,應該是構造函數才對。str用來構造一個新的字符串,dict用來構造字典,list用來構在序列。

      org_str = 'hello'
      new_str = str(org_str)
      print org_str, new_str
      org_dict = {'phone':68942443, 'qq':81711392}
      new_dict = dict(org_dict)
      new_dict['qq']=0
      print org_dict, new_dict
      another_dict = org_dict
      another_dict['qq']=0
      print org_dict, another_dict
      org_list = [1,2,3]
      new_list = list(org_list)
      new_list[0] = 4
      print org_list, new_list

      輸出

      hello hello
      {'qq': 81711392, 'phone': 68942443} {'qq': 0, 'phone': 68942443}
      {'qq': 0, 'phone': 68942443} {'qq': 0, 'phone': 68942443}
      [1, 2, 3] [4, 2, 3]

      可見,用構造函數產生新的對象然后在賦值是真正的拷貝,如果直接賦值就是同一個名稱綁定到了同一個對象之上了。對于字符串,由于字符串是不可改變的,所以其實兩個東西還是指向了一個對象,并沒有發生想象中的拷貝過程。
      cmp

      print 'cmp(1,2)'
      print cmp(1,2)
      print 'cmp(1,1)'
      print cmp(1,1)
      print 'cmp(2,1)'
      print cmp(2,1)
      print 'cmp(1.2,2)'
      print cmp(1.2,2)
      print "cmp('a','b')"
      print cmp('a','b')
      print "cmp('ab','ac')"
      print cmp('ab', 'ac')

      結果是:

      cmp(1,2)
      -1
      cmp(1,1)
      0
      cmp(2,1)
      1
      cmp(1.2,2)
      -1
      cmp('a','b')
      -1
      cmp('ab','ac')
      -1
      divmod

      a = 10
      b = 3
      print a/b
      print a%b
      print divmod(a,b)

      結果大家都猜得到:

      3
      1
      (3, 1)

      需要一個divmod我猜的原因是匯編中能夠同時算出商和模,所以用一個這樣的函數可以提高效率,免得同時需要商和模的時候算兩次。充分體現了python能夠返回兩個返回值的好處啊,其實返回的是一個tuple
      hex 和 oct

      val = int(raw_input('input a value in decimal:'))
      print 'converted to hex'
      print hex(val)
      print 'converted to oct'
      print oct(val)

      運行結果是:

      input a value in decimal:123
      converted to hex
      0x7b
      converted to oct
      0173

      需要注意hex和oct返回的是字符串,而且hex返回的前綴是0x,而oct的前綴是0。在python中,如果你在數字前面加了0或者0x就表示了它們分別是8進制和十六進制表示的
      int, long 和 float

      a = '1'
      a_val = int(a)
      b = '1.1'
      b_val = float(b)
      print a_val+b_val

      結果是

      2.1

      long和int其實差不多,其實應該說int當數字太大的時候會調用long。用int就好了,無所謂。

      int還能把字符串解釋為不同的進制來進行轉換,比如
      int('12', 16)會得到18,但是你不能:
      int('0x12'),這個是不行的。

      如果不用int和float把字符串編程數字,那么是無法作加法的。如果字符串是無法轉換的那種,則會給出異常:

      ValueError: invalid literal for int()

      有可能會把eval也給扯進來,但是eval是把字符串當作python的源代碼來看,嘗試進行解釋執行。和int和float單純的類型轉換的本意想去太遠了。
      input 和 raw_input

      a = input('a string to eval:')
      print a
      a = raw_input('a string:')
      print a
      a = eval(raw_input('a string then eval:'))
      print a

      我給了幾個輸入,結果是:

      a string to eval:1+2
      3
      a string:1+2
      1+2
      a string then eval:1+2
      3

      特別注意,input由于是調用了eval的raw_input,如果用于用戶輸入是不安全的。因為輸入一句就會被當作源代碼來執行,那就是很大的安全漏洞了。還是能用raw_input就用raw_input。
      len, max 和 min

      a_list = [1,3,4,6,7]
      print a_list
      print 'length:',len(a_list)
      print 'max:', max(a_list)
      print 'min:', min(a_list)
      a_tuple = (1,2,3)
      print a_tuple
      print 'length:', len(a_tuple)
      print 'max:', max(a_tuple)
      print 'min:', min(a_tuple)
      a_string = 'hello'
      print 'length:', len(a_string)
      print 'max:', max(a_string)
      print 'min:', min(a_string)
      a_dict = {'hello':'hello!', 'how are you':'fine'}
      print 'length:', len(a_dict)
      print 'max:', max(a_dict)
      print 'min:', min(a_dict)

      運行結果是:

      [1, 3, 4, 6, 7]
      length: 5
      max: 7
      min: 1
      (1, 2, 3)
      length: 3
      max: 3
      min: 1
      length: 5
      max: o
      min: e
      length: 2
      max: how are you
      min: hello

      很明白的。只是對于dict來說,比較大小的只是key,value不參加的。
      filter, map, sum, zip 和 reduce

      這幾個函數是很有名的:

      def my_filter(val_in_list):
          if val_in_list < 5:
              return False
          else:
              return True

      def my_map(val_in_list):
          return val_in_list**2

      print filter(my_filter, [1,2,3,6,7])
      print map(my_map, [1,2,3])

      結果是:

      [6, 7]
      [1, 4, 9]

      就是定義一個自己的函數,接收從list中取出的每個值。然后filter是這樣的:
      如果希望這個值繼續存在在過濾之后的list中,返回“True,否則返回false
      而map是返回一個新值來代替這個值,這里是用原值的平方來進行代替的。

      sum([1,2,3])
      結果是
      6
      很見的求和

      zip([1,3,5],[2,4,6])
      結果是
      [(1, 2), (3, 4), (5, 6)]
      解釋配對成tuple,參數可以是多個的list。

      def func(val1, val2):
          return val1*val2

      print reduce(func, [1,2,3,4])

      結果是:

      24

      這個比較費解。其實是func((func((func(1,2)),3)),4)。
      pow

      print '2**3'
      print 2**3
      print 'pow(2,3)'
      print pow(2,3)
      print 'pow(2,3)%3'
      print pow(2,3)%3
      print 'pow(2,3,3)'
      print pow(2,3,3)

      結果是:

      2**3
      8
      pow(2,3)
      8
      pow(2,3)%3
      2
      pow(2,3,3)
      2

      其實**運算就是pow,只不過pow還帶一個可選的第三個參數來把乘方結果進行取模運算。
      值得注意的是乘方的底數和冪都能夠是整數,小數,甚至是復數。但是當有第三個參數的時候,由于取模運算的限制,只能把底數和冪都限制為整數。
      range

      print range(10)
      print range(1,10)
      print range(1,10,3)

      結果是

      [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      [1, 2, 3, 4, 5, 6, 7, 8, 9]
      [1, 4, 7]

      可見range是左開右閉的。而且我們使用for i in range(xxx)的時候其實是遍歷一個產生的list。
      round

      print round(0.5)
      print round(-0.5)
      print round(0.55, 1)

      結果是:

      1.0
      -1.0
      0.6

      第二個參數是用來把浮點數變成指定小數位數的。一個規律是round的結果總是遠離0的。
      posted on 2004-05-25 01:56  taowen  閱讀(2024)  評論(2)    收藏  舉報
      主站蜘蛛池模板: 午夜在线观看成人av| 午夜福利yw在线观看2020| 日本道播放一区二区三区| 亚洲国产精品特色大片观看完整版| 性xxxx搡xxxxx搡欧美| 性欧美VIDEOFREE高清大喷水| 日本深夜福利在线观看| 免费看婬乱a欧美大片| 国产成人8x视频一区二区| 丰满少妇在线观看网站| 亚洲精品成人一二三专区| 成人性影院| 精品久久久久久无码不卡| 久久国内精品自在自线91| 亚洲精品无amm毛片| 高清国产av一区二区三区| 熟女系列丰满熟妇AV| 丁香婷婷综合激情五月色| 欧洲亚洲色一区二区色99| 欲乱人妻少妇邻居毛片| 国产精品成人av电影不卡 | 国产亚洲另类无码专区| 永久免费av网站可以直接看的| 饶河县| 欧美性猛交xxxx免费看| 亚洲精品乱码久久久久久按摩高清| 老熟女熟妇一区二区三区| 99RE8这里有精品热视频| 国产午夜精品福利视频| 亚洲天堂男人的天堂在线| 自拍亚洲一区欧美另类| 精品自拍偷拍一区二区三区| 最新国产AV最新国产在钱| 文中字幕一区二区三区视频播放 | 国产系列高清精品第一页| 又爽又大又黄a级毛片在线视频| 亚洲V天堂V手机在线| 亚洲天堂亚洲天堂亚洲天堂| 91久久夜色精品国产网站| 18黑白丝水手服自慰喷水网站| 精精国产xxx在线观看|