精品欧美一区二区三区在线观看 _久久久久国色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一区| 日本黄色一级网站| 夜鲁夜鲁夜鲁视频在线播放| 国产精品久久夜| 国产一区二区三区四区五区在线 | 红桃视频成人在线观看| 午夜精品一区二区三区在线观看| 超碰免费在线97| 石原莉奈在线亚洲三区| 九九热精品视频在线播放| 少妇大叫太粗太大爽一区二区| 亚洲视频自拍| 欧美网站在线观看| 国产手机视频在线观看| 经典三级在线| 成人免费观看视频| 成人av番号网| 波多野结衣人妻| 亚洲美女网站| 欧美黄色片视频| 91动漫免费网站| 九九免费精品视频在线观看| 精品日产卡一卡二卡麻豆| 午夜啪啪小视频| 国产精品亚洲一区二区三区在线观看| 亚洲一区二区中文在线| 日本成人性视频| 大乳在线免费观看| 91蜜桃视频在线| 国产精品一区二区三区在线| av中文在线观看| 久久精品国产**网站演员| 欧美专区第一页| 国产成人精品一区二三区| 国产精品a久久久久| 久久九九有精品国产23| 中文字幕第69页| 精品盗摄女厕tp美女嘘嘘| 日韩电影在线观看永久视频免费网站| 免费看91视频| 一区中文字幕| 亚洲精品在线免费播放| 波多野结衣办公室双飞| 在线视频亚洲欧美中文| 欧美v国产在线一区二区三区| 中文国产在线观看| 韩国三级成人在线| 91麻豆精品国产综合久久久久久| 亚洲成人福利在线| 精品自拍视频| 欧美精品成人一区二区三区四区| 国产欧美日韩最新| 麻豆亚洲av熟女国产一区二| 欧美一区不卡| 欧美国产日韩中文字幕在线| 国语对白在线播放| 亚洲午夜精品一区 二区 三区| 日韩天堂在线视频| 成人免费毛片xxx| 一区二区三区四区日韩| 欧美精品手机在线| 国产无遮挡裸体免费视频| 亚洲人体偷拍| 青青精品视频播放| 做爰无遮挡三级| 精品一区二区久久久| 91色精品视频在线| 亚洲黄色小说网| 97精品超碰一区二区三区| 欧美日韩精品一区| 日日夜夜精品一区| 亚洲精选免费视频| 五十路熟女丰满大屁股| 国产不卡网站| 欧美放荡的少妇| 日韩精品视频一区二区| 欧美激情在线免费| 久久精品国产综合| 国产精品7777777| 久久看片网站| 成人午夜在线影院| 三级视频在线看| 国产欧美精品国产国产专区 | 欧美亚洲国产一卡| 色姑娘综合天天| 偷拍视屏一区| 久久久精品欧美| 天堂中文在线网| 国产一区二区三区黄视频| 精品麻豆av| 91av资源在线| 五月婷婷久久丁香| 亚洲成人天堂网| 欧洲亚洲视频| 久久久国产91| 国产成人精品777777| 国产乱妇无码大片在线观看| 久久草视频在线看| а√天堂8资源在线官网| 日韩欧美精品在线观看| 欧美性猛交乱大交| 日韩不卡一区| 欧美专区福利在线| 欧美视频一二区| 亚洲欧洲精品成人久久奇米网| 黄色av网址在线播放| 欧美jizz18| 亚洲欧美一区二区三区久久| 久久久综合久久久| 久久99精品视频| 欧洲在线视频一区| 欧美gv在线| 日韩视频一区在线观看| 久久日免费视频| 亚洲欧美视频| 国产九区一区在线| av在线导航| 欧美日韩精品一区二区在线播放| 亚洲黄色免费在线观看| 欧美色综合网| 1卡2卡3卡精品视频| 91涩漫在线观看| 色综合久久88色综合天天免费| 稀缺小u女呦精品呦| 一本一道久久综合狠狠老| 国产精品美女久久久久av超清| 天天干天天插天天操| 一区二区在线观看视频在线观看| 三上悠亚激情av一区二区三区 | 日韩视频一区在线观看| 精品成人无码一区二区三区| 国产精品亚洲欧美| 国产伦理久久久| 欧美xxxbbb| 日韩三级免费观看| 欧美性x x x| 精品一区二区三区视频在线观看| 欧美在线播放一区二区| 小h片在线观看| 日韩av在线精品| 日本三级免费看| 成人爽a毛片一区二区免费| 成人在线观看毛片| 精品国产不卡一区二区| 欧美成人免费全部观看天天性色| 国产精品高潮呻吟AV无码| 国产精品区一区二区三区| 能在线观看的av网站| 久久不见久久见中文字幕免费| 日本伊人精品一区二区三区介绍| 欧美成熟毛茸茸| 日韩欧美中文字幕在线播放| 97伦伦午夜电影理伦片| 巨乳诱惑日韩免费av| 欧美性色黄大片人与善| 成人h在线观看| 日韩中文字幕在线视频播放| 国产手机精品视频| 亚洲综合图片区| 男女一区二区三区| 久久国产免费| 亚洲福利av在线| 在线免费成人| 久久久久久久色| 欧美理论在线观看| 欧美性受xxxx| 欧美成人三级视频| av电影在线观看一区| 可以在线看的黄色网址| 日韩欧美视频专区| 91麻豆蜜桃| 波多野结衣亚洲| xvideos亚洲人网站| 亚洲成人中文字幕在线| 欧美性xxxx在线播放| 91导航在线观看| 国产成人免费视频网站高清观看视频 | 亚洲欧美一区二区三区极速播放 | 欧美成人精品在线播放| 黄色av中文字幕| 色又黄又爽网站www久久| 91禁男男在线观看| 丁香婷婷综合激情五月色| 毛片一区二区三区四区| 欧美黄色录像片| 国产精品免费在线播放| 日本h片久久| 久久免费观看视频| av免费在线一区二区三区| 欧美α欧美αv大片| 国产精品51麻豆cm传媒 | 成人精品在线看| 国产精品国产馆在线真实露脸| 极品白嫩的小少妇| 日本视频中文字幕一区二区三区| 欧美一区二区三区综合| 国产欧美一区| 国产经典一区二区三区| jizz欧美| 欧美专区福利在线| 中文字幕中文字幕在线十八区 | h片视频在线观看| 色偷偷综合社区| 无码精品人妻一区二区| 欧美一级日韩免费不卡| 在线观看亚洲黄色| 五月天欧美精品| 欧美日韩在线视频免费| 欧美国产日韩在线观看| 欧美大片免费播放器| 国产乱码精品一区二区三区五月婷| 37pao成人国产永久免费视频| 欧美国产先锋| 中文字幕一区二区三区有限公司| 亚洲精品亚洲人成在线观看| 成人av蜜桃| 成人噜噜噜噜| 成人精品网站在线观看| 久久xxx视频| 国产成人在线精品| 欲香欲色天天天综合和网| 久久久久久网站| 99久久精品免费观看国产| 色偷偷噜噜噜亚洲男人的天堂 | 欧美乱大交xxxxx另类电影| 成人亚洲性情网站www在线观看| 日韩成人av在线| 神马午夜在线观看| 精品国产91亚洲一区二区三区婷婷 | 麻豆影视在线观看_| 亚洲视频在线观看网站| 欧美日韩在线中文字幕| 亚洲国产精品va在看黑人| 人妻妺妺窝人体色www聚色窝 | 欧美视频不卡中文| 亚洲 欧美 视频| 香蕉加勒比综合久久| 国产精品成人av久久| 亚洲国产精品人人做人人爽| 久久免费播放视频| 亚洲国产婷婷综合在线精品| 国产一级特黄视频| 亚洲成va人在线观看| 日本熟女一区二区| 午夜精品一区二区三区免费视频| 中日韩精品视频在线观看| 图片区小说区国产精品视频 | 欧美日韩亚洲综合| 亚洲视频中文字幕在线观看| 欧美喷水一区二区| av手机免费看| 亚洲成人在线视频播放| 国产精品一级视频| 激情久久久久久久久久久久久久久久| 国产理论在线播放| 日韩av一区二区在线影视| 成人性做爰aaa片免费看不忠| 麻豆精品网站| 免费看污黄网站| 国产精品视频免费看| 每日在线观看av| 亚洲黄页一区| 欧美 日韩 国产 高清| 久久久久国产一区二区| 精品黑人一区二区三区在线观看| 国产精品视频一二| 黄色三级生活片| 国产精品嫩草影院com| 欧美性生交大片| 亚洲精选在线视频| 国产精品9191| 日韩欧美在线播放| 国产一区二区自拍视频| 精品少妇一区二区三区在线视频| 无码国产伦一区二区三区视频 | 国产69精品久久久久9| 欧美一级精品片在线看| 欧美一级大片在线观看| a一区二区三区| 国产精品久久久久9999| 在线高清欧美| 国产综合欧美在线看| 精品久久中文| 国产 国语对白 露脸| 欧美涩涩视频| 黄色片在线免费| 国产在线视视频有精品| 一级黄色录像大片| 午夜精品爽啪视频| 国产无遮挡又黄又爽又色视频| 精品视频在线免费观看| 亚洲精品911| 亚洲色图综合久久| 国产福利在线播放麻豆| 91精品国产777在线观看| 国产精品99| 亚洲综合最新在线| 精品国产91乱码一区二区三区四区| 在线国产99| 女同久久另类99精品国产| 日韩中文字幕一区二区| 天堂美国久久| 99蜜桃臀久久久欧美精品网站| 国产综合色精品一区二区三区| 国产白袜脚足j棉袜在线观看| 国产精品亲子乱子伦xxxx裸| 久久久精品视频免费| 欧美久久久久中文字幕| 嫩草研究院在线观看| 成人网页在线观看| 极品尤物一区二区| 日韩欧美在线观看视频| 欧美一区二区公司| 萌白酱国产一区二区| 男人亚洲天堂| 日韩欧美一区二区三区四区| 中文亚洲欧美| 捆绑裸体绳奴bdsm亚洲| 一区二区不卡在线播放| 97人妻精品一区二区三区| 一本久久综合亚洲鲁鲁| 亚洲精品一区| 久久国产精品久久精品国产| 黄色成人在线网址| 成人在线短视频| 亚洲图片欧美激情| 中文字幕一级片| 一区二区欧美日韩视频| 都市激情亚洲一区| 欧美一区二区三区四区在线观看地址 | 欧美精品一区二区三区蜜桃视频 | 日韩毛片视频| xxxx一级片| 中文字幕精品—区二区四季| 久久久精品毛片| 国产午夜一区二区| 最新日韩三级| 三区精品视频观看| 蜜桃传媒麻豆第一区在线观看| 日本黄色小视频在线观看| 欧美影视一区二区三区| 97电影在线| 成人信息集中地欧美| 亚洲区综合中文字幕日日| 亚洲天堂一区二区在线观看| 亚洲男女一区二区三区| 国产美女永久免费| 九九热精品在线| 看全色黄大色大片免费久久久| 国产精品久久中文字幕| 99精品久久免费看蜜臀剧情介绍| 国产情侣自拍av| 亚洲午夜女主播在线直播| www.国产精品| 三上悠亚免费在线观看| 成人免费视频播放| 日本视频在线观看免费| 国产一区二区三区在线播放免费观看| 成人mm视频在线观看| 欧美性视频在线播放| 国产成人8x视频一区二区 | 亚洲国产精品一区制服丝袜| 在线天堂www在线国语对白| 精品国产乱码久久久久久婷婷 | 91国内精品久久| 国产成人久久| 日韩成人av免费| 午夜影院久久久| 国产三级视频在线播放线观看| 国产精品视频专区| 最新精品国产| 永久免费看mv网站入口78| 欧美日韩亚洲丝袜制服| 黄污视频在线观看| 欧美日韩亚洲一区二区三区四区| 美女网站在线免费欧美精品| 免费人成视频在线| 亚洲女成人图区| 国产精品18| 99蜜桃臀久久久欧美精品网站| 亚洲欧洲三级电影| 天天干,夜夜爽| 成人有码视频在线播放| 99在线精品视频在线观看| 欧美一区二区三区观看| 亚洲国产日韩欧美在线动漫| 成人四虎影院| 国产精品12345| 中文字幕亚洲一区二区va在线| 欧美在线 | 亚洲| 国产女人18毛片水18精品| 亚洲日本欧美| 懂色av粉嫩av蜜臀av一区二区三区| 亚洲成在人线av| 日韩欧国产精品一区综合无码| 成人网站免费观看入口|