日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

《Cython系列》5. 组织你的Cython代码

發布時間:2023/12/15 综合教程 45 生活家
生活随笔 收集整理的這篇文章主要介紹了 《Cython系列》5. 组织你的Cython代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

楔子

我們之前在介紹Cython語法的時候,一直永遠都是一個pyx文件,如果是多個pyx文件改怎么辦?怎么像Python那樣進行導入呢?

Python提供了modules和packages來幫助我們組織項目,這允許我們將函數、類、變量等等,按照各自的功能或者實現的業務,分組到各自的邏輯單元中,從而使項目更容易理解和定位。并且模塊和包也使得代碼重用變得容易,在Python中我們使用import語句訪問其它module和package中的函數。

而Cython也支持我們將項目分成多個模塊,首先它完全支持import語句,并且含義與Python中的含義完全相同。這就允許我們在運行時訪問外部純Python模塊中定義的Python對象,或者其它擴展模塊中定義的可以被訪問的Python對象。

但故事顯然沒有到此為止,因為只有import的話,Cython是不允許兩個模塊訪問彼此的cdef、cpdef定義的函數、ctypedef、struct等等,也不允許訪問對其它的擴展類型進行C一級的訪問。

而為了解決這一問題,Cython提供了三種類型的文件來組織Cython文件一級C文件。到目前為止,我們一直使用擴展名為pyx的Cython源文件,它是包含代碼的邏輯的實現文件。但是還有兩種類型的文件,分別是擴展名為pxd的文件和擴展名為pxi的文件。

pxd文件你可以想象成類似于C中的頭文件,用于存放一些聲明之類的,而Cython的cimport就是從pxd文件中進行屬性導入。

這一節我們就來介紹cimport語句的詳細信息,以及pyx、pxd、pxi文件之間的相互聯系,我們如何使用它們來構建更大的Cython項目。有了cimport和這三種類型的文件,我們就可以有效地組織Cython項目,而不會影響性能。

Cython的實現文件(pxd文件)和聲明文件(pxi文件)

我們目前一直在處理pyx文件,它是我們編寫具體Cython代碼的文件,當然它和py文件是等價的。如果的Cython項目非常小,并且沒有其它代碼需要訪問里面的C級結構,那么一個pyx文件足夠了。但如果我們想要共享pyx文件中的C級結構,那么就需要pxd文件了。

假設我們有這樣一個Cython文件:lover.pyx

# lover.pyx
from libc.stdlib cimport malloc, free

ctypedef double real

cdef class Girl:

    cdef public :
        str name  # 姓名
        long age  # 年齡
        str gender  # 性別
    cdef real *scores  # 分數,這里我們的double數組長度為3,但是real *不能被訪問,所以它不可以使用public

    def __cinit__(self, *args, **kwargs):
        self.scores = <real *> malloc(3 * sizeof(real))

    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender

    def __dealloc__(self):
        if self.scores != NULL:
            free(self.scores)

    cpdef str get_info(self):
        return f"name: {self.name}, age: {self.age}, gender: {self.gender}"
	
    cpdef set_score(self, list scores): 
        # 雖然not None也可以寫在參數后面,但是它只適用于Python函數
        assert scores is not None and len(scores) == 3
        cdef real score
        cdef long idx
        for idx, score in enumerate(scores):
            self.scores[idx] = score

    cpdef list get_score(self):
        cpdef list res = [self.scores[0], self.scores[1], self.scores[2]]
        return res

目前來講,由于所有內容都在一個pyx文件里面,因此任何C級屬性都可以自由訪問。

>>> import cython_test
>>> cython_test.Girl('古明地覺', 16, 'female')
<cython_test.Girl object at 0x7f9716ee3308>
>>> g = cython_test.Girl('古明地覺', 16, 'female')
>>> 
>>> g.get_info()
'name: 古明地覺, age: 16, gender: female'
>>> g.set_score([90.4, 97.3, 97.6])
>>> g.get_score()
[90.4, 97.3, 97.6]
>>> 

訪問非常地自由,沒有任何限制,但是隨著我們Girl這個類的功能越來越多的話,該怎么辦呢?

所以我們需要創建一個pxd文件,就叫lover.pxd吧,然后把我們希望暴露給外界訪問的C級結構放在里面。

# lover.pxd
ctypedef double real

cdef class Girl:

    cdef public :
        str name  
        long age  
        str gender  
    cdef real *scores  
    
    cpdef str get_info(self)
    cpdef set_score(self, list scores)
    cpdef list get_score(self)

我們看到在pxd文件中,我們只存放了C級結構的聲明,像ctypedef、cdef、cpdef等等,并且函數的話我們只是存放了定義,函數體并沒有寫在里面,同理后面也不可以有冒號。另外,pxd文件是在編譯時訪問的,而且我們不可以在里面放類似于def這樣的純Python聲明,否則會發生編譯錯誤。

所以pxd文件只放相應的聲明,而它們的具體實現是在pyx文件中,因此有人發現了,這個pxd文件不就是C中的頭文件嗎?答案確實如此。

然后我們對應的lover.pyx文件也需要修改,lover.pyx和lover.pxd具有相同的基名稱,Cython會將它們視為一個命名空間。另外,如果我們在pxd文件中聲明了一個函數,那么在pyx文件中不可以再次聲明,否則會發生編譯錯誤。怎么理解呢?

我們說類似于cpdef func(): pass這種形式,它是一個函數(有定義);但是cpdef?func()這種形式,它只是一個函數聲明。所以函數聲明和C中的函數聲明也是類似的,在Cython中沒有冒號、以及函數體的話,那么就是函數聲明。而在Cython的pyx文件中也可以進行函數聲明,比如C源文件中也是可以聲明函數的,但是一般都會把聲明寫在h頭文件中,在Cython中也是如此,會把C級結構、一些聲明寫在pxd文件中。

而一旦聲明,那么只能聲明一次,不可以重復聲明,具有相同基名稱的pyx、pxd文件中,函數聲明只能出現一次,如果在pxd文件中出現了,那么在pyx中就不可以重復聲明了。并且對于函數,如果聲明了,那么則需要有具體的實現。

注意:聲明針對的是C一級的結構,所以對于def定義的Python函數是不可以進行聲明的。

重新修改我們的pyx文件

# lover.pyx
from libc.stdlib cimport malloc, free

cdef class Girl:

    def __cinit__(self, *args, **kwargs):
        self.scores = <real *> malloc(3 * sizeof(real))

    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender

    def __dealloc__(self):
        if self.scores != NULL:
            free(self.scores)

    cpdef str get_info(self):
        return f"name: {self.name}, age: {self.age}, gender: {self.gender}"

    cpdef set_score(self, list scores):
        assert scores is not None and len(scores) == 3
        cdef real score
        cdef long idx
        for idx, score in enumerate(scores):
            self.scores[idx] = score

    cpdef list get_score(self):
        cpdef list res = [self.scores[0], self.scores[1], self.scores[2]]
        return res

雖然結構沒有什么變化,但是我們把一些C級數據拿到pxd文件中了,所以pyx文件中的可以直接刪掉了,會自動到對應的pyd文件中找,因為它們有相同的基名稱,Cython會將其整體看成一個命名空間。所以:這里pyx文件和pxd文件一定要有相同的基名稱,只有這樣才能夠找得到,否則你會發現代碼中real是沒有被定義的,當然還有self的一些屬性,因為它們必須要使用cdef在類里面進行聲明。

但是哪些東西我們才應該寫在pxd文件中呢?本質上講,任何在C級別上,需要對其它模塊公開的,我們才需要寫在pxd文件中,比如:

C類型聲明--ctypedef、結構體、共同體、枚舉(后續系列中介紹)
外部的C、C++庫的聲明(后續系列中介紹)
cdef、cpdef模塊級函數的聲明
cdef class擴展類的聲明
擴展類的cdef屬性
使用cdef、cpdef方法的聲明
C級內聯函數或者方法的實現

但是,一個pxd文件不可以包含如下內容:

Python函數和非內聯C級函數、方法的實現
Python類的定義
IF或者DEF宏的外部Python可執行代碼

那么我們的pxd文件都帶來了哪些功能呢?那就是lover.pyx文件可以被其它的pyx文件導入了,這幾個pyx文件作為一個整體為Python提供更強大的功能,否則的話其它的pyx文件是無法導入的,導入方式是使用cimport。

cimport語句

然后我們在另一個pyx文件中導入這個lover.pyx,當然導入的話其實尋找的是pxd,然后調用的是pyx里面的函數。

# cython_test.pyx
from lover cimport Girl

cdef class NewGirl(Girl):
    pass

然后進行編譯,不過此時由于涉及到多個pyx文件,因此這些pyx都要進行編譯才行。

from distutils.core import Extension, setup
from Cython.Build import cythonize


ext = [Extension("lover", ["lover.pyx"]),  # 不用管pxd,會自動包含
       Extension("cython_test", ["cython_test.pyx"])]

setup(ext_modules=cythonize(ext, language_level=3))

編譯的命令和之前一樣,編譯之后會發現原來的目錄中有兩個pyd文件了。

將這兩個文件拷貝出來,首先在cython_test.pyx中,是直接導入的lover,因此這兩個pyd文件要在一個目錄中。

>>> from cython_test import NewGirl
>>> 
>>> g = NewGirl('古明地覺', 17, 'female')
>>> g.get_info()
'name: 古明地覺, age: 17, gender: female'
>>> 
>>> g.set_score([90.1, 90.3, 93.5])
>>> g.get_score()
[90.1, 90.3, 93.5]
>>> 

此時兩個pyd文件就實現了導入,我們可以將這個cython_test.pyx寫的更復雜一些。

from lover cimport Girl


cdef class NewGirl(Girl):

    cdef public str where

    def __init__(self, name, age, gender, where):
        self.where = where
        super().__init__(name, age, gender)

    def new_get_info(self):
        return super(NewGirl, self).get_info() + f", where: {self.where}"
>>> from cython_test import NewGirl
>>> # 自己定義了__init__,接收4個參數
>>> g = NewGirl('古明地覺', 17, 'female')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "cython_test.pyx", line 8, in cython_test.NewGirl.__init__
    def __init__(self, name, age, gender, where):
TypeError: __init__() takes exactly 4 positional arguments (3 given)
>>> 
>>> # 傳遞4個參數,前面3個會交給父類處理
>>> g = NewGirl('古明地覺', 17, 'female', '東方地靈殿')
>>> g.get_info()  # 父類的方法
'name: 古明地覺, age: 17, gender: female'
>>> 
>>> g.new_get_info()  # 在父類的方法返回的結果之上,進行添加
'name: 古明地覺, age: 17, gender: female, where: 東方地靈殿'
>>> 

因此我們看到使用起來基本上和Python之間是沒有區別,主要就是如果涉及到多個pyx,那么這些pyx都要進行編譯。并且想被導入,那么該pyx文件一定要有相同基名稱的pxd文件。導入的時候使用cimport,會去pxd文件中找,然后具體實現則是去調用pyx文件。但即便pyx文件能被導入,但也未必就能使用其所有的C級結構,想使用的話必須要在對應的pxd文件中進行聲明。

另外,可能有人發現了,我們這是絕對導入,對于目前演示來說使用絕對導入、相對導入是沒有什么區別的。但實際上,pyd應該采用相對導入,因為它無法作為啟動文件,只能被導入。所以我們在pyx文件中使用相對導入即可。

我們舉個栗子,之前的lover.pyx和lover.pxd不變,在cython_test.pyx進行相對導入。

from .lover import Girl

但是:上面三個文件在一個單獨的目錄中,假設就叫lover吧。1.py就是我們執行編譯的,它和lover目錄是同級的。

然后編譯擴展模塊的時候可以用之前的方式編譯,只不過Extension中文件路徑要指定對。但是這里我們換一種方式吧,我們之前說支持通配符。

from distutils.core import setup
from Cython.Build import cythonize

# 將lover目錄下的所有pyx文件進行編譯,名字和pyx文件名是一致的。
# 如果是Extension的話,我們可以自己指定
setup(ext_modules=cythonize("lover/*.pyx", language_level=3))

當編譯成功之后,對應的目錄就會出現兩個擴展模塊,我們將其移動過來。

但是注意:由于涉及到相對導入,所以我們不可以在和cython_test.so同目錄下導入,否則會報錯。

>>> import cython_test
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "lover/cython_test.pyx", line 1, in init cython_test
    from .lover import Girl
ImportError: attempted relative import with no known parent package
>>> 

我們可以將這兩個so文件移動到一個單獨的目錄中,就移動到lover中吧。

其實我們還可以在里面寫入__init__文件,這樣才更符合Python中的包,但這里我們就不寫了,只要可以相對導入即可。

>>> from lover.cython_test import Girl
>>> 
>>> g = Girl("古明地覺", 17, "female")
>>> g.get_info()
'name: 古明地覺, age: 17, gender: female'
>>> 

預定義的pxd文件

還記得我們之前的from?libc.stdlib?cimport?malloc, free這行代碼嗎?顯然這是Cython提供的,沒錯它就在Cython模塊主目錄下的Includes目錄中,libc這個包下面除了stdlib之外,還有stdio、math、string等pxd文件。除此之外,它還有一個libcpp包對應的pxd文件,里面包含了C++標準模板庫(STL)容器,如:string、vector、list、map、pair、set等等。

而CPython解釋器的Include目錄中定義了大量的C頭文件,而Cython也提供了對應的pxd文件,可以方便地訪問Python/C api。當然還有一個最重要的包就是numpy,Cython也是支持的,當然這些我們會在后面系列中介紹了。

from ... cimport...和from ... import ...的用法是一致的,區別就是前者多了一個c

下面我們就來演示一下常見的功能。

from libc cimport math
print(math.sin(math.pi / 2))

from libc.math cimport cos, pi
print(cos(pi / 2))

# 使用C++模板
from libcpp.vector cimport vector
cdef vector[int] *vi = new vector[int](10)

# 注意:如果使用import和cimport導入了相同的函數,那么會編譯錯誤
"""
from math import sin
from lib.math cimport sin
這種方式是報錯的
解決辦法可以通過as
from math import sin as py_sin
from lib.math cimport sin as c_sin
"""

我們說pxd文件類似于C的頭文件(h文件),它們有以下相似之處:

都通過使用外部代碼聲明C級結構
都允許我們將一個大文件分成不同的多個組件
都負責聲明用于實現的C級接口

除此之外,還有一個pxi文件,但是個人覺得用處不是很大,這里就不說了。

總結

以上是生活随笔為你收集整理的《Cython系列》5. 组织你的Cython代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

91干干干 | 日韩中文字幕免费视频 | 五月婷婷激情综合 | 三级动态视频在线观看 | 国产91精品看黄网站在线观看动漫 | 欧美一区二区三区四区夜夜大片 | 五月丁香 | 欧美日韩国产在线精品 | 免费又黄又爽的视频 | av大全在线播放 | 国产欧美三级 | 中文在线字幕观看电影 | 欧美精品第一 | 午夜丁香网 | 久久手机精品视频 | 日韩久久精品一区二区三区下载 | 九草视频在线 | 欧美一级片在线 | 日韩激情三级 | 天天干com| 九九视频精品在线 | 三级黄色大片在线观看 | 99久久99视频只有精品 | av电影久久 | 成人精品一区二区三区中文字幕 | 天天色天天射天天综合网 | 欧美福利视频一区 | 国产高清专区 | 私人av| 99在线国产| 精品高清美女精品国产区 | 欧美久久久久久久久中文字幕 | 黄免费在线观看 | 日本中文乱码卡一卡二新区 | 成人一级片免费看 | 成人黄色免费在线观看 | 一区二区高清在线 | 婷婷六月天丁香 | 国产成人精品不卡 | 一级α片| 天天爱天天干天天爽 | 中文字幕在线看视频国产 | 国产99久久久国产精品成人免费 | 五月在线视频 | 视频二区在线视频 | 91精品视频在线观看免费 | 国产精品一区二区免费视频 | 国产精品久久99综合免费观看尤物 | 亚洲三级国产 | 久久综合国产伦精品免费 | 麻豆成人在线观看 | 91黄在线看 | 久久99国产精品二区护士 | 国产第一二区 | 久久爱www. | 亚洲高清久久久 | 成人免费毛片aaaaaa片 | 成人在线免费视频 | 日本久久精品 | 精品久久久久久久久久岛国gif | 久草视频在线免费看 | 久久久久久久久久久精 | www操操 | 麻豆成人小视频 | 婷婷伊人综合亚洲综合网 | 亚洲国产精品人久久电影 | 久久av影视 | 91麻豆精品 | 亚洲综合激情五月 | 日韩三级在线观看 | 久久免费电影网 | 国产精品毛片久久蜜 | 三级黄色片在线观看 | 四虎在线免费 | 国产香蕉97碰碰碰视频在线观看 | 亚洲国产中文在线 | 五月天婷婷狠狠 | 97色婷婷| 日韩在线观看视频一区二区三区 | 欧美做受xxx | 免费av片在线 | 在线播放精品一区二区三区 | 国产97超碰| 久热精品国产 | 很黄很污的视频网站 | 精品亚洲va在线va天堂资源站 | 成人av免费在线看 | 久久久精品午夜 | 性色av免费看 | 久久九九影视网 | 免费看国产一级片 | a视频免费在线观看 | 亚洲一区 av | 狠狠色综合网站久久久久久久 | 视频一区二区在线观看 | 欧美精品一区二区性色 | 午夜av免费 | 97影视 | 韩国在线一区二区 | 亚州性色 | 久久精品国产亚洲aⅴ | 日本丰满少妇免费一区 | 久久久久久久久综合 | 久热爱| 国产精品视频永久免费播放 | 亚洲黄色一级视频 | 天天射射天天 | 国产美女在线精品免费观看 | 亚洲h色精品| 一区二区三区高清在线观看 | 99热这里只有精品在线观看 | 亚洲国产日韩欧美 | 91av社区 | 中文字幕在线视频免费播放 | 激情综合久久 | 韩国三级一区 | 日日躁你夜夜躁你av蜜 | www久久精品 | 久久任你操 | 国产做aⅴ在线视频播放 | 成年人网站免费在线观看 | 97视频总站 | 成人在线观看日韩 | 婷婷资源站 | 久久久高清一区二区三区 | 91在线观看黄 | 精品久久久久久久 | 久久免费中文视频 | 99免费精品视频 | 久影院 | 毛片网站观看 | 日日夜夜网| 免费看片在线观看 | 亚州视频在线 | 欧美成年性 | 五月婷婷欧美视频 | 日韩欧美视频一区 | 日韩精品在线播放 | 国产视频九色蝌蚪 | 天天插天天干天天操 | 成人福利av | 亚洲1级片| 香蕉在线观看视频 | 国产 日韩 在线 亚洲 字幕 中文 | 久久久久久国产精品999 | www.久久久 | 99久久精品费精品 | 久久视频在线免费观看 | 国产国语在线 | 波多野结衣在线视频一区 | 国产精品一区二区三区四 | av在线免费观看不卡 | 国产一区二区三区 在线 | 玖玖视频在线 | 日韩欧美综合精品 | av色综合网 | 成人免费一级 | 色噜噜在线观看视频 | 欧美性高跟鞋xxxxhd | 99视频在线看 | 在线国产99 | 成人在线黄色 | 日韩欧美成 | 色婷婷成人网 | 在线视频日韩精品 | 狠狠色丁香婷婷综合最新地址 | 欧美黄色成人 | 国产在线观看免费观看 | 在线播放日韩 | 二区三区中文字幕 | 日本精品在线 | 中文一二区 | 在线免费成人 | 黄色免费视频在线观看 | www日日夜夜 | 国产在线观看av | 九九热免费在线视频 | 五月婷婷丁香综合 | 久草手机视频 | 国产免费叼嘿网站免费 | 国产精品国内免费一区二区三区 | 成人午夜黄色影院 | 精品字幕在线 | 国产精选在线 | 99中文字幕视频 | 久久亚洲精品国产亚洲老地址 | 成人网在线免费视频 | 99视| 日日操网 | 西西444www| 五月婷婷一级片 | 精品免费视频. | 色悠悠久久综合 | 日本中文字幕观看 | 中文字幕黄色网址 | 久久中文字幕视频 | 国产小视频在线观看 | 国产精品一区二区av日韩在线 | 国产精品久久久久久久久久久久午夜片 | 亚洲精品国偷拍自产在线观看蜜桃 | 在线免费观看视频 | 极品久久久久久久 | 亚洲精品乱码久久久久v最新版 | 日本精品视频一区 | 欧美激情另类文学 | av不卡免费看 | 亚洲精品美女久久久久网站 | 五月婷婷香蕉 | 在线成人av | 黄色毛片在线 | 成年人国产视频 | 视频在线91 | 男女激情网址 | 日韩欧美高清视频在线观看 | 国产一区二区在线免费播放 | 在线观看国产日韩 | 国产一级做a爱片久久毛片a | 在线导航福利 | 2000xxx影视 | 国产涩涩在线观看 | 天天亚洲综合 | 久久精品成人欧美大片古装 | 天天干天天操天天入 | 亚洲精品乱码久久久久久蜜桃欧美 | 日韩久久一区 | 免费看国产黄色 | 成人四虎影院 | 日日操操 | 亚洲精品久久久蜜臀下载官网 | www.91国产 | 亚洲一级电影视频 | 中文字幕色综合网 | 日本久久久久久久久久 | 国产精品久久久av久久久 | 97色资源 | 国产精品美女久久久久久2018 | 99视频精品免费视频 | 国产中文字幕91 | 国产日韩欧美在线观看视频 | 国产精品久久久一区二区三区网站 | 久久涩涩网站 | 福利视频午夜 | 99精品视频观看 | 国产一区av在线 | 日韩特级片 | 免费在线观看av网站 | 精品一区二区免费视频 | 欧美片一区二区三区 | 一级片在线 | 精品久久久久一区二区国产 | 精品久久精品久久 | 久久91久久久久麻豆精品 | 欧美一区二区精品在线 | 香蕉视频在线免费 | 久久国产免费看 | 久久论理 | 日韩精品一区在线播放 | 精品视频9999 | 久久久久成人精品 | 国产亚洲视频中文字幕视频 | 久久婷婷综合激情 | 中文乱幕日产无线码1区 | 97视频在线免费 | 国产一卡二卡四卡国 | 国产精品美女视频 | 国内精品久久天天躁人人爽 | 欧美黄污视频 | 中文字幕在线看 | 婷婷草 | 国产美女免费观看 | 精品国产欧美一区二区三区不卡 | 久久xxxx| 久草精品视频在线播放 | 九九热久久免费视频 | 日韩欧美在线免费观看 | a黄色片在线观看 | 99麻豆久久久国产精品免费 | 一区二区三区久久精品 | 免费一级日韩欧美性大片 | 国产精品免费不卡 | 91精品国自产在线观看 | 日韩久久精品一区二区三区 | 国产亚洲字幕 | 日b视频国产 | 怡红院av久久久久久久 | 免费a网 | 天天综合色天天综合 | 国产美女在线观看 | 日韩女同av| 欧美久久电影 | 91免费视频网站在线观看 | 日韩免费一二三区 | 国产91精品久久久久久 | 久久伊人八月婷婷综合激情 | 国产精品欧美日韩 | 欧美性生活小视频 | 狠狠操影视 | 亚洲国产精选 | 婷婷色站| 欧美日韩观看 | 国产中文在线播放 | 国产精品久久久久久麻豆一区 | 国产三级在线播放 | 日本精品一区二区三区在线播放视频 | 欧美日韩精品在线播放 | 成人午夜影院 | 丝袜美腿在线 | 九九热在线精品 | 国产精品情侣视频 | 探花视频在线观看+在线播放 | 国产麻豆剧果冻传媒视频播放量 | 久久精品99久久 | 国产一区成人在线 | 欧美福利片在线观看 | 亚洲美女免费视频 | 四虎5151久久欧美毛片 | 亚洲永久精品国产 | 日韩欧在线| 国产精品久久久久高潮 | 深夜免费小视频 | 日本巨乳在线 | 中文字幕中文字幕中文字幕 | 久久免费视频这里只有精品 | 免费一级特黄录像 | 天天夜夜亚洲 | 亚洲高清色综合 | 一区二区视频在线观看免费 | 天天干人人干 | 日日夜夜精品视频天天综合网 | 中文字幕在线高清 | 国产中文字幕av | 亚洲最大av在线播放 | 久草在线费播放视频 | 91福利试看 | 欧美电影黄色 | 九九热免费观看 | 国产亚洲精品久 | 日韩肉感妇bbwbbwbbw | 精品色999 | 波多野结衣在线观看一区二区三区 | 天天干天天干天天射 | 国产精品毛片一区 | 国产精品每日更新 | 伊人久久电影网 | 日日夜夜噜 | 久久精品7 | 欧美精品亚洲精品日韩精品 | 黄色大片免费播放 | 日韩高清 一区 | 国内精品久久久久久久97牛牛 | 国产美女无遮挡永久免费 | 伊人久久精品久久亚洲一区 | 色婷婷狠狠五月综合天色拍 | 美女视频免费精品 | 国产乱对白刺激视频在线观看女王 | 激情视频网页 | 亚洲综合色丁香婷婷六月图片 | 天天狠狠干 | 日韩欧美在线影院 | 中国一级片视频 | 久久激情视频 久久 | 在线中文视频 | 久久久久久久久久久久久久电影 | 91精品爽啪蜜夜国产在线播放 | 国产一区在线视频播放 | 在线免费视频a | 97精品国产97久久久久久久久久久久 | 日本在线观看一区 | 国产免费不卡 | 久久草在线免费 | 性色av免费在线观看 | 黄免费在线观看 | 国产精品久久久久9999吃药 | 伊人狠狠 | 日韩欧美在线综合网 | 精品视频在线观看 | 亚洲综合情 | 国产精品大尺度 | 超碰九九 | 精品久久久精品 | 狠狠色丁香婷婷综合 | 国产视频精品免费播放 | 国产一区黄色 | 国产精品白丝jk白祙 | 五月婷婷激情六月 | 成人免费共享视频 | 99热这里只有精品国产首页 | 91九色蝌蚪在线 | 91亚洲影院| 亚洲精品美女 | 免费观看性生交大片3 | 国产中文在线播放 | 久久短视频 | 久久久久久久av | 国产精品女视频 | 在线黄色免费 | 色综合久久88 | 久久久久久久影视 | 中文字幕一区二区在线播放 | 日产乱码一二三区别免费 | 中文乱码视频在线观看 | 很黄很污的视频网站 | www.香蕉视频在线观看 | 精品一区中文字幕 | 免费午夜视频在线观看 | 4438全国亚洲精品观看视频 | 欧美一级视频在线观看 | av在线免费观看网站 | 免费毛片一区二区三区久久久 | 国产免费亚洲高清 | 99久久夜色精品国产亚洲96 | 久久久在线视频 | 欧美91精品国产自产 | 久久综合九色综合欧美就去吻 | 国产精品精品久久久 | 91视频免费国产 | 国产精品区一区 | 久久久久成人精品免费播放动漫 | 久久99精品久久久久久清纯直播 | 免费看色的网站 | 欧美视频一区二 | 91精品国产综合久久福利 | 久久国产精品久久精品国产演员表 | 国产美女精品 | 日韩精品一区二区三区免费观看视频 | 最新国产在线视频 | 播五月婷婷 | 国产伦精品一区二区三区照片91 | 18国产精品福利片久久婷 | 毛片网站在线观看 | 丁香婷婷综合网 | a√天堂中文在线 | 中文国产字幕在线观看 | 精品国产一区二区三区久久久蜜月 | 亚洲小视频在线 | 久久精品99久久久久久 | 成人在线视频在线观看 | 又湿又紧又大又爽a视频国产 | 国产精品成人久久 | 成人9ⅰ免费影视网站 | 国产一区视频在线观看免费 | 日韩特黄一级欧美毛片特黄 | 日韩在线 一区二区 | 激情综合站 | 一级黄色片在线播放 | 九九热免费在线观看 | 一级黄色片在线免费看 | 成人性生交大片免费观看网站 | 四虎亚洲精品 | 日韩高清一区 | 99亚洲精品| 国产91勾搭技师精品 | 五月天天在线 | 日韩av一区二区在线播放 | 天天插狠狠干 | 不卡的av在线播放 | 99热精品视 | 欧美成人中文字幕 | 天堂av中文字幕 | 久久国产亚洲视频 | 天天操综合| 97av在线| 国产午夜精品一区二区三区欧美 | av高清一区二区三区 | 精品在线观看一区二区三区 | 2022国产精品视频 | 久草国产在线 | 中文在线a在线 | 日韩在线免费小视频 | 日韩在线视频二区 | 国产精品999久久久 久产久精国产品 | 99r在线播放 | 四虎永久免费在线观看 | 99精品视频一区二区 | 欧美做受高潮电影o | 久久国产剧场电影 | 国产精品成人免费 | 国产五月| 成人中文字幕+乱码+中文字幕 | 69av国产 | 久久99欧美 | 国产99久久久精品 | 久久久久久久免费 | 中文字幕乱码在线播放 | 亚洲免费成人 | 欧美日韩精品国产 | 亚洲成人影音 | 国产色视频一区二区三区qq号 | 麻花豆传媒一二三产区 | 日韩精品欧美视频 | 成人免费视频免费观看 | 成人国产精品av | 中文有码在线视频 | 波多野结衣视频一区二区三区 | 亚洲黄色小说网 | 免费高清在线视频一区· | 91成人免费观看视频 | 久章操| 久久精品亚洲综合专区 | 精品国产色 | 黄色在线视频网址 | 天天干亚洲 | 国产精品久久久久久久午夜 | 青春草视频 | 亚洲精品乱码久久久久v最新版 | 亚洲国产精品99久久久久久久久 | 亚洲精品国产精品国 | 91看毛片 | 免费在线观看视频一区 | 日日干天天射 | 91av视频在线播放 | 午夜精品999 | 久久精品中文字幕 | 亚洲视频在线观看免费 | 国产精品一区二区白浆 | 欧美不卡视频在线 | 久久国产精品久久久 | 国产91免费看 | 亚洲激情小视频 | 久久99久久99精品免视看婷婷 | 精品夜夜嗨av一区二区三区 | 成人黄色片免费看 | 久久久久免费精品视频 | 日韩美女久久 | 亚洲精品欧美视频 | 91精品国自产在线偷拍蜜桃 | 色姑娘综合网 | 欧美日韩国产二区三区 | 天天天插 | 亚洲涩涩色 | 国产在线欧美在线 | 国产视频在线观看一区 | 久99视频| 91精品伦理 | 免费在线播放 | 在线免费视频a | 日韩在线观看不卡 | 日本在线观看黄色 | 人人看人人 | 91久久国产精品 | 992tv又爽又黄的免费视频 | 国产精品久久网 | 在线观看免费观看在线91 | 99久久综合狠狠综合久久 | 激情网站五月天 | 黄色大片日本免费大片 | 99久久久久免费精品国产 | 最近免费中文字幕 | 国产第一二区 | 中国一级特黄毛片大片久久 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 免费看的av片| 国产美女永久免费 | 精品久久网 | 久久久久国产一区二区三区 | 又黄又爽的视频在线观看网站 | 97视频一区 | 国内久久精品 | 免费观看91 | 久久久久久国产精品免费 | 国产无吗一区二区三区在线欢 | 国产精品色视频 | 日韩欧美一区二区三区视频 | 国产黄色大全 | 亚洲成人免费观看 | 久久免费国产精品1 | 免费视频久久久 | 成人免费视频网站 | 欧美极品一区二区三区 | 97在线看| 天天操综合网 | 色天天综合久久久久综合片 | 日韩黄色免费看 | 日韩久久网站 | 色资源网在线观看 | 亚洲午夜精品久久久 | 久久久精品网站 | 97精品国产aⅴ | 人人射人人爽 | 色狠狠婷婷 | av3级在线 | 丁香婷婷综合色啪 | 97看片网 | 人人爽人人澡人人添人人人人 | 91人人爱 | 久久久久久久久久影院 | 激情久久五月 | 亚洲视频网站在线观看 | 人人干人人上 | 国产成人精品久久久久 | 午夜av在线播放 | 一区二区电影在线观看 | 成 人 黄 色 片 在线播放 | 欧美一级电影在线观看 | www.91成人 | 国产精品涩涩屋www在线观看 | 日韩综合第一页 | 91福利视频一区 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 久久精品久久精品 | 国产a国产| 国产精品白丝jk白祙 | 日韩欧美在线免费 | 免费在线观看国产精品 | 亚洲精品久久久久久国 | 在线中文字幕一区二区 | 久久a v视频 | 麻豆视频在线观看免费 | 日本性xxx | 欧美日韩国产网站 | 国产精品毛片完整版 | 91大神免费在线观看 | 成年人免费观看在线视频 | 国产精品视频免费观看 | 五月视频 | 国产成人精品一区二区三区福利 | 久久久久久久久久电影 | 成人av手机在线 | 免费亚洲一区二区 | 99久久精品午夜一区二区小说 | 国产伦理久久精品久久久久_ | 一级黄色片在线免费看 | 亚洲一级免费观看 | 欧美婷婷综合 | 久青草视频在线观看 | 97网| 91一区二区三区在线观看 | 欧美性受极品xxxx喷水 | 国产精品一区免费在线观看 | 中文字幕一区二区三区在线播放 | 黄网站色| 久草在线中文视频 | 国产淫a| 国产黄色av| 91插插插网站 | 日韩在线视频线视频免费网站 | 午夜三级在线 | 美女视频黄频大全免费 | 国内小视频 | 中文字幕在线观看完整 | 国产日产精品一区二区三区四区 | 国产又黄又硬又爽 | 人人模人人爽 | 国产成人精品一区二区 | 五月天丁香综合 | 久草线 | 日韩成人高清在线 | 天天色天天草天天射 | 91亚洲精品久久久蜜桃网站 | 色香天天| 国产精品99久久久久人中文网介绍 | 久久色亚洲 | 九九天堂| 欧美精品中文字幕亚洲专区 | 97精品国产97久久久久久粉红 | 欧美a级在线 | 中文字幕 欧美性 | 国产韩国日本高清视频 | 国产群p视频 | 国产午夜精品理论片在线 | 国产成人精品av在线 | 欧美日韩免费观看一区=区三区 | 久久激情综合网 | 808电影免费观看三年 | 三上悠亚一区二区在线观看 | 91精品1区2区| 激情视频网页 | 伊甸园av在线 | 少妇bbr搡bbb搡bbb | 九九热只有精品 | 中文字幕首页 | 国产视频一区二区在线 | 在线视频 一区二区 | 日韩欧美一区二区三区在线 | 一区二区三区在线免费观看 | 午夜久久电影网 | 欧美一级黄色片 | 91x色 | 欧美a级片免费看 | 成人试看120秒 | 亚洲欧美视频在线观看 | 五月综合激情网 | 久久久影视 | 91麻豆精品国产91久久久无需广告 | 亚洲午夜av | 国产综合小视频 | 丁香5月婷婷久久 | 韩国中文三级 | 日本久久影视 | 97成人精品区在线播放 | 国产a级免费| 亚洲色影爱久久精品 | 最新国产中文字幕 | 欧美日韩视频在线 | 一级黄色片在线播放 | 久久成人国产精品免费软件 | 国产一区二区在线观看免费 | 国产精品久久久久久爽爽爽 | 成人影片在线免费观看 | 国产一卡二卡在线 | 国内精品视频一区二区三区八戒 | 久久婷婷国产色一区二区三区 | 国产高清一级 | 色伊人网 | 国产午夜精品福利视频 | av超碰在线 | 久久午夜精品视频 | 91自拍视频在线观看 | 麻豆久久久 | 久久免费视频1 | 国产乱对白刺激视频不卡 | 最近中文字幕第一页 | 国产亚洲视频系列 | 成人99免费视频 | 六月色婷 | 美女免费视频黄 | 狠狠色丁香婷婷综合久小说久 | 成人91在线观看 | 国产一级a毛片视频爆浆 | 国产日韩欧美在线观看视频 | 黄色一级大片在线免费看国产一 | 在线免费观看视频一区二区三区 | 久热久草| 亚洲另类在线视频 | 国产精品免费不卡 | 亚洲精品永久免费视频 | 欧美大片在线观看一区 | 五月婷婷激情综合网 | 亚洲一二三区精品 | 国产无限资源在线观看 | 91精品视频免费看 | 日韩欧美在线视频一区二区三区 | 天天舔天天射天天操 | 日韩在线视频看看 | 日韩高清国产精品 | 国产成人精品一区二区三区 | 国产在线欧美 | 成人午夜剧场在线观看 | 国产中文字幕视频在线 | 国产精品中文字幕av | 中文字幕精品www乱入免费视频 | 波多野结衣小视频 | 亚洲涩涩涩涩涩涩 | 五月天中文字幕 | 青草视频在线播放 | 日本中文字幕在线电影 | 久久伊人国产精品 | 97国产在线视频 | 波多野结衣理论片 | 在线探花 | 毛片99 | 亚洲一区二区三区毛片 | 91综合久久一区二区 | 天天干婷婷 | 日本99干网 | 91少妇精拍在线播放 | 日本三级在线观看中文字 | 亚洲不卡av一区二区三区 | 日本免费一二三区 | 欧美先锋影音 | 成年人黄色免费看 | 夜色成人网| 国产亚洲精品久久久久动 | 久久一区二区三区四区 | 91黄色在线观看 | 久久精彩免费视频 | 亚洲成人国产 | 黄色日批网站 | 国产v在线 | 日本精品久久久久中文字幕5 | 久久国产福利 | 97碰在线 | 精品免费视频123区 午夜久久成人 | 超碰伊人网 | 午夜国产在线 | 亚洲国产精彩中文乱码av | 久久久国产精品免费 | 国产一级大片免费看 | 日本aaaa级毛片在线看 | 久久久国产影视 | 91三级在线观看 | www.91成人| 四虎永久视频 | 亚洲资源在线网 | 亚洲aⅴ在线观看 | 色婷婷狠狠操 | 日韩电影一区二区三区 | 中文字幕在线电影 | 国产九九九视频 | 一区二区视频在线免费观看 | 婷婷免费视频 | 国产精品久久在线观看 | 黄网站免费久久 | 中文字幕亚洲情99在线 | 日韩精品2区 | 成x99人av在线www | 欧美日韩中文国产一区发布 | 成人四虎 | 久草在线视频首页 | 黄色.com | 中文资源在线观看 | www黄com| 成人av片在线观看 | 色综合亚洲精品激情狠狠 | 最近字幕在线观看第一季 | 日本精品视频一区二区 | 国产精品视频你懂的 | 亚洲午夜久久久久久久久久久 | 国偷自产视频一区二区久 | 精品一区 在线 | 久久激情五月婷婷 | 深夜免费小视频 | 日韩视频一区二区 | 婷婷六月色 | 丁香九月婷婷综合 | 婷婷久久一区 | 亚洲精品美女久久久 | 亚洲欧美激情精品一区二区 | 中文字幕日韩伦理 | 中文字幕一区二区三区久久 | 超薄丝袜一二三区 | 黄色毛片电影 | 午夜久操 | 六月婷婷色 | 天天综合网国产 | 欧美日韩午夜爽爽 | 国产日本在线播放 | 999亚洲国产996395 | 欧美日韩国产综合一区二区 | 欧美日韩中文国产 | 开心综合网 | 天天天干夜夜夜操 | 久久精彩 | 超碰人人做 | 夜夜操夜夜干 | 波多野结衣精品视频 | 成人黄色在线视频 | 国产亚洲成人网 | 在线观看国产成人av片 | 精品亚洲一区二区三区 | 欧美色黄 | 婷婷色在线视频 | 久久久穴 | 草草草影院 | 中文字幕之中文字幕 | 成人精品一区二区三区中文字幕 | 操夜夜操 | 国产中文欧美日韩在线 | 在线国产激情视频 | 国产一区二区观看 | 免费www视频| 草久中文字幕 | 婷婷精品国产欧美精品亚洲人人爽 | 特级黄色片免费看 | 色搞搞| 日韩美一区二区三区 | 久久九九影视 | 久日精品| 久99久精品 | 亚洲精品乱码久久久久久 | 国产精品a成v人在线播放 | 91成人观看| 亚洲在线视频观看 | 久久久久久久久久电影 | 91视频大全 | 成人啪啪18免费游戏链接 | 一区精品久久 | 黄色大片日本 | 婷婷av在线 | 超碰国产97 | 91视频在线免费看 | 国内视频在线观看 | 婷婷 中文字幕 | 天天色婷婷 | 亚洲婷婷丁香 | 成人91在线观看 | 免费午夜网站 | 人人网av | 九九久久精品 | 91精品国产成人 | www.久久成人 | 久久经典国产 | 国精产品999国精产品岳 | 免费网站观看www在线观看 | 久久在线观看 | 久久一区二区三区超碰国产精品 | 日本高清中文字幕有码在线 | 久久成人视屏 | 91在线视频在线 | 干亚洲少妇 | 精品产品国产在线不卡 | 欧美成天堂网地址 | 久久久国产精品一区二区三区 | 国产aaa毛片 | 国模视频一区二区 | 免费看片黄色 | 免费观看性生交大片3 | 亚洲在线视频观看 | 这里只有精品视频在线 | 99久久久久免费精品国产 | 99精品视频精品精品视频 | 麻豆成人精品视频 | 激情黄色一级片 | 麻豆视频免费在线播放 | 日日日干 | 超碰97久久 | 国产资源精品在线观看 | 骄小bbw搡bbbb揉bbbb | 久久综合久色欧美综合狠狠 | free. 性欧美.com | 久久国产精品视频免费看 | 91久久偷偷做嫩草影院 | 日韩在线视频观看 | 亚洲成人999 | 91精品国自产在线观看欧美 | 亚洲精品五月 | 久久成人资源 | 最近免费中文字幕大全高清10 | 中国一级片免费看 | 99在线精品免费视频九九视 | 久久久久久久久久久成人 | 欧美一级大片在线观看 | 色婷婷综合久久久 | 日日弄天天弄美女bbbb | 亚洲国产中文字幕在线 | 69久久久 | 日本黄色特级片 | 国产一区二区综合 | 三级黄在线| 99在线精品免费视频九九视 | 18性欧美xxxⅹ性满足 | 国产无套精品久久久久久 | 在线看v片成人 | 少妇啪啪av入口 | 欧美a级一区二区 | 在线看毛片网站 | 国产色啪 | 国产视频不卡一区 | 国产精品福利在线观看 | 粉嫩av一区二区三区四区 | 欧美午夜理伦三级在线观看 | 亚洲精品福利在线观看 | 色婷婷精品| 国产精品999久久久 久产久精国产品 | 日韩性xxx| 亚洲精品免费观看视频 | 黄色片视频免费 | 日本丰满少妇免费一区 | 色综合久久悠悠 | www.夜色.com| 国产日产在线观看 | 97av在线视频免费播放 | 黄色成人在线观看 | 天天爽网站 | 日韩毛片在线免费观看 | 国产一及片 | 波多野结衣视频一区二区 | 国产精品一区二区三区久久久 | 四虎最新入口 | 99精品欧美一区二区三区黑人哦 | 久久视影 | 天天看天天操 | 人人干网站 | 欧美吞精| 亚洲精品乱码久久久久久蜜桃欧美 | 99精品观看 | 黄色片毛片| 最近高清中文字幕在线国语5 | 夜夜干夜夜| 亚洲天堂色婷婷 | 亚洲一区二区视频在线 | 97国产大学生情侣白嫩酒店 | av福利在线导航 | 亚洲色五月 | 欧美天堂久久 | 亚洲美女精品视频 | 天天看天天干 | 国产无遮挡又黄又爽在线观看 | 亚洲电影黄色 | 一本一道久久a久久精品蜜桃 | 日韩电影一区二区在线观看 | 亚洲在线黄色 | 精品国产免费观看 | 天天草天天摸 | 狠狠干婷婷 | 婷婷成人在线 | 91精品国产91热久久久做人人 | 中字幕视频在线永久在线观看免费 | 九七在线视频 | 久久久这里有精品 | 精品国产欧美一区二区 | 天天躁天天操 | 日韩视频在线不卡 | 欧洲精品码一区二区三区免费看 | 免费视频黄 | 中文字幕一区二区三区精华液 | 欧美韩国日本在线 | 综合网av|