python namedtuple高階資料型別

2021-09-09 07:56:32 字數 1156 閱讀 7738

t = ("kiosk", 'pts/0', 'localhost')

info = }

因為元組的侷限性:不能為元組內部的資料進行命名,所以往往我們並不知道乙個元組所要表達的意義,所以在這裡引入了 collections.namedtuple 這個工廠函式,來構造乙個帶欄位名的元組。

具名元組的例項和普通元組消耗的記憶體一樣多,因為欄位名都被存在對應的類裡面。這個類跟普通的物件例項比起來也要小一些,因為 python 不會用dict來存放這些例項的屬性。

def namedtuple(typename, field_names, *, verbose=false, rename=false, module=none):

- typename: 元組名稱

- field_names : 元組中元素的名稱

- rename: 如果元素名稱中包含python關鍵字, 必須設定rename=true

1. 判斷是否可迭代?
from collections import iterable

print(isinstance('hello', iterable))

2. 字典key值次數統計
import random

from collections import counter

##跟蹤某個key值出現的次數, 是乙個無序的容器型別.

ips = ['172.25.254.%s' %(random.randint(1, 25)) for ip in range(1000)]

c = counter(ips)

print(c.most_common())

print(c.most_common(3))

3. 命名元組
from collections import  namedtuple

user = namedtuple("user", ['name', 'age', 'scores'])

u = user('fentiao', 10, 100)

print(u)

print(u.name)

print(u.age)

print(u.scores)

類的高階概念

封裝 組裝和資訊隱藏 組裝 類的定義就是組裝 屬性 行為 資訊隱藏 訪問修飾符 看修飾符分情況隱藏 方法實現 體現的是呼叫者的資訊被隱藏,呼叫者無需知道方法的具體步驟,只關心效果 功能 的達成 封裝的好處 類的成員變數可以變成唯讀或者只寫 類可以對儲存在其他成員變數中的內容有乙個整體的控制 類的使用...

類的高階特性

被定義為final的物件引用只能指向唯一乙個物件,不可以將它指向其他物件,但是乙個物件的值本身是可以改變的,為了使乙個常量做到真正不可更改,可以將常量宣告為 static final 全域性常量 乙個被定義為private的方法隱式的被指定為 final 型別final類不允許被繼承,不允許被改動 ...

python高階 元類

1.1 什麼是元類 元類就是用來建立類的 東西 python中類也是一種物件 定義乙個類 python直譯器在執行的時候會建立乙個物件 class ai object pass print type ai 1.2 使用type建立類 type可以動態的建立類 type 類名,由父類名組成的元組,屬性...