91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python全棧強制轉換怎么實現

發布時間:2021-12-01 15:10:11 來源:億速云 閱讀:152 作者:iii 欄目:開發技術

這篇文章主要講解了“Python全棧強制轉換怎么實現”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python全棧強制轉換怎么實現”吧!

    1. Number強制類型轉換

    Number 類型的強制轉換 (int float complex bool)

    # int 強制把數據變成整型
    """int float bool 純數字字符串"""
    var1 = 13
    var2 = 5.67
    var3  = True
    var4 = "123456"
    var5 = "123abc"
    var6 = 3+5j
    res = int(var2)
    res = int(var3) # True  => 1
    res = int(False)# False => 0
    res = int(var4)
    # res = int(var5) error
    # res = int(var6) error
    print(res , type(res))
    # float 強制把數據變成小數
    """int float bool 純數字字符串"""
    res = float(var1)
    res = float(var3) # True  => 1.0
    res = float(False)# False => 0.0
    res = float(var4) # 123456.0 
    print(res , type(res))
    # complex 強制把數據變成復數
    """int float bool 純數字字符串 complex"""
    res = complex(var1) # 添加0j 表達復數
    res = complex(var2)
    res = complex(var3)  # True => 1+0j
    res = complex(False) # False => 0j
    res = complex(var4)  # 123456+0j
    print(res , type(res))
    # bool 強制把數據變成布爾型 (布爾型為假的十中情況)
    """布爾型可以強轉一切數據類型"""
    """ 0 , 0.0 , False , 0j '' [] () set() {} None """
    res = bool(None)
    print(res , type(res))
    # 初始化變量時,不清楚用什么值,無腦寫上None
    """None 代表空的,代表什么也沒有,一般用于初始化變量"""
    a =None
    b =None
    
    """
    默認轉換成當前數據類型的一個值
    int() float() complex() bool()
    """
    res = bool() 
    print(res , type(res))
    
    # 額外的擴展
    """
    strvar = "123"
    strvar = "3.134"
    strvar = "5+3j"
    # res = int(strvar)
    # print(res,type(res))
    # res = float(strvar)
    # print(res,type(res))
    # res = complex(strvar)
    # print(    res,type(res)    )
    """

    2. 自動類型轉換_容器類型轉換

    2.1 Number自動類型轉換

    Number 自動類型轉換 (int float complex bool)

    低精度默認向高精度進行轉換
    bool -> int -> float -> complex
    """
    # bool + int
    res = True + 100
    print(res ,type(res)) # 1 + 100 => 101
    # bool + float
    res = True  + 344.565 # 1.0 + 344.565 => 345.565
    print(res ,type(res)) 
    # bool + complex
    res = True + 7 - 90j  #  1 + 0j + 7 - 90j => 8 - 90j
    print(res ,type(res)) 
    # int + float
    res = 5 + 7.88 # 5.0 + 7.88 => 12.88
    print(res ,type(res)) 
    # int + complex
    res = 5 + 6 + 8j # 5 + 0j   6 + 8j => 11 + 8j
    print(res ,type(res)) 
    # float + complex 
    res = 5.66 + 9.1 -90j # 5.66 + 0j + 9.1 -90j => 14.76-90j
    print(res ,type(res)) 
    '''
    # 小數的精度損耗 (小數后面一般有時截取15~18位,但是不完全,存在精度損耗)
    """不要用小數作比較,咬不準"""
    print(0.1 + 0.2 == 0.3)
    print(5.1 + 5.9 == 11.0)
    0.0999999999999999
    '''

    2.2 容器類型轉換

    容器類型的強制轉換(str list tuple set dict)

    var1 = "我愛你,文哥哥"
    var2 = [1,2,3]
    var3 = (4,4,5)
    var4 = {"陳璐","上朝氣","劉子濤","合理"}
    var5 = {"cl":"文質彬彬,斯文敗類","szq":"學霸","lzt":"籃球少年","hl":"武大高手"}
    var6 = 90
    var7 = True
    
    # str 強制轉換成字符串
    """所有的數據類型都可以轉換, 在當前的數據類型兩邊套上引號"""
    res = str(var2) 
    res = str(var3)
    res = str(var4)
    res = str(var5)
    res = str(var6)
    res = str(var7)
    print(res ,type(res))
    # repr 不轉移字符原型化輸出字符串
    print(repr(res))
    # list 強制轉換成列表
    """
    如果是字符串:把字符串中的每個元素單獨拿出來,作為列表中的新元素
    如果是字典:  只保留字典中的鍵
    如果是其他容器數據:就是單純的在原數據類型德兩邊換上[]括號
    """
    res = list(var1)
    res = list(var3)
    res = list(var4)
    # 字典: 只獲取字典得鍵,忽略掉值
    res = list(var5)
    # res = list(var6) error 只能是容器間的互轉
    print(res ,type(res))
    # tuple 強制轉換成元組
    """
    如果是字符串:把字符串中的每個元素單獨拿出來,作為元組中的新元素
    如果是字典:  只保留字典中的鍵
    如果是其他容器數據:就是單純的在原數據類型得兩邊換上()括號
    """
    res = tuple(var1)
    res = tuple(var2)
    res = tuple(var4)
    res = tuple(var5)
    print(res ,type(res))
    # set 強制轉換成集合
    """
    如果是字符串:把字符串中的每個元素單獨拿出來,作為集合中的新元素
    如果是字典:  只保留字典中的鍵
    如果是其他容器數據:就是單純的在原數據類型得兩邊換上{}括號
    """
    res = set(var1)
    res = set(var2)
    res = set(var5)
    print(res ,type(res))
    
    # 多濾掉列表中所有重復元素;
    lst = [1,222,3,3,3,44,88,999,77,88,1]
    res = set(lst)
    print(res)
    # 在把當前的集合轉換成原來的列表
    res2 = list(res)
    print(res2)
    
    """
    默認不加任何值,轉換成該數據類型的空值
    str() list()  tuple()  set()  dict()
    """
    res = dict()
    print(res )
    print(type(res))

    3. 字典類型的強轉_類型判斷

    3.1 二級容器

    二級容器 ( list tuple set dict )

    # 二級列表
    lst = [1,2,3,[4,5,6]]
    # 二級元組
    tup = (1,2,(10,11))
    # 二級集合
    setvar = {1,2,("a","b")}
    # 二級字典
    dic = {"a":1,"b":{"c":10}}
    print(dic["b"]["c"])
    # 四級容器
    container = [1,2,3,(4,5,6,{"a":1,"b":[11,"bingo"]})]
    # (4,5,6,{"a":1,"b":[11,"bingo"]})
    res1 = container[-1]
    print(res1)
    # {'a': 1, 'b': [11, 'bingo']}
    res2 = res1[-1]
    print(res2)
    # [11, 'bingo']
    res3 = res2["b"]
    print(res3)
    # bingo
    res4 = res3[-1]
    print(res4)
    # 一步簡寫
    res = container[-1][-1]["b"][-1]
    print(res)
    # 等長的二級容器
    """外面是容器,里面的元素也是容器,且元素個數相同"""
    lst = [(1,2,3),[4,5,6],{7,8,9}]

    3.2 字典類型的強制轉換

    dict 字典類型的強制轉換

    """
    要求: 必須是等長的二級容器,并且里面的元素個數是2個;
    外層是列表,元組,集合 , 里層是列表或者元組的等長二級容器 => 字典;
    """
    # 1.外層是列表,里層是列表或者元組
    lst = [ ["a",1] , ("b",2) ]
    dic = dict(lst)
    print(dic , type(dic)) # {'a': 1, 'b': 2} <class 'dict'>
    # 2.外層是元組,里層是列表或者元組
    tup = ( ["a",1] , ("b",2) )
    dic = dict(lst)
    print(dic , type(dic))
    # 3.外層是集合,里層是元組
    setvar = { ("a",1) , ("b",2) }
    dic = dict(setvar)
    print(dic , type(dic))
    # 例外1:外層是列表/元組,里層放集合
    """可以實現,不推薦使用,因為達不到想要的目的,集合無序,不推薦使用"""
    lst = [ ["a",1] , {"b","250"} ]
    dic = dict(lst)
    print(dic)
    # 例外2:外層是列表/元組,里層放字符串
    """ 字符串長度只能是2位,有極大的局限性,不推薦使用"""
    lst = ["a1","b2"]
    # lst = ["a11","b22"] error 
    # dic = dict(lst)
    # print(dic)

    小提示:

    外層是集合,里面不能是列表
    lst = [ ["a",1] , {"b","250"}]
    dic = dict(lst)
    print(dic)    這里可能會輸出{'a':1,'b':'250'}或者{'a':1,'250':'b'}
    lst = ["a1","b2"]
    dic = dict(lst)
    print(dic) 這里會輸出{a:1,b:2}
    lst = ["a11","b22"]
    dic = dict(lst)
    print(dic)  這里就會報錯
    isinstance比type用的多

    3.3 類型判斷

    判斷類型 isinstance

    """
    # 使用方法一
    isinstance(數據,類型)  
    如果該數據是這個類型,返回True 反之,返回False
    類型: int float complex bool str list tuple set dict
    # 使用方法二
    isinstance(  數據, (類型1,類型2,類型3...)   )
    如果該數據在所對應的類型元組當中,返回True,反之,返回False
    """
    # 使用方法一
    n = 123
    res = isinstance(n , int)
    print(res)
    n = [1,2,3]
    res = isinstance(n , list)
    res = isinstance(n , tuple)
    print(res)
    # 使用方法二
    n = "1233"
    res = isinstance(n , (list , tuple ,set , str)  )
    print(res)
    
    n = {"a":1}
    res = isinstance(n , (list , tuple ,set , str)  )
    print(res)

    4. 小練習

    題目如下:

    1.int,float,complex,bool 分別可以強轉哪些數據
    2.強轉布爾類型為假的值有哪些?
    3.強轉字典的條件
    4.bingo如何獲取
    [1,2,3,4,[5,6,7,[8,9,10,(11,{"a":{"bb":98},"pp":{"d":'bingo'}})]]] 
    5. 哪個不能轉換成字典,為什么?
        (1){('a',1),{'b',2}}
        (2){('a',1),('b',2)}
        (3){('a',1),"c3"}
        (4){('a',1),"b88"}

    小提示:

    在一個文件中-5 - 正無窮
    a = 3
    b = 3   
    a和b的id是一樣
    a = b =3 不管是不是-5到正無窮,a和b的id都是一樣的

    感謝各位的閱讀,以上就是“Python全棧強制轉換怎么實現”的內容了,經過本文的學習后,相信大家對Python全棧強制轉換怎么實現這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    商南县| 临颍县| 营口市| 施甸县| 永登县| 阜平县| 公安县| 买车| 宿迁市| 收藏| 西乌珠穆沁旗| 桃江县| 新晃| 新安县| 海晏县| 泰宁县| 辰溪县| 夏河县| 迭部县| 弥勒县| 白河县| 酒泉市| 贺州市| 靖西县| 江油市| 山东省| 铁岭市| 布尔津县| 岐山县| 珠海市| 高平市| 南投市| 江永县| 彩票| 东明县| 塘沽区| 阳新县| 施甸县| 虹口区| 红河县| 宝坻区|