精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

通過 Type 和 Object 之間的關(guān)聯(lián),進(jìn)一步分析類型對(duì)象

開發(fā) 前端
我們看到所有類型對(duì)象的類型都被設(shè)置成了 &PyType_Type,也就是 Python 里的 type。所以結(jié)論很清晰了,雖然內(nèi)置的類型對(duì)象可以看做是 type 的實(shí)例對(duì)象,但它卻不是由 type 實(shí)例化得到的,而是在底層預(yù)定義好,并以全局變量的形式靜態(tài)出現(xiàn)。

楔子

type 和 object 兩者的關(guān)系估計(jì)會(huì)讓很多人感到困惑,我們說 type 站在類型金字塔的頂端,任何對(duì)象按照類型追根溯源,最終得到的都是 type。而 object 站在繼承金字塔的頂端,任何類型對(duì)象按照繼承關(guān)系追根溯源,最終得到的都是 object。

因此我們可以得出以下結(jié)論:

  • type 的父類是 object
  • object 的類型是 type

驗(yàn)證一下:

print(type.__base__)  # <class 'object'>
print(object.__class__)  # <class 'type'>

打印結(jié)果說明結(jié)論正確,但這就奇怪了,type 的父類是 object,而 object 的類型又是 type,那么問題來了,是先有 type 還是先有 object 呢?帶著這些疑問,開始下面的內(nèi)容。

類是由誰創(chuàng)建的

首先必須要澄清一個(gè)事實(shí),類對(duì)象的類型是 type,這句話是沒有問題的。但如果說類對(duì)象都是由 type 創(chuàng)建的,就有些爭(zhēng)議了。因?yàn)?nbsp;type 能夠創(chuàng)建的是自定義的類,而內(nèi)置的類在底層是預(yù)先定義好的。

# int、tuple、dict 等內(nèi)置類型
# 在底層是預(yù)先定義好的,以全局變量的形式存在
# 我們直接就可以拿來用
print(int)  # <class 'int'>
print(tuple)  # <class 'tuple'>

# 但對(duì)于自定義的類,顯然就需要在運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建了
# 而創(chuàng)建這一過程,就交給 type 來做
class Girl:
    pass

然后 type 也只能對(duì)自定義類進(jìn)行屬性上的增刪改,內(nèi)置的類則不行。

class Girl:
    pass

# 給類對(duì)象增加一個(gè)成員函數(shù)
type.__setattr__(
    Girl,
    "info",
    lambda self: "name: 古明地覺, age: 17"
)
# 實(shí)例化之后就可以調(diào)用了
print(Girl().info())  # name: 古明地覺, age: 17

# 但內(nèi)置的類對(duì)象,type 是無法修改的
try:
    type.__setattr__(int, "a", "b")
except TypeError as e:
    print(e)
"""
TypeError: cannot set 'a' attribute of immutable type 'int'
"""

上一篇文章中我們說了,Python 所有的類型對(duì)象(包括 type)都是由 PyTypeObject 結(jié)構(gòu)體實(shí)例化得到的,只不過結(jié)構(gòu)體字段的值不同,得到的類也不同。并且內(nèi)置的類型對(duì)象在底層是預(yù)定義好的,它們?cè)诮忉屍骺磥硎峭?jí)別的,不存在誰創(chuàng)建誰。

而每一個(gè)對(duì)象都有引用計(jì)數(shù)和類型,然后解釋器將這些類對(duì)象的類型都設(shè)置成了 type,我們舉例說明。不過在此之前,需要先說一個(gè)宏。

// Include/object.h

// _PyObject_EXTRA_INIT 可以忽略掉
// 然后我們看到這個(gè)宏是用來初始化引用計(jì)數(shù)和類型的
// 并且引用計(jì)數(shù)的值為 uint32 類型的最大值,因此創(chuàng)建的是永恒對(duì)象
#define PyObject_HEAD_INIT(type)    \
    {                               \
        _PyObject_EXTRA_INIT        \
        { _Py_IMMORTAL_REFCNT },    \
        (type)                      \
    },
    
// 用于初始化引用計(jì)數(shù)、類型和 ob_size
#define PyVarObject_HEAD_INIT(type, size) \
    {                                     \
        PyObject_HEAD_INIT(type)          \
        (size)                            \
    },

下面我們來看幾個(gè)類型對(duì)象。 

圖片圖片

我們看到所有類型對(duì)象的類型都被設(shè)置成了 &PyType_Type,也就是 Python 里的 type。所以結(jié)論很清晰了,雖然內(nèi)置的類型對(duì)象可以看做是 type 的實(shí)例對(duì)象,但它卻不是由 type 實(shí)例化得到的,而是在底層預(yù)定義好,并以全局變量的形式靜態(tài)出現(xiàn)。

所以內(nèi)置的類型對(duì)象之間不存在誰創(chuàng)建誰,它們都是預(yù)定義好的,只是在定義的時(shí)候,將自身的類型設(shè)置成了 type 而已,包括 type 本身(類型還是 type)。這樣一來,每一個(gè)對(duì)象都會(huì)具有一個(gè)類型,從而將面向?qū)ο罄砟钬瀼氐母訌氐住?/p>

print(int.__class__)
print(tuple.__class__)
print(set.__class__)
print(type.__class__)
"""
<class 'type'>
<class 'type'>
<class 'type'>
<class 'type'>
"""

print(
    type.__class__.__class__.__class__ is type
)  # True

print(
    type(type(type(type(type(type))))) is type
)  # True

好,說完了這些之后我們來正式考察 type 和 object 的底層實(shí)現(xiàn)。

類型對(duì)象的類型:PyType_Type

type 是所有類型對(duì)象的類型,我們稱之為元類型或者元類,即 metaclass,當(dāng)然它同時(shí)也是一個(gè)類型對(duì)象。下面看一下它的底層實(shí)現(xiàn)。

// Objects/typeobject.c

PyTypeObject PyType_Type = {
    PyVarObject_HEAD_INIT(&PyType_Type, 0)
    "type",                                     /* tp_name */
    sizeof(PyHeapTypeObject),                   /* tp_basicsize */
    sizeof(PyMemberDef),                        /* tp_itemsize */
    (destructor)type_dealloc,                   /* tp_dealloc */
    offsetof(PyTypeObject, tp_vectorcall),      /* tp_vectorcall_offset */
    0,                                          /* tp_getattr */
    0,                                          /* tp_setattr */
    0,                                          /* tp_as_async */
    (reprfunc)type_repr,                        /* tp_repr */
    &type_as_number,                            /* tp_as_number */
    0,                                          /* tp_as_sequence */
    0,                                          /* tp_as_mapping */
    0,                                          /* tp_hash */
    (ternaryfunc)type_call,                     /* tp_call */
    // ...
};

所有的類型對(duì)象加上元類都是由 PyTypeObject 這個(gè)結(jié)構(gòu)體實(shí)例化得到的,所以它們內(nèi)部的字段都是一樣的。只不過傳入的值不同,實(shí)例化之后得到的結(jié)果也不同,可以是 PyLong_Type、可以是 PyFloat_Type,也可以是這里的 PyType_Type。

再看一下里面的宏 PyVarObject_HEAD_INIT,它用來初始化引用計(jì)數(shù)、類型和 ob_size,其中類型被初始化成了 &PyType_Type。換句話說,PyType_Type 里面的 ob_type 字段指向的還是 PyType_Type,而對(duì)應(yīng) Python 的話,就是 type 的類型還是 type。

>>> type.__class__
<class 'type'>
>>> type.__class__.__class__.__class__.__class__.__class__ is type
True
>>> type(type(type(type(type(type))))) is type
True

顯然不管套娃多少次,最終的結(jié)果都是True,這也是符合預(yù)期的。

類型對(duì)象的基類:PyBaseObject_Type

Python 中有兩個(gè)類型對(duì)象比較特殊,一個(gè)是站在類型金字塔頂端的 type,另一個(gè)是站在繼承金字塔頂端的 object??赐炅?type,再來看看 object。

由于 object 的類型是 type,那么在初始化 PyBaseObject_Type 的時(shí)候,它的 ob_type 一定也被設(shè)置成了 &PyType_Type。

我們看一下 PyBaseObject_Type 的實(shí)現(xiàn),它同樣定義在 Objects/typeobject.c 中。

圖片圖片

類型對(duì)象在創(chuàng)建的時(shí)候,ob_type 字段都會(huì)被初始化成 &PyType_Type,而 object 也不例外,所以它的類型為 type,這個(gè)非常簡單。但 type 的基類是 object,又是怎么一回事呢?

之前介紹類型對(duì)象的時(shí)候,我們說類型對(duì)象內(nèi)部的 tp_base 表示繼承的基類,那么對(duì)于 PyType_Type 來講,它內(nèi)部的 tp_base 肯定是 &PyBaseObject_Type,即 object。

圖片圖片

但令我們吃鯨的是,它的 tp_base 居然是個(gè) 0,如果為 0 的話則表示沒有這個(gè)屬性,或者說基類為空。不是說 type 的基類是 object 嗎?為啥 tp_base 是 0 呢。

事實(shí)上如果你去看其它類型的話,會(huì)發(fā)現(xiàn)它們內(nèi)部的 tp_base 也是 0。為 0 的原因就在于我們目前看到的類型對(duì)象還不夠完善,因?yàn)?Python 的動(dòng)態(tài)性,顯然不可能在定義的時(shí)候就將所有字段屬性都設(shè)置好、然后解釋器一啟動(dòng)就得到我們平時(shí)使用的類型對(duì)象。

因此目前看到的類型對(duì)象還不是最終形態(tài),有一部分字段屬性是在解釋器啟動(dòng)之后再動(dòng)態(tài)完善的,而這個(gè)完善的過程被稱為類型對(duì)象的初始化,它由函數(shù) PyType_Ready 負(fù)責(zé)。

圖片圖片

首先代碼中的 type 只是一個(gè)普通的參數(shù),當(dāng)解釋器發(fā)現(xiàn)一個(gè)類對(duì)象還沒有初始化時(shí),會(huì)將其作為參數(shù)傳遞給 PyType_Ready,進(jìn)行初始化。

初始化過程會(huì)做很多的工作,用于完善類型對(duì)象,而其中一項(xiàng)工作就是設(shè)置基類。如果發(fā)現(xiàn)類型對(duì)象的基類為空,那么就將基類設(shè)置為 object,因?yàn)樵?Python3 里面新式類都要繼承 object。當(dāng)然啦,這個(gè)類不能是 object 本身,object 的基類是 None,因?yàn)槔^承鏈向上要有一個(gè)終點(diǎn)。

當(dāng) PyType_Ready 完成初始化之后,就得到我們平常使用的類型對(duì)象了,最終 PyType_Type 和 PyBaseObject_Type 的關(guān)系如下。

圖片圖片

因此到目前為止,type 和 object 之間的恩怨糾葛算是真相大白了,總結(jié)一下:

1)和自定義類不同,內(nèi)置的類不是由 type 實(shí)例化得到的,它們都是在底層預(yù)先定義好的,不存在誰創(chuàng)建誰。只是內(nèi)置的類在定義的時(shí)候,它們的類型都被設(shè)置成了 type。這樣不管是內(nèi)置的類,還是自定義類,在調(diào)用時(shí)都會(huì)執(zhí)行 type 的 __call__ 函數(shù),從而讓它們的行為是一致的。

2)雖然內(nèi)置的類在底層預(yù)定義好了,但還有一些瑕疵,因?yàn)橛幸徊糠诌壿嫙o法以源碼的形式體現(xiàn),只能在解釋器啟動(dòng)的時(shí)候再動(dòng)態(tài)完善。而這個(gè)完善的過程,便包含了基類的填充,會(huì)將基類設(shè)置成 object。

所以 type 和 object 是同時(shí)出現(xiàn)的,它們的存在需要依賴彼此。首先這兩者會(huì)以不完全體的形式定義在源碼中,并且在定義的時(shí)候?qū)?object 的類型設(shè)置成 type;然后當(dāng)解釋器啟動(dòng)的時(shí)候,再經(jīng)過動(dòng)態(tài)完善,進(jìn)化成完全體,而進(jìn)化的過程中會(huì)將 type 的基類設(shè)置成 object。

所以 object 的類型是 type,type 繼承 object 就是這么來的。

小結(jié)

至此,我們算是從解釋器的角度完全理清了 Python 中對(duì)象之間的關(guān)系,用之前的一張圖總結(jié)一下。

圖片圖片

當(dāng)然,目前還遠(yuǎn)遠(yuǎn)沒有結(jié)束,后續(xù)還會(huì)針對(duì)內(nèi)置的對(duì)象進(jìn)行專門的剖析,如浮點(diǎn)數(shù)、整數(shù)、字符串、字節(jié)串、元組、列表、字典、集合等等,都會(huì)一點(diǎn)一點(diǎn)剖析。我們會(huì)從 Python 的角度介紹對(duì)象該怎么用,然后再看它的底層實(shí)現(xiàn),最后再用 Python 代碼進(jìn)行驗(yàn)證,加深理解。

責(zé)任編輯:武曉燕 來源: 古明地覺的編程教室
相關(guān)推薦

2011-07-27 12:58:43

Android MarAndroid應(yīng)用商店

2015-10-19 14:57:51

2020-12-10 20:00:04

數(shù)字貨幣比特幣區(qū)塊鏈

2011-07-29 15:02:22

LifeSize視頻協(xié)作

2019-03-22 10:20:39

加速Windows 10啟動(dòng)

2023-09-01 18:20:43

Chrome代碼測(cè)試版

2021-04-27 11:20:20

機(jī)器學(xué)習(xí)骨科醫(yī)療

2020-06-11 13:01:51

惡意軟件網(wǎng)絡(luò)釣魚網(wǎng)絡(luò)攻擊

2020-10-10 11:35:10

IBMProject DebAI

2018-09-20 11:04:02

NginxPHP-FPM502

2009-08-26 14:48:05

C#委托與事件

2009-12-28 10:08:07

OracleSQLDevelope開發(fā)框架

2010-03-15 09:40:19

Windows 8研發(fā)

2024-05-10 15:09:34

2014-01-08 10:22:28

思科Videoscape

2009-11-30 18:35:05

BizSparkDreamSparkWebSiteSpar

2022-04-18 09:23:38

微軟AndroidWindows 11

2012-04-30 21:35:08

Windows Pho

2021-04-05 18:06:36

谷歌安卓Google Play

2009-03-31 11:12:59

萬兆以太網(wǎng)
點(diǎn)贊
收藏

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

亚洲二区视频| 欧美精品影院| 成人免费小视频| 日韩欧美第一区| 日韩免费在线观看av| 国产成人无码www免费视频播放| 99国产精品久久久久久久 | www.久久久久久| 亚洲欧美卡通另类91av| 日韩在线播放一区| 91人妻一区二区三区| 国产伦子伦对白在线播放观看| 午夜亚洲视频| 日韩在线视频观看正片免费网站| 69xxx免费视频| 久久精品国产精品亚洲毛片| 亚洲国产日韩综合久久精品| 成人午夜黄色影院| 国产成人精品a视频一区| 色婷婷亚洲mv天堂mv在影片| 亚洲精品suv精品一区二区| 香蕉视频网站入口| 这里有精品可以观看| 亚洲少妇最新在线视频| 色一情一乱一伦一区二区三区丨| 黄色av中文字幕| 精品午夜一区二区三区在线观看| 亚洲香蕉伊综合在人在线视看| 欧美又黄又嫩大片a级| 日韩在线影院| 亚欧色一区w666天堂| 国产精品swag| 国产精品毛片久久久久久久av| 羞羞答答国产精品www一本| 久久99精品国产99久久6尤物| 欧美性受xxxx黑人| 美日韩中文字幕| 精品国产一二三区| 美女被艹视频网站| 2019中文亚洲字幕| 欧美色电影在线| 黄色一级一级片| 蜜桃成人在线视频| av在线不卡网| 国产三级精品在线不卡| 午夜美女福利视频| 国产精品一区二区黑丝 | 不卡一本毛片| 亚洲精品视频免费观看| 中文字幕一区二区三区乱码| www日韩tube| 久久久精品黄色| 蜜桃日韩视频| 内衣办公室在线| 久久久精品人体av艺术| 欧美日产一区二区三区在线观看| 天天爱天天干天天操| 不卡av免费在线观看| 国产精品yjizz| www.日本在线观看| 成人激情文学综合网| 国产女主播一区二区| 天堂在线视频免费观看| 91免费看视频| 日韩精品伦理第一区| 成人性爱视频在线观看| 国产精品每日更新在线播放网址 | 91官网在线| 国产精品不卡视频| 成人手机在线播放| h片精品在线观看| 狠狠躁夜夜躁人人爽天天天天97| 青青草原成人网| 视频精品导航| 亚洲精品视频在线看| 免费观看亚洲视频| 国产高清在线| 国产成人精品一区二| 欧美专区福利在线| 午夜视频网站在线观看| 精品无码三级在线观看视频| 91久久国产自产拍夜夜嗨| 少妇喷水在线观看| 国产免费成人在线视频| 天天爱天天做天天操| 免费在线超碰| 中文字幕一区二区三区不卡| 免费cad大片在线观看| 黄色软件视频在线观看| 欧美性xxxxxxxx| 欧美精品自拍视频| 网友自拍亚洲| 日韩三级视频中文字幕| 一区二区不卡免费视频| 99精品国产九九国产精品| 日韩免费观看高清完整版在线观看| 国产精品扒开腿做爽爽爽a片唱戏| 久久精品国产福利| 精品日本一线二线三线不卡| 中文字幕免费高清在线| 视频精品一区| 伊人久久大香线蕉av一区二区| www欧美com| 久久免费大视频| 久久久亚洲成人| 中文字幕永久在线视频| 性欧美暴力猛交另类hd| 91久久精品美女| 亚洲视频在线免费播放| 日本aⅴ亚洲精品中文乱码| 7777精品伊久久久大香线蕉语言| 青青草免费在线| 一区二区三区在线视频免费| 亚洲精品一二三四五区| 国产区精品视频在线观看豆花| 国产一区二区三区在线看 | 欧美性高潮床叫视频| xxxx在线免费观看| 国产精品一区高清| 欧美精品videos| 国产精品视频a| 久久免费午夜影院| 和岳每晚弄的高潮嗷嗷叫视频| 精品三级在线| 亚洲欧洲在线看| 久久草视频在线| 国产91精品久久久久久久网曝门 | 亚洲国产精品一区制服丝袜| 国产在线视频91| 九色在线视频| 狠狠爱在线视频一区| 亚洲免费观看在线| 午夜国产一区二区| 亚洲欧美一区二区激情| 醉酒壮男gay强迫野外xx| 国产精品va| 91在线精品视频| 日本精品一区二区三区在线播放| 色综合色综合色综合色综合色综合| 成年人看片网站| 高清欧美性猛交xxxx黑人猛| 欧美成年人在线观看| 91久久久久国产一区二区| 国产欧美日韩另类一区| 国产精彩免费视频| 国产精品自拍区| 欧日韩不卡在线视频| 天堂av在线资源| 久久免费看少妇高潮| 人妻av中文系列| 国产精品专区免费| 精品亚洲一区二区三区四区五区| 国产成人精品亚洲男人的天堂| 国产乱码精品1区2区3区| 国产精品88久久久久久妇女| 精品一区二区三区亚洲| 欧美福利视频在线观看| 囯产精品一品二区三区| 亚洲成人激情av| 国产中文字幕一区二区| 麻豆9191精品国产| 亚洲高清在线观看一区| 欧美成人福利| 久久久91精品国产| 亚洲精品字幕在线观看| 国产人伦精品一区二区| 亚洲欧美激情网| 久久久久久久久丰满| 亚洲在线视频观看| 青青草在线播放| 色综合久久88色综合天天免费| 欧美黄色一级生活片| 麻豆久久久久久久| 成人黄色片免费| 欧美1区2区3区4区| 国产经典一区二区| 超碰最新在线| 亚洲国内精品视频| 91丨九色丨海角社区| ...av二区三区久久精品| 一级全黄裸体片| 老鸭窝91久久精品色噜噜导演| 色综合久久久久久久久五月| 成人影院网站ww555久久精品| 欧美激情综合色| 欧美一区二区视频| 777奇米四色成人影色区| 国产真人真事毛片| 国产欧美日韩在线| 亚洲成人手机在线观看| 一区二区三区国产盗摄| 亚洲国产精品一区二区第四页av| 欧美二区观看| 国产精品69久久| 亚洲色图美国十次| 亚洲欧美中文日韩在线v日本| 国产又色又爽又黄又免费| 亚洲第一在线综合网站| 国产激情av在线| eeuss影院一区二区三区| 久久这里只精品| 中文一区在线| 国产三级中文字幕| 国产成人精品免费视| yellow视频在线观看一区二区 | 精品二区三区线观看| 奇米网一区二区| 91尤物视频在线观看| 91热视频在线观看| 日韩不卡一二三区| 人妻夜夜添夜夜无码av| 午夜精品视频一区二区三区在线看| 精品国产一区二区三区免费 | 不卡av免费观看| 日韩亚洲一区二区| 男生女生差差差的视频在线观看| 欧美成人女星排名| 中文字幕在线观看国产| 岛国av在线不卡| 国产在线观看成人| 亚洲人成网站色在线观看| 成人免费无遮挡无码黄漫视频| 国产91丝袜在线播放九色| 污污网站免费观看| 日韩电影网1区2区| 116极品美女午夜一级| 韩国自拍一区| 51xx午夜影福利| 999久久久精品国产| 日韩精品欧美在线| 你懂的一区二区三区| 黄色99视频| 好吊妞视频这里有精品| 91视频99| 日韩高清一区| 亚洲自拍欧美色图| 韩国三级大全久久网站| 91免费国产网站| 成人网av.com/| 91精品视频在线免费观看| 欧美成人高清视频在线观看| 国产精品中文在线| 男人天堂久久| 国产在线播放不卡| 亚洲国产伊人| 成人综合国产精品| 国产麻豆精品| 亚洲iv一区二区三区| 日韩精品中文字幕一区二区 | 亚洲精品视频自拍| www青青草原| 亚洲最大色网站| 国产性生活网站| 亚洲午夜一区二区三区| 国产精品日日夜夜| 天涯成人国产亚洲精品一区av| 国产成人无码精品亚洲| 欧美午夜宅男影院在线观看| 成人a v视频| 欧美日韩一区二区三区在线看| 一级黄色大片免费| 91麻豆精品国产无毒不卡在线观看 | 性爱视频在线播放| 色中色综合影院手机版在线观看| 欧美草逼视频| 欧美亚洲伦理www| 怡红院成人在线| 中文字幕欧美精品日韩中文字幕| 国产成人天天5g影院在线观看| 色哟哟网站入口亚洲精品| 久草中文在线| 亚洲欧美中文日韩v在线观看| 韩国中文字幕2020精品| 色噜噜狠狠狠综合曰曰曰| 国产写真视频在线观看| 国内精品美女av在线播放| 刘亦菲一区二区三区免费看| 国产欧美日韩91| 一本一道久久a久久| 狼狼综合久久久久综合网| 欧美亚洲激情| 精品国产乱码久久久久久久软件| 亚洲第一二三区| 一区二区视频在线观看| 国内在线观看一区二区三区| avav在线看| 国产在线播放一区二区三区| 国产精品九九视频| 国产精品私人自拍| 国产一级片播放| 在线免费观看日本欧美| 性色av蜜臀av| 国产香蕉精品视频一区二区三区 | 五月婷婷在线播放| 欧美一级理论性理论a| 天天色综合久久| 日韩中文在线观看| 黄色在线免费观看网站| 成人国内精品久久久久一区| 久久免费视频66| 最新中文字幕久久| 免费在线播放第一区高清av| 性生活在线视频| 国产亚洲美州欧州综合国| 黄网站免费在线| 欧美日韩大陆一区二区| 深夜福利视频在线观看| 久久69精品久久久久久国产越南| 欧美精品日日操| 国产精品一区二区免费看| 99精品视频在线观看免费播放 | 天堂电影一区| 91久久精品www人人做人人爽| 欧美美女视频| 每日在线更新av| 成熟亚洲日本毛茸茸凸凹| 2017亚洲天堂| 欧洲国产伦久久久久久久| 色婷婷综合视频| 色综合久久久久久中文网| 国产精品久久久久久妇女| 久久精品五月婷婷| 好看的亚洲午夜视频在线| 999久久久精品视频| 国产欧美一区二区三区沐欲 | heyzo一区| 超碰97在线人人| 91tv精品福利国产在线观看| 蜜臀av免费观看| 国产午夜精品在线观看| 日韩熟女精品一区二区三区| 精品美女在线播放| 男女在线观看视频| 99re资源| 欧美激情91| 日日夜夜精品视频免费观看| 亚洲特黄一级片| 国产精品欧美综合亚洲| 日韩中文综合网| 亚洲成人1区| 亚洲AV无码成人精品一区| 久久国产综合精品| 免费一级suv好看的国产网站| 色婷婷综合激情| 国产高清一区在线观看| 国产精品久久婷婷六月丁香| h1515四虎成人| 日韩成人av网站| 男女男精品视频网| 日本特黄在线观看| 亚洲私人黄色宅男| 精品久久久无码中文字幕| 久久综合久久八八| 欧美9999| 日韩人妻无码精品久久久不卡| 美女日韩在线中文字幕| 国内精品久久99人妻无码| 色妹子一区二区| av在线免费观看网站| 成人免费自拍视频| 欧美aa国产视频| 亚洲麻豆一区二区三区| 欧美日韩一区免费| 国产福利免费在线观看| 国产综合久久久久| 欧美精品97| 美国黄色一级毛片| 欧美主播一区二区三区| 日韩在线免费电影| 999精品在线观看| 99综合视频| 美国黄色特级片| 日韩欧美一区二区久久婷婷| 国产乱码午夜在线视频| 色综合久久88色综合天天提莫| 国产乱码精品一区二区三区av| 一区二区三区视频免费看| 亚洲人成网站777色婷婷| 婷婷精品久久久久久久久久不卡| 女女百合国产免费网站| 99re这里只有精品首页| 精品久久久久久久久久久国产字幕| 日韩一中文字幕| 岛国av一区| 91制片厂毛片| 亚洲妇女屁股眼交7| 福利成人在线观看| 97超级碰碰| 日韩在线观看一区二区| 久操免费在线视频| 亚洲人成在线观看网站高清| 秋霞一区二区| 日韩视频在线免费看| 亚洲免费大片在线观看| 九色网友自拍视频手机在线| 91九色在线观看| 欧美a级一区二区| 日本在线视频免费| 久久精彩免费视频| 综合国产视频|