乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Python 類型判斷 變量存在判斷 None與空字符串 is和==區(qū)別 nan inf判斷

       LibraryPKU 2019-04-22

      一、類型變量

      type

      #判斷是否為整數(shù)
      type(varObj) is types.IntType 
      
       StringType  
       FloatType 
       DictType 
       TupleType 
       ListType 
       BooleanType

      isinstance

      isinstance(aaa,str)

      type與isinstance區(qū)別

      class A:
          pass
      class B(A):
          pass
      isinstance(A(), A)    # returns True
      type(A()) == A        # returns True
      isinstance(B(), A)    # returns True
      type(B()) == A        # returns False

      二、變量存在

      異常捕獲

        try:
            print self.fileReadOpen
        except Exception:
            pass
        else:
            del self.fileReadOpen
      def isset(v): 
         try : 
           type (eval(v)) 
         except : 
           return  0 
         else : 
           return  1 
      
      isset('varname')   //變量只能在try里調用才會捕獲異常,所以采用字符串參數(shù)。

      命名空間

      'varname' in locals().keys()
      'varname' in  dir()

      dir()不帶參數(shù)時,返回當前范圍內(nèi)的變量、方法和定義的類型列表;帶參數(shù)時,返回參數(shù)的屬性、方法列表。如果參數(shù)包含方法dir(),該方法將被調用。如果參數(shù)不包含dir(),該方法將最大限度地收集參數(shù)信息。

      三、None與空字符串

      有句話說的Python中萬物皆為對象。None也是對象。這就好理解None與空字符串NULL區(qū)別:

      type(None)
      <class 'NoneType'>
      type('')
      <class ''str'>
      >>> None == 0         //(int)
      False
      >>> None == ' '      //(str)
      False
      >>> None == False    //(boolean)
      False

      四、is和==區(qū)別

      is判斷的是a對象是否就是b對象,是通過id來判斷的。
      ==判斷的是a對象的值是否和b對象的值相等,是通過value來判斷的。

      >>> d = {"a":1}
      >>> dd = d.copy()
      >>> d is dd
      False
      >>> d == dd
      True

      五、nan inf

      記憶:對于is判斷,符合is的對象比較定義:對象is對象本身,對象不is新建對象。對于==判斷,除了nan,符合==的值比較的定義。對于nan在用==值比較時,可以認為,nan對象的值不==該nan對象的值,nan對象的值不==新建nan對象的值。

      >>> inf = float("inf")
      >>> ninf = float("-inf")
      >>> nan = float("nan")
      >>> inf is inf
      True
      >>> ninf is ninf
      True
      >>> nan is nan
      True
      >>> inf == inf
      True
      >>> ninf == ninf
      True
      >>> nan == nan   // nan對象時本身對象nan
      False
      >>> inf is float("inf")
      False
      >>> ninf is float("-inf")
      False
      >>> nan is float("nan")
      False
      >>> inf == float("inf")
      True
      >>> ninf == float("-inf")
      True
      >>> nan == float("nan")   //前一個nan值不等于新建對象float("nan")的值
      False

      判斷nan方法:

      使用math模塊:
      >>> import math
      >>> math.isinf(inf)
      True
      >>> math.isinf(ninf)
      True
      >>> math.isnan(nan)
      True
      >>> math.isinf(float("inf"))
      True
      >>> math.isinf(float("-inf"))
      True
      >>> math.isnan(float("nan"))
      True
      利用自身判斷:
      >>> def isnan(num):
          return num != num
      >>> isnan(float("nan"))
      True
      使用numpy:
      >>> import numpy as np
      >>> 
      >>> np.isnan(np.nan)
      True
      >>> np.isnan(float("nan"))
      True
      >>> np.isnan(float("inf"))
      False

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多