在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python的知識點(diǎn)總結(jié)說明

Wildesbeast ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-04-06 12:17 ? 次閱讀

No.1 一切皆對象

眾所周知,Java中強(qiáng)調(diào)“一切皆對象”,但是Python中的面向?qū)ο蟊菾ava更加徹底,因?yàn)镻ython中的類(class)也是對象,函數(shù)(function)也是對象,而且Python的代碼和模塊也都是對象。

Python中函數(shù)和類可以賦值給一個變量

Python中函數(shù)和類可以存放到集合對象中

Python中函數(shù)和類可以作為一個函數(shù)的參數(shù)傳遞給函數(shù)

Python中函數(shù)和類可以作為返回值

Step.1

# 首先創(chuàng)建一個函數(shù)和一個Python3.x的新式類class Demo(object): def __init__(self): print(“Demo Class”)# 定義一個函數(shù)def function(): print(“function”)# 在Python無論是函數(shù),還是類,都是對象,他們可以賦值給一個變量class_value = Demofunc_value = function# 并且可以通過變量調(diào)用class_value() # Demo Classfunc_value() # function

Step.2

‘’‘遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書!’‘’# 將函數(shù)和類添加到集合中obj_list = []obj_list.append(Demo)obj_list.append(function)# 遍歷列表for i in obj_list: print(i) # 《class ‘__main__.Demo’》 # 《function function at 0x0000020D681B3E18》

Step.3

# 定義一個具體函數(shù)def test_func(class_name, func_name): class_name() func_name()# 將類名和函數(shù)名傳入形參列表test_func(Demo, function)# Demo Class# function

Step.4

# 定義函數(shù)實(shí)現(xiàn)返回類和函數(shù)def test_func2(): return Demodef test_func3(): return function# 執(zhí)行函數(shù)test_func2()() # Demo Classtest_func3()() # function

No.2 關(guān)鍵字type、object、class之間的關(guān)系

在Python中,object的實(shí)例是type,object是頂層類,沒有基類;type的實(shí)例是type,type的基類是object。Python中的內(nèi)置類型的基類是object,但是他們都是由type實(shí)例化而來,具體的值由內(nèi)置類型實(shí)例化而來。在Python2.x的語法中用戶自定義的類沒有明確指定基類就默認(rèn)是沒有基類,在Python3.x的語法中,指定基類為object。

‘’‘遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書!’‘’# object是誰實(shí)例化的?print(type(object)) # 《class ‘type’》# object繼承自哪個類?print(object.__bases__) # ()# type是誰實(shí)例化的?print(type(type)) # 《class ‘type’》# type繼承自哪個類?print(type.__bases__) # (《class ‘object’》,)# 定義一個變量value = 100# 100由誰實(shí)例化?print(type(value)) # 《class ‘int’》# int由誰實(shí)例化?print(type(int)) # 《class ‘type’》# int繼承自哪個類?print(int.__bases__) # (《class ‘object’》,)# Python 2.x的舊式類class OldClass(): pass# Python 3.x的新式類class NewClass(object): pass

No.3 Python的內(nèi)置類型

在Python中,對象有3個特征屬性:

在內(nèi)存中的地址,使用id()函數(shù)進(jìn)行查看

對象的類型

對象的默認(rèn)值

Step.1 None類型

在Python解釋器啟動時,會創(chuàng)建一個None類型的None對象,并且None對象全局只有一個。

Step.2 數(shù)值類型

ini類型

float類型

complex類型

bool類型

Step.3 迭代類型

在Python中,迭代類型可以使用循環(huán)來進(jìn)行遍歷。

Step.4 序列類型

list

tuple

str

array

range

bytes, bytearray, memoryvie(二進(jìn)制序列)

Step.5 映射類型

dict

Step.6 集合類型

set

frozenset

Step.7 上下文管理類型

with語句

Step.8 其他類型

模塊

class

實(shí)例

函數(shù)

方法

代碼

object對象

type對象

ellipsis(省略號)

notimplemented

NO.4 魔法函數(shù)

Python中的魔法函數(shù)使用雙下劃線開始,以雙下劃線結(jié)尾。關(guān)于詳細(xì)介紹請看我的文章——《全面總結(jié)Python中的魔法函數(shù)》。

No.5 鴨子類型與白鵝類型

鴨子類型是程序設(shè)計(jì)中的推斷風(fēng)格,在鴨子類型中關(guān)注對象如何使用而不是類型本身。鴨子類型像多態(tài)一樣工作但是沒有繼承。鴨子類型的概念來自于:“當(dāng)看到一只鳥走起來像鴨子、游泳起來像鴨子、叫起來也像鴨子,那么這只鳥就可以被稱為鴨子。”

‘’‘遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書!’‘’# 定義狗類class Dog(object): def eat(self): print(“dog is eatting.。.”)# 定義貓類class Cat(object): def eat(self): print(“cat is eatting.。.”)# 定義鴨子類class Duck(object): def eat(self): print(“duck is eatting.。.”)# 以上Python中多態(tài)的體現(xiàn)# 定義動物列表an_li = []# 將動物添加到列表an_li.append(Dog)an_li.append(Cat)an_li.append(Duck)# 依次調(diào)用每個動物的eat()方法for i in an_li: i().eat()# dog is eatting.。.# cat is eatting.。.# duck is eatting.。.

白鵝類型是指只要 cls 是抽象基類,即 cls 的元類是 abc.ABCMeta ,就可以使用 isinstance(obj, cls)。

No.6 協(xié)議、 抽象基類、abc模塊和序列之間的繼承關(guān)系

協(xié)議:Python中的非正式接口,是允許Python實(shí)現(xiàn)多態(tài)的方式,協(xié)議是非正式的,不具備強(qiáng)制性,由約定和文檔定義。

接口:泛指實(shí)體把自己提供給外界的一種抽象化物(可以為另一實(shí)體),用以由內(nèi)部操作分離出外部溝通方法,使其能被內(nèi)部修改而不影響外界其他實(shí)體與其交互的方式。

我們可以使用猴子補(bǔ)丁來實(shí)現(xiàn)協(xié)議,那么什么是猴子補(bǔ)丁呢?

猴子補(bǔ)丁就是在運(yùn)行時修改模塊或類,不去修改源代碼,從而實(shí)現(xiàn)目標(biāo)協(xié)議接口操作,這就是所謂的打猴子補(bǔ)丁。

Tips:猴子補(bǔ)丁的叫法起源于Zope框架,開發(fā)人員在修改Zope的Bug時,經(jīng)常在程序后面追加更新的部分,這些雜牌軍補(bǔ)丁的英文名字叫做guerilla patch,后來寫成gorllia,接著就變成了monkey。

猴子補(bǔ)丁的主要作用是:

在運(yùn)行時替換方法、屬性

在不修改源代碼的情況下對程序本身添加之前沒有的功能

在運(yùn)行時對象中添加補(bǔ)丁,而不是在磁盤中的源代碼上

應(yīng)用案例:假設(shè)寫了一個很大的項(xiàng)目,處處使用了json模塊來解析json文件,但是后來發(fā)現(xiàn)ujson比json性能更高,修改源代碼是要修改很多處的,所以只需要在程序入口加入:

import json# pip install ujsonimport ujson def monkey_patch_json(): json.__name__ = ‘ujson’ json.dumps = ujson.dumps json.loads = ujson.loads monkey_patch_json()

Python 的抽象基類有一個重要實(shí)用優(yōu)勢:可以使用 register 類方法在終端用戶的代碼中把某個類 “聲明” 為一個抽象基類的 “虛擬” 子 類(為此,被注冊的類必腨滿足抽象其類對方法名稱和簽名的要求,最重要的是要滿足底 層語義契約;但是,開發(fā)那個類時不用了解抽象基類,更不用繼承抽象基類 。有時,為了讓抽象類識別子類,甚至不用注冊。要抑制住創(chuàng)建抽象基類的沖動。濫用抽象基類會造成災(zāi)難性后果,表明語言太注重表面形式 。

抽象基類不能被實(shí)例化(不能創(chuàng)建對象),通常是作為基類供子類繼承,子類中重寫虛函數(shù),實(shí)現(xiàn)具體的接口。

判定某個對象的類型

強(qiáng)制子類必須實(shí)現(xiàn)某些方法

抽象基類的定義與使用

import abc# 定義緩存類class Cache(metaclass=abc.ABCMeta): @abc.abstractmethod def get(self, key): pass @abc.abstractmethod def set(self, key, value): pass# 定義redis緩存類實(shí)現(xiàn)Cache類中的get()和set()方法class RedisCache(Cache): def set(self, key): pass def get(self, key, value): pass

值得注意的是:Python 3.0-Python3.3之間,繼承抽象基類的語法是class ClassName(metaclass=adc.ABCMeta),其他版本是:class ClassName(abc.ABC)。

collections.abc模塊中各個抽象基類的UML類圖

35個高級Python知識點(diǎn)總結(jié)

No.7 isinstence和type的區(qū)別

class A(object): passclass B(A): passb = B()print(isinstance(b, B))print(isinstance(b, A))print(type(b) is B)print(type(b) is A)# True# True# True# False

No.8 類變量和實(shí)例變量

實(shí)例變量只能通過類的實(shí)例進(jìn)行調(diào)用

修改模板對象創(chuàng)建的對象的屬性,模板對象的屬性不會改變

修改模板對象的屬性,由模板對象創(chuàng)建的對象的屬性會改變

‘’‘遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書!’‘’# 此處的類也是模板對象,Python中一切皆對象class A(object): #類變量 number = 12 def __init__(self): # 實(shí)例變量 self.number_2 = 13# 實(shí)例變量只能通過類的實(shí)例進(jìn)行調(diào)用print(A.number) # 12print(A().number) # 12print(A().number_2) # 13# 修改模板對象創(chuàng)建的對象的屬性,模板對象的屬性不會改變a = A()a.number = 18print(a.number) # 18print(A().number) # 12print(A.number) # 12# 修改模板對象的屬性,由模板對象創(chuàng)建的對象的屬性會改變A.number = 19print(A.number) # 19print(A().number) # 19

No.9 類和實(shí)例屬性以及方法的查找順序

在Python 2.2之前只有經(jīng)典類,到Python2.7還會兼容經(jīng)典類,Python3.x以后只使用新式類,Python之前版本也會兼容新式類

Python 2.2 及其之前類沒有基類,Python新式類需要顯式繼承自object,即使不顯式繼承也會默認(rèn)繼承自object

經(jīng)典類在類多重繼承的時候是采用從左到右深度優(yōu)先原則匹配方法的。而新式類是采用C3算法

經(jīng)典類沒有MRO和instance.mro()調(diào)用的

假定存在以下繼承關(guān)系:

class D(object): def say_hello(self): passclass E(object): passclass B(D): passclass C(E): passclass A(B, C): pass

采用DFS(深度優(yōu)先搜索算法)當(dāng)調(diào)用了A的say_hello()方法的時候,系統(tǒng)會去B中查找如果B中也沒有找到,那么去D中查找,很顯然D中存在這個方法,但是DFS對于以下繼承關(guān)系就會有缺陷:

class D(object): passclass B(D): passclass C(D): def say_hello(self): passclass A(B, C): pass

在A的實(shí)例對象中調(diào)用say_hello方法時,系統(tǒng)會先去B中查找,由于B類中沒有該方法的定義,所以會去D中查找,D類中也沒有,系統(tǒng)就會認(rèn)為該方法沒有定義,其實(shí)該方法在C中定義了。所以考慮使用BFS(廣度優(yōu)先搜索算法),那么問題回到第一個繼承關(guān)系,假定C和D具備重名方法,在調(diào)用A的實(shí)例的方法時,應(yīng)該先在B中查找,理應(yīng)調(diào)用D中的方法,但是使用BFS的時候,C類中的方法會覆蓋D類中的方法。在Python 2.3以后的版本中,使用C3算法:

# 獲取解析順序的方法類名.mro()類名.__mro__inspect.getmro(類名)

使用C3算法后的第二種繼承順序:

‘’‘遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書!’‘’class D(object): passclass B(D): passclass C(D): def say_hello(self): passclass A(B, C): passprint(A.mro()) # [《class ‘__main__.A’》, 《class ‘__main__.B’》, 《class ‘__main__.C’》, 《class ‘__main__.D’》, 《class ‘object’》]

使用C3算法后的第一種繼承順序:

class D(object): passclass E(object): passclass B(D): passclass C(E): passclass A(B, C): passprint(A.mro()) # [《class ‘__main__.A’》, 《class ‘__main__.B’》, 《class ‘__main__.D’》, 《class ‘__main__.C’》, 《class ‘__main__.E’》, 《class ‘object’》]

在這里僅介紹了算法的作用和演變歷史,關(guān)于深入詳細(xì)解析,請看我的其他文章——《從Python繼承談起,到C3算法落筆》。

No.10 類方法、實(shí)例方法和靜態(tài)方法

class Demo(object): # 類方法 @classmethod def class_method(cls, number): pass # 靜態(tài)方法 @staticmethod def static_method(number): pass # 對象方法/實(shí)例方法 def object_method(self, number): pass

實(shí)例方法只能通過類的實(shí)例來調(diào)用;靜態(tài)方法是一個獨(dú)立的、無狀態(tài)的函數(shù),緊緊依托于所在類的命名空間上;類方法在為了獲取類中維護(hù)的數(shù)據(jù),比如:

class Home(object): # 房間中人數(shù) __number = 0 @classmethod def add_person_number(cls): cls.__number += 1 @classmethod def get_person_number(cls): return cls.__number def __new__(self): Home.add_person_number() # 重寫__new__方法,調(diào)用object的__new__ return super().__new__(self)class Person(Home): def __init__(self): # 房間人員姓名 self.name = ‘name’ # 創(chuàng)建人員對象時調(diào)用Home的__new__()方法tom = Person()print(type(tom)) # 《class ‘__main__.Person’》alice = Person()bob = Person()test = Person()print(Home.get_person_number())

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2983

    瀏覽量

    106481
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4365

    瀏覽量

    63823
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4822

    瀏覽量

    85833
收藏 人收藏

    評論

    相關(guān)推薦

    電機(jī)選型計(jì)算公式與知識點(diǎn)匯總

    純分享帖,需要者可點(diǎn)擊附件獲取完整資料~~~*附件:電機(jī)選型計(jì)算公式與知識點(diǎn)匯總.pdf 【免責(zé)聲明】內(nèi)容轉(zhuǎn)自今日電機(jī),因轉(zhuǎn)載眾多,無法確認(rèn)真正原始作者,故僅標(biāo)明轉(zhuǎn)載來源。版權(quán)歸原出處所有,純分享帖,侵權(quán)請聯(lián)系刪除內(nèi)容以保證您的權(quán)益。
    發(fā)表于 04-29 16:10

    英偉達(dá)GTC2025大會關(guān)鍵信息點(diǎn)總結(jié) Blackwell Ultra 量子計(jì)算與機(jī)器人

    英偉達(dá) GTC 2025 大會關(guān)鍵信息點(diǎn)總結(jié)
    的頭像 發(fā)表于 03-20 14:18 ?413次閱讀

    電氣工程師必知必會的100個電?知識點(diǎn)分享

    電??程師也都是從電?學(xué)徒??步?步積累成長起來的。積跬步?千?,匯細(xì)流成江海!朋友們,現(xiàn)在讓我們??個捷徑,花半個?時的時間來積累100個必知必會的電?知識點(diǎn)吧!
    的頭像 發(fā)表于 03-14 11:05 ?490次閱讀

    Linux常用命令行總結(jié)

    學(xué)習(xí)了一段時間的linux之后,開始著手基本命令的學(xué)習(xí),這里主要記錄一些學(xué)習(xí)過程中重要的知識點(diǎn)供以后查閱。
    的頭像 發(fā)表于 03-03 10:40 ?357次閱讀
    Linux常用命令行<b class='flag-5'>總結(jié)</b>

    華邦電子安全閃存關(guān)鍵知識點(diǎn)

    黑客攻擊?高溫考驗(yàn)?駕駛安全?通通沒在怕的!1月15日,華邦電子舉辦了“安全閃存強(qiáng)化車用電子安全性”為主題的線上研討會。為了讓沒能參加這場線上研討會的邦友們也可以清晰 Get 安全閃存關(guān)鍵知識點(diǎn),邦
    的頭像 發(fā)表于 02-12 18:15 ?607次閱讀

    總結(jié)了8個常見的知識點(diǎn)

    各位朋友,大家好,這里是大話硬件。 周末在家學(xué)習(xí)是非常好的時間,把以前的東西梳理一下,就是非常不錯的題目。一起來看看吧~ 1、什么是建立時間和保持時間? 建立時間(Setup Time)是指被采樣的信號在時鐘信號到來之前,數(shù)據(jù)穩(wěn)定不變的時間。如果建立時間不夠,時鐘采到的數(shù)據(jù)可能剛好在數(shù)據(jù)的變化沿,那么寫入到觸發(fā)器中數(shù)據(jù)將是錯誤的。保持時間(Hold Time)是指穩(wěn)定的數(shù)據(jù)在被時鐘上升沿采樣后,數(shù)據(jù)還需要保持一定的時間,這個時間被
    的頭像 發(fā)表于 01-24 10:08 ?290次閱讀
    <b class='flag-5'>總結(jié)</b>了8個常見的<b class='flag-5'>知識點(diǎn)</b>

    Docker-鏡像的分層-busybox鏡像制作

    目錄 知識點(diǎn)1:鏡像的分層 示例:進(jìn)入 docker hub查看Jenkins的Dockerfile 知識點(diǎn)2:base鏡像 知識點(diǎn)3:scratch鏡像 scratch 鏡像是什么? 示例:在
    的頭像 發(fā)表于 01-15 10:44 ?434次閱讀
    Docker-鏡像的分層-busybox鏡像制作

    Aigtek功率放大器應(yīng)用:電感線圈的知識點(diǎn)分享

    電磁驅(qū)動是功率放大器的一大基礎(chǔ)應(yīng)用領(lǐng)域,其中我們最常見的就是用功放來驅(qū)動電感線圈,那么關(guān)于電感線圈的這10大知識點(diǎn)你都知道嗎?今天Aigtek安泰電子來給大家介紹一下電感線圈的基礎(chǔ)知識
    的頭像 發(fā)表于 01-07 15:43 ?385次閱讀
    Aigtek功率放大器應(yīng)用:電感線圈的<b class='flag-5'>知識點(diǎn)</b>分享

    華為云 Flexus X 實(shí)例下的場景體驗(yàn)——小企業(yè)使用 Python 語言——超迅速搭建簡單公網(wǎng) API 接口服務(wù)

    ,希望本文可以對小企業(yè)來說有一定的幫助作用。 目錄 前言 環(huán)境說明 連接并安裝 Python 環(huán)境 Python Web 接口編碼 上傳 WebAPI 接口代碼 安裝 flask
    的頭像 發(fā)表于 12-27 13:46 ?369次閱讀
    華為云 Flexus X 實(shí)例下的場景體驗(yàn)——小企業(yè)使用 <b class='flag-5'>Python</b> 語言——超迅速搭建簡單公網(wǎng) API 接口服務(wù)

    后悔沒有早點(diǎn)看到:天線設(shè)計(jì)中的知識點(diǎn)

    Cat.1 bis R13架構(gòu),天線架構(gòu)精簡為單天線架構(gòu),去掉了分集接收天線,因此只需要一根天線。 ? 知識點(diǎn): Cat.1 bis相對于Cat.1的區(qū)別是,后者為兩根天線(一根主天線,一根分集天線
    的頭像 發(fā)表于 12-24 17:11 ?861次閱讀
    后悔沒有早點(diǎn)看到:天線設(shè)計(jì)中的<b class='flag-5'>知識點(diǎn)</b>!

    Kaggle知識點(diǎn):使用大模型進(jìn)行特征篩選

    方法依賴于數(shù)據(jù)集中的樣本點(diǎn)進(jìn)行統(tǒng)計(jì)推斷,而基于文本的方法需要描述性的上下文以更好地在特征和目標(biāo)變量之間建立語義關(guān)聯(lián)。這種方法利用了大型語言模型(LLMs)中豐富的語
    的頭像 發(fā)表于 12-03 01:06 ?1568次閱讀
    Kaggle<b class='flag-5'>知識點(diǎn)</b>:使用大模型進(jìn)行特征篩選

    硬件工程師面試基礎(chǔ)知識點(diǎn)

    皮爾斯振蕩器(Pierce oscillator) 上圖中,U1為增益很大的反相放大器,CL1、CL2為匹配電容,是電容三點(diǎn)式電路的分壓電容,接地點(diǎn)就是分壓點(diǎn)。以接地點(diǎn)即分壓點(diǎn)為參考點(diǎn),輸入和輸出是反相的,但從并聯(lián)諧振回路即石英
    的頭像 發(fā)表于 11-21 11:04 ?585次閱讀
    硬件工程師面試基礎(chǔ)<b class='flag-5'>知識點(diǎn)</b>

    接口測試?yán)碚摗⒁蓡柺珍浥c擴(kuò)展相關(guān)知識點(diǎn)

    本文章使用王者榮耀游戲接口、企業(yè)微信接口的展示結(jié)合理論知識,講解什么是接口測試、接口測試?yán)碚摗⒁蓡柺珍浥c擴(kuò)展相關(guān)知識點(diǎn)知識學(xué)院,快來一起看看吧~
    的頭像 發(fā)表于 11-15 09:12 ?593次閱讀
    接口測試?yán)碚摗⒁蓡柺珍浥c擴(kuò)展相關(guān)<b class='flag-5'>知識點(diǎn)</b>

    MySQL知識點(diǎn)匯總

    大家好,這部分被稱為DQL部分,是每個學(xué)習(xí)MySQL必須要學(xué)會的部分,下面就讓我來介紹MySQL中的其他部分。
    的頭像 發(fā)表于 08-05 15:27 ?551次閱讀
    MySQL<b class='flag-5'>知識點(diǎn)</b>匯總

    模擬電子技術(shù)知識點(diǎn)問題總結(jié)概覽

    給大家分享模擬電子技術(shù)知識點(diǎn)問題總結(jié)
    的頭像 發(fā)表于 05-08 15:16 ?1396次閱讀
    模擬電子技術(shù)<b class='flag-5'>知識點(diǎn)</b>問題<b class='flag-5'>總結(jié)</b>概覽
    主站蜘蛛池模板: 爱爱免费视频 | 天堂中文最新版www 天堂资源8中文最新版在线 | 天天噜噜色 | 国产在线观看黄 | 狠狠色丁香婷婷综合欧美 | 久久国产伦三级理电影 | 色偷偷91久久综合噜噜噜噜 | 国产高清一区二区 | 亚洲电影二区 | bt种子在线搜索 | 国产香蕉视频在线 | 国产乱辈通伦影片在线播放 | 亚洲天堂网站在线 | 日本三级黄 | 日本不卡在线播放 | 色在线视频观看 | 久久精品国产精品亚洲婷婷 | 一级做a爱过程免费视 | 色狠狠一区二区 | 国产亚洲一区二区三区啪 | 中文字幕网资源站永久资源 | 禁漫羞羞入口 | 黄色网一级片 | 影院成人区精品一区二区婷婷丽春院影视 | 免费国产黄网站在线观看视频 | 欧美黄色片一级 | 97爱sese| 女人被男人免费播放网站 | 在线播放黄色 | 亚洲午夜在线观看 | www国产永久免费视频看看 | 亚洲你我色 | 一久久| videosgratis乱色欧美野外 | 高清精品女厕在线观看 | 热re66久久精品国产99热 | 狂捣猛撞侍卫攻双性王爷受 | 国产成人精品1024在线 | 中文天堂 | www性| 亚洲福利一区 |