久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

简明Python教程学习笔记_6_面向对象编程

發(fā)布時(shí)間:2024/7/23 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简明Python教程学习笔记_6_面向对象编程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

?

  • 面向?qū)ο?/strong>編程https://www.liaoxuefeng.com/wiki/897692888725344/923030496738368
  • 面向?qū)ο?/strong>高級(jí)編程https://www.liaoxuefeng.com/wiki/897692888725344/923030538012640

?

?

1、對(duì)象

?

類?和?對(duì)象?是面向?qū)ο缶幊痰膬蓚€(gè)主要方面。

  • 是創(chuàng)建一個(gè) 新類型
  • 對(duì)象是這個(gè)類 的 實(shí)例
類(Class)::用來描述具有相同的屬性和方法的對(duì)象的集合。它定義了該集合中每個(gè)對(duì)象所共有的屬性和方法。對(duì)象是類的實(shí)例。 對(duì)象 :通過類定義的數(shù)據(jù)結(jié)構(gòu)實(shí)例。對(duì)象包括兩個(gè)數(shù)據(jù)成員(類變量和實(shí)例變量)和方法。 實(shí)例化 :創(chuàng)建一個(gè)類的實(shí)例,類的具體對(duì)象。

方法:在 Python 中,方法(method)專指 "類中定義的函數(shù)",即在類中的函數(shù)才叫方法

方法?和?函數(shù)?在 python中是不同的概念,

  • 方法類中定義的函數(shù),即在類中的函數(shù)才叫方法
  • 函數(shù)是就是一般的函數(shù)
數(shù)據(jù)成員: 類變量或者實(shí)例變量用于處理類及其實(shí)例對(duì)象的相關(guān)的數(shù)據(jù)。 方法重載: 如果從父類繼承的方法不能滿足子類的需求,可以對(duì)其進(jìn)行改寫,這個(gè)過程叫方法的覆蓋(override),重載。 實(shí)例變量: 定義在方法中的變量,只作用于當(dāng)前實(shí)例的類。 類變量 : 類變量在整個(gè)實(shí)例化的對(duì)象中是公用的。類變量定義在類中且在函數(shù)體之外。類變量通常不作為實(shí)例變量使用。 繼承 : 即一個(gè)派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個(gè)派生類的對(duì)象作為一個(gè)基類對(duì)象對(duì)待。

給 C/C++/Java/C#程序員的注釋

注意:Python 中即便是整數(shù)也被作為對(duì)象 ( 屬于int類 )。這和 C++、Java(1.5版之前)把整數(shù)純粹作為類型是不同的。通過 help(int) 了解更多這個(gè)類的詳情。?
? ? ?C#和Java 1.5程序員會(huì)熟悉這個(gè)概念,因?yàn)樗愃婆c封裝與解封裝 的概念。
? ? ?對(duì)象可以使用普通的 屬于 對(duì)象的變量存儲(chǔ)數(shù)據(jù)。屬于一個(gè)對(duì)象或類的變量被稱為域。
? ? ?對(duì)象也可以使用 屬于類的函數(shù)來具有功能。這樣的函數(shù)被稱為類的方法。
? ? ?這些術(shù)語幫助我們把它們與孤立的函數(shù)和變量區(qū)分開來。域和方法可以合稱為類的屬性。
? ? ?域有兩種類型——屬于每個(gè)實(shí)例/類的對(duì)象或?qū)儆陬惐旧怼K鼈兎謩e被稱為實(shí)例變量和類變量。
? ? ?類使用class關(guān)鍵字創(chuàng)建。類的域和方法被列在一個(gè)縮進(jìn)塊中。

在 Python類中定義的方法通常有三種:實(shí)例方法、類方法、靜態(tài)方法。這三者之間的區(qū)別是:

  • 實(shí)例方法:一般都以 self 作為第一個(gè)參數(shù),必須和具體的對(duì)象實(shí)例進(jìn)行綁定才能訪問。實(shí)例方法的第一個(gè)參數(shù)是實(shí)例對(duì)象 self,那么通過 self 引用的可能是類屬性、也有可能是實(shí)例屬性(這個(gè)需要具體分析)。不過在存在相同名稱的類屬性和實(shí)例屬性的情況下,實(shí)例屬性優(yōu)先級(jí)更高。可以直接在類外通過對(duì)象名訪問,如果想定義成私有的,則需在前面加2個(gè)下劃線 ' __'
  • 類方法 ? ?:以 cls 作為第一個(gè)參數(shù),cls表示類本身,定義時(shí)使用@classmethod,那么通過 cls 引用的必定是類對(duì)象的屬性和方法;
  • 靜態(tài)方法:不需要默認(rèn)的任何參數(shù),跟一般的普通函數(shù)類似。定義的時(shí)候使用@staticmethod,靜態(tài)方法中不需要額外定義參數(shù),因此在靜態(tài)方法中引用類屬性的話,必須通過類對(duì)象來引用。

構(gòu)造方法 __init__() 析構(gòu)方法 __del__()

  • __init__(self) 方法是一種特殊的方法,被稱為類的構(gòu)造函數(shù)或初始化方法,當(dāng)創(chuàng)建了這個(gè)類的實(shí)例時(shí)就會(huì)調(diào)用該方法。構(gòu)造方法支持重載,如果沒有構(gòu)造方法,系統(tǒng)就自動(dòng)執(zhí)行默認(rèn)的構(gòu)造方法。
  • __del__(self) 方法也是一種特殊的方法,叫做 析構(gòu)方法。在釋放對(duì)象時(shí)調(diào)用,支持重載,可以在里面進(jìn)行一些釋放資源的操作,不需要顯示調(diào)用。

?

創(chuàng)建 實(shí)例對(duì)象?類的實(shí)例

?

要?jiǎng)?chuàng)建一個(gè) 類的實(shí)例,你可以使用類的名稱,并通過 __init__ 方法接受參數(shù)。

class Employee(object):def __init__(self, name, age):self.name = nameself.age = agepassdef __del__(self):passdef display_employee(self):print(f'name:{self.name}, age:{self.age}')emp1 = Employee("one", 2000) # "創(chuàng)建 Employee 類的第一個(gè)對(duì)象" emp2 = Employee("two", 5000) # "創(chuàng)建 Employee 類的第二個(gè)對(duì)象"

?

訪問 屬性

# 使用點(diǎn)(.)來訪問對(duì)象的屬性。使用如下類的名稱訪問類變量: emp1.display_employee() # 你可以添加,刪除,修改類的屬性,如下所示: emp1.age = 7 # 添加一個(gè) 'age' 屬性 emp1.age = 8 # 修改 'age' 屬性 del emp1.age # 刪除 'age' 屬性

示例:

class TestClass(object):name = 'TestClass'passobj = TestClass()t_name = getattr(obj, 'name') # 訪問對(duì)象的屬性。 print(t_name)is_have = hasattr(obj, 'name') # 檢查是否存在一個(gè)屬性。 print(is_have)setattr(obj, 'age', 100) # 設(shè)置一個(gè)屬性。如果屬性不存在,會(huì)創(chuàng)建一個(gè)新屬性。 # delattr(obj, 'name') # 刪除屬性。

?

Python內(nèi)置的?屬性

  • __dict__ : ?類的屬性(包含一個(gè)字典,由類的數(shù)據(jù)屬性組成)
  • __doc__ ?: ?類的文檔字符串
  • __name__ : ?類名
  • __module__: 類定義所在的模塊(類的全名是'__main__.className',如果類位于一個(gè)導(dǎo)入模塊mymod中,那么className.__module__ 等于 mymod)
  • __bases__ : 類的所有父類構(gòu)成元素(包含了以個(gè)由所有父類組成的元組) ?

?

Python對(duì)象 的 銷毀(垃圾回收)

在 Python 內(nèi)部記錄著所有使用中的對(duì)象各有多少引用。一個(gè)內(nèi)部跟蹤變量,稱為一個(gè)引用計(jì)數(shù)器。當(dāng)對(duì)象被創(chuàng)建時(shí), 就創(chuàng)建了一個(gè)引用計(jì)數(shù), 當(dāng)這個(gè)對(duì)象不再需要時(shí), 這個(gè)對(duì)象的引用計(jì)數(shù)變?yōu)? 時(shí),它被垃圾回收。但是回收不是"立即"的, 由解釋器在適當(dāng)?shù)臅r(shí)機(jī),將垃圾對(duì)象占用的內(nèi)存空間回收。

?

self 參數(shù)

?

類的方法普通的函數(shù)只有一個(gè)特別的區(qū)別:即?類的方法?第一個(gè)參數(shù)必須是 self。但是在調(diào)用這個(gè)方法的時(shí)候你不為這個(gè)參數(shù)賦值,Python會(huì)提供這個(gè)值。這個(gè)特別的變量指對(duì)象本身,按照慣例它的名稱是self。雖然你可以給這個(gè)參數(shù)任何名稱,但是 強(qiáng)烈建議 你使用self這個(gè)名稱——其他名稱都是不贊成你使用的。使用一個(gè)標(biāo)準(zhǔn)的名稱有很多優(yōu)點(diǎn)——你的程序讀者可以迅速識(shí)別它,如果使用self的話,還有些IDE(集成開發(fā)環(huán)境)也可以幫助你。

給C/C++/Java/C#程序員的注釋

Python 中的 self 等價(jià)于 C++ 中的 this?指針。

Python 如何給 self 賦值以及為何你不需要給它賦值?舉一個(gè)例子會(huì)使此變得清晰:假如你有一個(gè)類稱為 MyClass 和這個(gè)類的一個(gè)實(shí)例MyObject。當(dāng)你調(diào)用這個(gè)對(duì)象的方法 MyObject.method(arg1, arg2) 的時(shí)候,這會(huì)由 Python 自動(dòng)轉(zhuǎn)為 MyClass.method(MyObject, arg1, arg2),這就是self的原理了。這也意味著如果你有一個(gè)不需要參數(shù)的方法,你還是得給這個(gè)方法定義一個(gè)self 參數(shù)。

?

創(chuàng)建一個(gè)

?

#!/usr/bin/python # Filename: simplestclass.pyclass Person:pass # An empty blockp = Person() print(p)# 結(jié)果 # <__main__.Person object at 0x0000023C03EA97F0>

使用 class 后跟類名,創(chuàng)建一個(gè)新的類。這后面跟著一個(gè)縮進(jìn)的語句塊形成類體。這個(gè)例子中,使用 pass 語句表示空語句。然后使用類名后跟一對(duì)圓括號(hào)來創(chuàng)建一個(gè)對(duì)象/實(shí)例。為了驗(yàn)證,我們簡(jiǎn)單地打印了這個(gè)變量的類型。它告訴我們我們已經(jīng)在__main__模塊中有了一個(gè)Person類的實(shí)例。可以注意到存儲(chǔ)對(duì)象的計(jì)算機(jī)內(nèi)存地址也打印了出來。這個(gè)地址在你的計(jì)算機(jī)上會(huì)是另外一個(gè)值,因?yàn)镻ython可以在任何空位存儲(chǔ)對(duì)象。

?

使用 對(duì)象的方法

#!/usr/bin/python # Filename: method.pyclass Person:def sayHi(self):print('Hello, how are you?')p = Person() p.sayHi() # This short example can also be written as Person().sayHi()# 輸出 # $ python method.py # Hello, how are you?

這里可以看到 self 的用法。注意 sayHi 方法沒有任何參數(shù),但仍然在函數(shù)定義時(shí)有 self。

?

__init__?方法

?

在 Python 的類中,有很多方法的名字有特殊的重要意義。現(xiàn)在看下 __init__方法的意義。__init__ 方法在類的一個(gè)對(duì)象被建立時(shí),馬上運(yùn)行。這個(gè)方法可以用來對(duì)你的對(duì)象做一些你希望的 初始化 。注意,這個(gè)名稱的開始和結(jié)尾都是雙下劃線 __init__

#!/usr/bin/python # Filename: class_init.pyclass Person:def __init__(self, name):self.name = namedef sayHi(self):print('Hello, my name is', self.name)p = Person('Swaroop') p.sayHi()Person('Swaroop').sayHi()# 輸出 # $ python class_init.py # Hello, my name is Swaroop # Hello, my name is Swaroop

這個(gè)__init__方法有兩個(gè)參數(shù),分別是 selfname,方法里面是 self.name = name。注意它們是兩個(gè)不同的變量,盡管它們有相同的名字。點(diǎn)號(hào)使我們能夠區(qū)分它們。最重要的是,我們沒有專門調(diào)用__init__方法,只是在創(chuàng)建一個(gè)類的新實(shí)例的時(shí)候,把參數(shù)包括在圓括號(hào)內(nèi)跟在類名后面,從而傳遞給__init__方法。

給C/C++/Java/C#程序員的注釋:__init__方法類似于C++、C#和Java中的 constructor 。

?

?

2、類?與?對(duì)象的方法

?

已經(jīng)討論了類與對(duì)象的功能部分,現(xiàn)在來看一下它的數(shù)據(jù)部分。

事實(shí)上,它們只是與類和對(duì)象的名稱空間 綁定 的普通變量,即這些名稱只在這些類與對(duì)象的前提下有效。

兩種類型的 域 ——類的變量(屬于類 的作用域)對(duì)象的變量(屬于實(shí)例的作用域),它們根據(jù)是類還是對(duì)象 擁有 這個(gè)變量而區(qū)分。

類的變量 由一個(gè)類的所有對(duì)象(實(shí)例)共享使用。只有一個(gè)類變量的拷貝,所以當(dāng)某個(gè)對(duì)象對(duì)類的變量做了改動(dòng)的時(shí)候,這個(gè)改動(dòng)會(huì)反映到所有其他的實(shí)例上。

對(duì)象的變量 由類的每個(gè)對(duì)象/實(shí)例擁有。因此每個(gè)對(duì)象有自己對(duì)這個(gè)域的一份拷貝,即它們不是共享的,在同一個(gè)類的不同實(shí)例中,雖然對(duì)象的變量有相同的名稱,但是是互不相關(guān)的。通過一個(gè)例子會(huì)使這個(gè)易于理解。

?

使用 對(duì)象?的 變量

?

#!/usr/bin/python # Filename: objvar.pyclass Person:"""Represents a person."""population = 0def __init__(self, name):"""Initializes the person's data."""self.name = nameprint('(Initializing %s)' % self.name)# When this person is created, he/she# adds to the populationPerson.population += 1def __del__(self):"""I am dying."""print('%s says bye.' % self.name)Person.population -= 1if Person.population == 0:print('I am the last one.')else:print('There are still %d people left.'% Person.population)def sayHi(self):"""Greeting by the person.Really, that's all it does."""print('Hi, my name is %s.' % self.name)def howMany(self):"""Prints the current population."""if Person.population == 1:print('I am the only person here.')else:print('We have %d persons here.'% Person.population)swaroop = Person('Swaroop') swaroop.sayHi() swaroop.howMany()kalam = Person('Abdul Kalam') kalam.sayHi() kalam.howMany()swaroop.sayHi() swaroop.howMany()

結(jié)果:

(Initializing Swaroop) Hi, my name is Swaroop. I am the only person here. (Initializing Abdul Kalam) Hi, my name is Abdul Kalam. We have 2 persons here. Hi, my name is Swaroop. We have 2 persons here. Swaroop says bye. There are still 1 people left. Abdul Kalam says bye. I am the last one.

這里,

  • population 屬于 Person類因此是一個(gè)類的變量
  • name變量?屬于?對(duì)象(它使用self賦值),因此是對(duì)象的變量

在 __init__ 方法中,我們讓 population 增加1,這是因?yàn)槲覀冊(cè)黾恿艘粋€(gè)人。同樣可以發(fā)現(xiàn),self.name 的值根據(jù)每個(gè)對(duì)象指定,這表明了它作為對(duì)象的變量的本質(zhì)。

記住,你只能使用 self變量 來 引用 同一個(gè)對(duì)象的變量和方法。

在這個(gè)程序中,還可以看到 docstring 對(duì)于類和方法同樣有用。我們可以在運(yùn)行時(shí)使用 Person.__doc__ 和 Person.sayHi.__doc__來分別訪問類與方法的文檔字符串,就如同 __init__ 方法一樣,還有一個(gè)特殊的方法 __del__,它在對(duì)象消逝的時(shí)候被調(diào)用。對(duì)象消逝即對(duì)象不再被使用,它所占用的內(nèi)存將返回給系統(tǒng)作它用。在這個(gè)方法里面,我們只是簡(jiǎn)單地把 Person.population 減 1。
當(dāng)對(duì)象不再被使用時(shí),__del__方法運(yùn)行,但很難保證這個(gè)方法究竟在 什么時(shí)候 運(yùn)行。如果你想要指明它的運(yùn)行,你就得使用 del 語句。

?

給C/C++/Java/C#程序員的注釋

  • Python 中所有的?類成員(包括數(shù)據(jù)成員)都是 公共的 ,所有的方法都是 有效的 。
  • 只有一個(gè)例外:如果你使用的數(shù)據(jù)成員名稱以 "雙下劃線前綴", 比如 __privatevar,Python 的名稱管理體系會(huì)有效地把它作為私有變量
  • 這樣就有一個(gè)慣例,如果某個(gè)變量?只想在類或?qū)ο笾惺褂?/strong>,就應(yīng)該以 "單下劃線前綴"。而其他的名稱都將作為公共的,可以被其他類/對(duì)象使用。記住這只是一個(gè)慣例,并不是Python所要求的(與雙下劃線前綴不同)。
  • 同樣,注意 __del__ 方法與 destructor 的概念類似。

?

?

3、繼承

?

面向?qū)ο蟮木幊處淼闹饕锰幹皇谴a的重用,實(shí)現(xiàn)這種重用的方法之一是通過 繼承 機(jī)制。繼承完全可以理解成:類之間的類型和子類型 關(guān)系。
假設(shè)寫個(gè)程序來記錄學(xué)校中教師和學(xué)生情況。他們有一些共同屬性,比如姓名、年齡和地址。他們也有專有的屬性,比如教師的薪水、課程和假期,學(xué)生的成績(jī)和學(xué)費(fèi)。
可以為教師和學(xué)生建立兩個(gè)獨(dú)立的類來處理它們,但這樣做的話,如果要增加一個(gè)新的共有屬性,就意味著要在這兩個(gè)獨(dú)立的類中都增加這個(gè)屬性。這很快就會(huì)顯得不實(shí)用。
一個(gè)比較好的方法是創(chuàng)建一個(gè)共同的類稱為SchoolMember然后讓教師和學(xué)生的類 繼承 這個(gè)共同的類。即它們都是這個(gè)類型(類)的子類型,然后我們?cè)贋檫@些子類型添加專有的屬性。使用這種方法有很多優(yōu)點(diǎn)。如果我們?cè)黾?改變了SchoolMember中的任何功能,它會(huì)自動(dòng)地反映到子類型之中。例如,你要為教師和學(xué)生都增加一個(gè)新的身份證域,那么你只需簡(jiǎn)單地把它加到SchoolMember類中。然而,在一個(gè)子類型之中做的改動(dòng)不會(huì)影響到別的子類型。另外一個(gè)優(yōu)點(diǎn)是你可以把教師和學(xué)生對(duì)象都作為SchoolMember對(duì)象來使用,這在某些場(chǎng)合特別有用,比如統(tǒng)計(jì)學(xué)校成員的人數(shù)。一個(gè)子類型在任何需要父類型的場(chǎng)合可以被替換成父類型,即對(duì)象可以被視作是父類的實(shí)例,這種現(xiàn)象被稱為多態(tài)現(xiàn)象。另外,我們會(huì)發(fā)現(xiàn)在 重用 父類的代碼的時(shí)候,我們無需在不同的類中重復(fù)它。而如果我們使用獨(dú)立的類的話,我們就不得不這么做了。
在上述的場(chǎng)合中,SchoolMember類被稱為 基本類 或 超類 。而Teacher和Student類被稱為導(dǎo)出類 或子類 。
現(xiàn)在,我們將學(xué)習(xí)一個(gè)例子程序。

?

使用繼承

?

# !/usr/bin/python # Filename: inherit.pyclass SchoolMember:"""Represents any school member."""def __init__(self, name, age):self.name = nameself.age = ageprint('(Initialized SchoolMember: %s)' % self.name)def tell(self):"""Tell my details."""print('Name:"%s" Age:"%s"' % (self.name, self.age))class Teacher(SchoolMember):"""Represents a teacher."""def __init__(self, name, age, salary):SchoolMember.__init__(self, name, age)self.salary = salaryprint('(Initialized Teacher: %s)' % self.name)def tell(self):SchoolMember.tell(self)print('Salary: "%d"' % self.salary)class Student(SchoolMember):"""Represents a student."""def __init__(self, name, age, marks):SchoolMember.__init__(self, name, age)self.marks = marksprint('(Initialized Student: %s)' % self.name)def tell(self):SchoolMember.tell(self)print('Marks: "%d"' % self.marks)t = Teacher('Mrs. Shrividya', 40, 30000) s = Student('Swaroop', 22, 75)print() # prints a blank linemembers = [t, s] for member in members:member.tell() # works for both Teachers and Students# 輸出 # (Initialized SchoolMember: Mrs. Shrividya) # (Initialized Teacher: Mrs. Shrividya) # (Initialized SchoolMember: Swaroop) # (Initialized Student: Swaroop) # # Name:"Mrs. Shrividya" Age:"40" # Salary: "30000" # Name:"Swaroop" Age:"22" # Marks: "75"

為了使用繼承,我們把基本類的名稱作為一個(gè)元組跟在定義類時(shí)的類名稱之后。然后,我們注意到基本類的__init__方法專門使用self變量調(diào)用,這樣我們就可以初始化對(duì)象的基本類部分。這一點(diǎn)十分重要——Python不會(huì)自動(dòng)調(diào)用基本類的constructor,你得親自專門調(diào)用它。我們還觀察到我們?cè)诜椒ㄕ{(diào)用之前加上類名稱前綴,然后把self變量及其他參數(shù)傳遞給它。注意,在我們使用SchoolMember類的tell方法的時(shí)候,我們把Teacher和Student的實(shí)例僅僅作為SchoolMember的實(shí)例。另外,在這個(gè)例子中,我們調(diào)用了子類型的tell方法,而不是SchoolMember類的tell方法。可以這樣來理解,Python總是首先查找對(duì)應(yīng)類型的方法,在這個(gè)例子中就是如此。如果它不能在導(dǎo)出類中找到對(duì)應(yīng)的方法,它才開始到基本類中逐個(gè)查找。基本類是在類定義的時(shí)候,在元組之中指明的。一個(gè)術(shù)語的注釋——如果在繼承元組中列了一個(gè)以上的類,那么它就被稱作 多重繼承 。

?

繼承語法 :

基類名寫在括號(hào)里,基本類是在類定義的時(shí)候,在元組之中指明的。

class 派生類名( 基類1,[基類2, 基類3, ... 基類N] ):pass

示例:

class SubClassName (ParentClass1[, ParentClass2, ...]):'Optional class documentation string'class_suite

?

單繼承

?

示例:

# coding=utf-8 # !/usr/bin/python class Parent: # 定義父類parentAttr = 100def __init__(self):print("調(diào)用父類構(gòu)造函數(shù)")def parentMethod(self):print('調(diào)用父類方法')def setAttr(self, attr):Parent.parentAttr = attrdef getAttr(self):print("父類屬性 :", Parent.parentAttr)class Child(Parent): # 定義子類def __init__(self):print("調(diào)用子類構(gòu)造方法")def childMethod(self):print('調(diào)用子類方法 child method')c = Child() # 實(shí)例化子類 c.childMethod() # 調(diào)用子類的方法 c.parentMethod() # 調(diào)用父類方法 c.setAttr(200) # 再次調(diào)用父類的方法 c.getAttr() # 再次調(diào)用父類的方法

執(zhí)行結(jié)果如下:

調(diào)用子類構(gòu)造方法 調(diào)用子類方法 child method 調(diào)用父類方法 父類屬性 : 200

?

多繼承

?

class A: # 定義類 A
? ? .....
class B: # 定義類 B
? ? .....
class C(A, B): # 繼承類 A 和 B
? ? .....
你可以使用issubclass()或者isinstance()方法來檢測(cè)。
issubclass() - 布爾函數(shù)判斷一個(gè)類是另一個(gè)類的子類或者子孫類,語法:issubclass(sub,sup)
isinstance(obj, Class) 布爾函數(shù)如果obj是Class類的實(shí)例對(duì)象或者是一個(gè)Class子類的實(shí)例對(duì)象則返回true。

?

在 Python 中繼承中的一些特點(diǎn):

1:在繼承中基類的構(gòu)造(__init__()方法)不會(huì)被自動(dòng)調(diào)用,它需要在其派生類的構(gòu)造中親自專門調(diào)用。 2:在調(diào)用基類的方法時(shí),需要加上基類的類名前綴,且需要帶上self參數(shù)變量。區(qū)別于在類中調(diào)用普通函數(shù)時(shí)并不需要帶上self參數(shù) 3:Python總是首先查找對(duì)應(yīng)類型的方法,如果它不能在派生類中找到對(duì)應(yīng)的方法,它才開始到基類中逐個(gè)查找。(先在本類中查找調(diào)用的方法,找不到才去基類中找)。 如果在繼承元組中列了一個(gè)以上的類,那么它就被稱作"多重繼承" 。

?

super()? 【繼承順序說明】

?

在 Python 類的方法(method)中,要調(diào)用父類的某個(gè)方法,在Python 2.2以前,通常的寫法如下:

class A:def __init__(self):print "enter A"print "leave A"class B(A):def __init__(self):print "enter B"A.__init__(self)print "leave B">>> b = B() enter B enter A leave A leave B

使用非綁定的類方法(用類名來引用的方法),并在參數(shù)列表中,引入待綁定的對(duì)象(self),從而達(dá)到調(diào)用父類的目的。這樣做的缺點(diǎn)是,當(dāng)一個(gè)子類的父類發(fā)生變化時(shí)(如類B的父類由A變?yōu)镃時(shí)),必須遍歷整個(gè)類定義,把所有的通過非綁定的方法的類名全部替換過來,例如下面代碼,

class B(C): # A --> Cdef __init__(self):print "enter B"C.__init__(self) # A --> Cprint "leave B"

如果代碼簡(jiǎn)單,這樣的改動(dòng)或許還可以接受。但如果代碼量龐大,這樣的修改可能是災(zāi)難性的。因此,自Python 2.2開始,Python 添加了一個(gè)關(guān)鍵字 super,來解決這個(gè)問題。

class A(object): # A must be new-style classdef __init__(self):print "enter A"print "leave A"class B(C): # A --> Cdef __init__(self):print "enter B"super(B, self).__init__()print "leave B"

嘗試執(zhí)行上面同樣的代碼,結(jié)果一致,但修改的代碼只有一處,把代碼的維護(hù)量降到最低,是一個(gè)不錯(cuò)的用法。因此在開發(fā)過程中,super 關(guān)鍵字被大量使用,

在我們的印象中,對(duì)于 super(B, self).__init__() 是這樣理解的:super(B, self) 首先找到B的父類(就是類A),然后把類B的對(duì)象 self 轉(zhuǎn)換為類A的對(duì)象,然后 "被轉(zhuǎn)換"?的類A對(duì)象調(diào)用自己的__init__函數(shù)。考慮到 super 中只有指明子類的機(jī)制,因此,在多繼承的類定義中,通常我們保留使用類似代碼段1的方法。

有一天某同事設(shè)計(jì)了一個(gè)相對(duì)復(fù)雜的類體系結(jié)構(gòu)(我們先不要管這個(gè)類體系設(shè)計(jì)得是否合理,僅把這個(gè)例子作為一個(gè)題目來研究就好),代碼如下:

class A(object):def __init__(self):print "enter A"print "leave A"class B(object):def __init__(self):print "enter B"print "leave B"class C(A):def __init__(self):print "enter C"super(C, self).__init__()print "leave C"class D(A):def __init__(self):print "enter D"super(D, self).__init__()print "leave D"class E(B, C):def __init__(self):print "enter E"B.__init__(self)C.__init__(self)print "leave E"class F(E, D):def __init__(self):print "enter F"E.__init__(self)D.__init__(self)print "leave F"f = F()結(jié)果: enter F enter E enter B leave B enter C enter D enter A leave A leave D leave C leave E enter D enter A leave A leave D leave F

明顯地,類A和類D的初始化函數(shù)被重復(fù)調(diào)用了2次,這并不是我們所期望的結(jié)果!我們所期望的結(jié)果是最多只有類A的初始化函數(shù)被調(diào)用2次——其實(shí)這是多繼承的類體系必須面對(duì)的問題。我們把代碼段4的類體系畫出來,如下圖:

按我們對(duì) super 的理解,從圖中可以看出,在調(diào)用類C的初始化函數(shù)時(shí),應(yīng)該是調(diào)用類A的初始化函數(shù),但事實(shí)上卻調(diào)用了類D的初始化函數(shù)。好一個(gè)詭異的問題!

也就是說,mro中記錄了一個(gè)類的所有基類的類類型序列。查看 mro 的記錄,發(fā)覺包含7個(gè)元素,7個(gè)類名分別為:F E B C D A object

從而說明了為什么在 C.__init__ 中使用 super(C, self).__init__() 會(huì)調(diào)用類D的初始化函數(shù)了。?

我們把代碼段改寫為:

class A(object):def __init__(self):print "enter A"super(A, self).__init__() # newprint "leave A"class B(object):def __init__(self):print "enter B"super(B, self).__init__() # newprint "leave B"class C(A):def __init__(self):print "enter C"super(C, self).__init__()print "leave C"class D(A):def __init__(self):print "enter D"super(D, self).__init__()print "leave D" class E(B, C):def __init__(self):print "enter E"super(E, self).__init__() # changeprint "leave E"class F(E, D):def __init__(self):print "enter F"super(F, self).__init__() # changeprint "leave F"f = F()結(jié)果: enter F enter E enter B enter C enter D enter A leave A leave D leave C leave B leave E leave F

明顯地,F 的初始化不僅完成了所有的父類的調(diào)用,而且保證了每一個(gè)父類的初始化函數(shù)只調(diào)用一次。再看類結(jié)構(gòu):

E-1,D-2 是 F 的父類,其中表示 E類在前,即 F(E,D)。所以初始化順序可以從類結(jié)構(gòu)圖來看出 : F --->?E ---> B --> C --> D --> A

由于C,D 有同一個(gè)父類,因此會(huì)先初始化 D 再是 A。

延續(xù)的討論

  我們?cè)僦匦驴瓷厦娴念愺w系圖,如果把每一個(gè)類看作圖的一個(gè)節(jié)點(diǎn),每一個(gè)從子類到父類的直接繼承關(guān)系看作一條有向邊,那么該體系圖將變?yōu)橐粋€(gè)有向圖。不能發(fā)現(xiàn)mro的順序正好是該有向圖的一個(gè)拓?fù)渑判蛐蛄小?/p>

  從而,我們得到了另一個(gè)結(jié)果——Python是如何去處理多繼承。支持多繼承的傳統(tǒng)的面向?qū)ο蟪绦蛘Z言(如C++)是通過虛擬繼承的方式去實(shí)現(xiàn)多繼承中父類的構(gòu)造函數(shù)被多次調(diào)用的問題,而Python則通過mro的方式去處理。

  但這給我們一個(gè)難題:對(duì)于提供類體系的編寫者來說,他不知道使用者會(huì)怎么使用他的類體系,也就是說,不正確的后續(xù)類,可能會(huì)導(dǎo)致原有類體系的錯(cuò)誤,而且這樣的錯(cuò)誤非常隱蔽的,也難于發(fā)現(xiàn)。

小結(jié)

  • 1. super 并不是一個(gè)函數(shù),是一個(gè)類名,形如super(B, self)事實(shí)上調(diào)用了super類的初始化函數(shù),產(chǎn)生了一個(gè)super對(duì)象;
  • 2. super類的初始化函數(shù)并沒有做什么特殊的操作,只是簡(jiǎn)單記錄了類類型和具體實(shí)例;
  • 3. super(B, self).func的調(diào)用并不是用于調(diào)用當(dāng)前類的父類的func函數(shù);
  • 4. Python的多繼承類是通過mro的方式來保證各個(gè)父類的函數(shù)被逐一調(diào)用,而且保證每個(gè)父類函數(shù)只調(diào)用一次(如果每個(gè)類都使用super);
  • 5. 混用super類和非綁定的函數(shù)是一個(gè)危險(xiǎn)行為,這可能導(dǎo)致應(yīng)該調(diào)用的父類函數(shù)沒有調(diào)用或者一個(gè)父類函數(shù)被調(diào)用多次。

示例:

class A(object):x = 1class B(A):passclass C(A):passclass D(B, C):passprint(A.x, B.x, C.x, D.x) # 1 1 1 1C.x = 2 print(A.x, B.x, C.x, D.x) # 1 1 2 2B.x = 3 print(A.x, B.x, C.x, D.x) # 1 3 2 3

?

方法重寫

?

如果你的父類方法的功能不能滿足你的需求,你可以在子類重寫你父類的方法,示例:

#coding=utf-8 #!/usr/bin/python class Parent: # 定義父類def myMethod(self):print '調(diào)用父類方法'class Child(Parent): # 定義子類def myMethod(self):print '調(diào)用子類方法'c = Child() # 子類實(shí)例 c.myMethod() # 子類調(diào)用重寫方法

輸出結(jié)果如下:

調(diào)用子類方法 基礎(chǔ)重載方法

?

Python?運(yùn)算符重載

?

示例:

#!/usr/bin/python class Vector:def __init__(self, a, b):self.a = aself.b = bdef __str__(self):return 'Vector (%d, %d)' % (self.a, self.b)def __add__(self,other):return Vector(self.a + other.a, self.b + other.b)v1 = Vector(2,10) v2 = Vector(5,-2) print v1 + v2 以上代碼執(zhí)行結(jié)果如下所示: Vector(7,8)

屬性方法

  • 類?私有屬性:__private_attrs:兩個(gè)下劃線開頭,聲明該屬性為私有,不能在類地外部被使用或直接訪問。在類內(nèi)部的方法中使用時(shí) self.__private_attrs。
  • 類?方法 ? ?:以cls作為第一個(gè)參數(shù),cls表示類本身,定義時(shí)使用@classmethod,那么通過cls引用的必定是類對(duì)象的屬性和方法;

實(shí)例方法:一般都以self作為第一個(gè)參數(shù),必須和具體的對(duì)象實(shí)例進(jìn)行綁定才能訪問,

靜態(tài)方法:不需要默認(rèn)的任何參數(shù),跟一般的普通函數(shù)類似。定義的時(shí)候使用@staticmethod,靜態(tài)方法中不需要額外定義參數(shù),因此在靜態(tài)方法中引用類屬性的話,必須通過類對(duì)象來引用。

# coding=utf-8 # !/usr/bin/python class JustCounter:__secretCount = 0 # 私有變量publicCount = 0 # 公開變量def count(self):self.__secretCount += 1self.publicCount += 1print(self.__secretCount)counter = JustCounter() counter.count() counter.count() print(counter.publicCount) print(counter.__secretCount) # 報(bào)錯(cuò),實(shí)例不能訪問私有變量

上面代碼最后一行報(bào)錯(cuò),因?yàn)?Python不允許 實(shí)例化的對(duì)象 訪問私有數(shù)據(jù)但你可以使用 object._className__attrName 訪問屬性。

將上面最后一行代碼換成:print(counter._JustCounter__secretCount)? 即可訪問私有屬性

?

python _、__和__xx__的區(qū)別

?

來源:http://www.cnblogs.com/coder2012/p/4423356.html

來源:https://segmentfault.com/a/1190000002611411

http://stackoverflow.com/questions/1301346/the-meaning-of-a-single-and-a-double-underscore-before-an-object-name-in-python
http://www.zhihu.com/question/19754941

?

"_"單下劃線

Python 中不存在真正的私有方法。為了實(shí)現(xiàn)類似于 C++ 中私有方法,可以在類的方法或?qū)傩郧凹右粋€(gè) "_"?單下劃線,意味著該方法或?qū)傩圆粦?yīng)該去調(diào)用,它并不屬于API。

在使用 property 時(shí),經(jīng)常出現(xiàn)這個(gè)問題:

class BaseForm(StrAndUnicode):...def _get_errors(self):"Returns an ErrorDict for the data provided for the form"if self._errors is None:self.full_clean()return self._errorserrors = property(_get_errors)

上面的代碼片段來自于 django 源碼(django/forms/forms.py)。這里的 errors 是一個(gè)屬性,屬于 API 的一部分,但是 _get_errors 是私有的,是不應(yīng)該訪問的,但可以通過 errors 來訪問該錯(cuò)誤結(jié)果。

?

"__"雙下劃線

這個(gè)雙下劃線更會(huì)造成更多混亂,但它并不是用來標(biāo)識(shí)一個(gè)方法或?qū)傩允撬接械?#xff0c;真正作用是用來避免子類覆蓋其內(nèi)容。

讓我們來看一個(gè)例子:

class A(object): def __method(self): print "I'm a method in A" def method(self): self.__method() a = A() a.method()

輸出是這樣的:

$ python example.py I'm a method in A

很好,出現(xiàn)了預(yù)計(jì)的結(jié)果。 現(xiàn)在我們給A添加一個(gè)子類,并重新實(shí)現(xiàn)一個(gè)__method:

class B(A): def __method(self): print "I'm a method in B" b = B() b.method()

現(xiàn)在,結(jié)果是這樣的:

$ python example.py I'm a method in A

就像我們看到的一樣,B.method()不能調(diào)用B.__method的方法。實(shí)際上,它是"__"兩個(gè)下劃線的功能的正常顯示。

因此,在我們創(chuàng)建一個(gè)以"__"兩個(gè)下劃線開始的方法時(shí),這意味著這個(gè)方法不能被重寫,它只允許在該類的內(nèi)部中使用。

在Python中如是做的?很簡(jiǎn)單,它只是把方法重命名了,如下:?

a = A() a._A__method() # never use this!! please! $ python example.py I'm a method in A

如果你試圖調(diào)用a.__method,它還是無法運(yùn)行的,就如上面所說,只可以在類的內(nèi)部調(diào)用__method。

?

"__xx__"前后各雙下劃線 (特殊的屬性和方法)

當(dāng)你看到"__this__"的時(shí),就知道不要調(diào)用它。為什么?因?yàn)樗囊馑际撬怯糜赑ython調(diào)用的,如下:

>>> name = "igor" >>> name.__len__() 4 >>> len(name) 4 >>> number = 10 >>> number.__add__(20) 30 >>> number + 20 30

“__xx__”經(jīng)常是操作符或本地函數(shù)調(diào)用的magic methods。在上面的例子中,提供了一種重寫類的操作符的功能。

在特殊的情況下,它只是python調(diào)用的hook。例如,__init__()函數(shù)是當(dāng)對(duì)象被創(chuàng)建初始化時(shí)調(diào)用的;__new__()是用來創(chuàng)建實(shí)例。

class CrazyNumber(object):def __init__(self, n): self.n = n def __add__(self, other): return self.n - other def __sub__(self, other): return self.n + other def __str__(self): return str(self.n) num = CrazyNumber(10) print num # 10 print num + 5 # 5 print num - 20 # 30

另一個(gè)例子

class Room(object):def __init__(self): self.people = [] def add(self, person): self.people.append(person) def __len__(self): return len(self.people)room = Room() room.add("Igor") print len(room) # 1

?

結(jié)論

  • 使用 _one_underline 來表示該方法或?qū)傩允撬接械?#xff0c;不屬于API;
  • 當(dāng)創(chuàng)建一個(gè)用于 python 調(diào)用或一些特殊情況時(shí),使用 __two_underline__;
  • 使用 __just_to_underlines,來避免子類的重寫!

?

?

4、Python中面向?qū)ο?/span>編程

?

一. 如何定義一個(gè)類

  在進(jìn)行python面向?qū)ο缶幊讨?#xff0c;先來了解幾個(gè)術(shù)語:類,類對(duì)象,實(shí)例對(duì)象,屬性,函數(shù)和方法。

  類是對(duì)現(xiàn)實(shí)世界中一些事物的封裝,定義一個(gè)類可以采用下面的方式來定義:

class className: // blockpass

  注意類名后面有個(gè)冒號(hào),在 block 塊里面就可以定義屬性和方法了。當(dāng)一個(gè)類定義完之后,就產(chǎn)生了一個(gè)類對(duì)象。類對(duì)象支持兩種操作:引用和實(shí)例化。引用操作是通過類對(duì)象去調(diào)用類中的屬性或者方法,而實(shí)例化是產(chǎn)生出一個(gè)類對(duì)象的實(shí)例,稱作實(shí)例對(duì)象。比如定義了一個(gè)people類:

class People:name = 'jack' # 定義一個(gè) 類 的 屬性 # 定義一個(gè) 實(shí)例 的 方法 def printName(self):print(self.name)

  people類定義完成之后就產(chǎn)生了一個(gè)全局的類對(duì)象,可以通過類對(duì)象來訪問類中的屬性和方法了。當(dāng)通過people.name(至于為什么可以直接這樣訪問屬性后面再解釋,這里只要理解類對(duì)象這個(gè)概念就行了)來訪問時(shí),people.name中的people稱為類對(duì)象,這點(diǎn)和C++中的有所不同。當(dāng)然還可以進(jìn)行實(shí)例化操作,p=people( ),這樣就產(chǎn)生了一個(gè)people的實(shí)例對(duì)象,此時(shí)也可以通過實(shí)例對(duì)象p來訪問屬性或者方法了(p.name).

  理解了類、類對(duì)象和實(shí)例對(duì)象的區(qū)別之后,我們來了解一下Python中屬性、方法和函數(shù)的區(qū)別。

  在上面代碼中注釋的很清楚了,name是一個(gè)屬性,printName( )是一個(gè)方法,與某個(gè)對(duì)象進(jìn)行綁定的函數(shù)稱作為方法。一般在類里面定義的函數(shù)與類對(duì)象或者實(shí)例對(duì)象綁定了,所以稱作為方法;而在類外定義的函數(shù)一般沒有同對(duì)象進(jìn)行綁定,就稱為函數(shù)。

?

二. 屬性

在類中我們可以定義一些屬性,比如: class People:name = 'jack'age = 12p = People() print(p.name, p.age)

  定義了一個(gè) People 類,里面定義了name和age屬性,默認(rèn)值分別為'jack'和12。在定義了類之后,就可以用來產(chǎn)生實(shí)例化對(duì)象了,這句p = People( )實(shí)例化了一個(gè)對(duì)象p,然后就可以通過p來讀取屬性了。這里的name和age都是公有的,可以直接在類外通過對(duì)象名訪問,如果想定義成私有的,則需在前面加2個(gè)下劃線 ' __'。

class People:__name = 'jack'__age = 12p = People() print(p.__name, p.__age)

  這段程序運(yùn)行會(huì)報(bào)錯(cuò):

Traceback?(most?recent?call?last):??File?"C:/PycharmProjects/FirstProject/oop.py",?line?6,?in?<module>??print?p.__name,p.__age?? AttributeError:?people?instance?has?no?attribute?'__name??

  提示找不到該屬性,因?yàn)樗接袑傩允遣荒軌蛟陬愅馔ㄟ^對(duì)象名來進(jìn)行訪問的。在Python中沒有像C++中public和private這些關(guān)鍵字來區(qū)別公有屬性和私有屬性,它是以屬性命名方式來區(qū)分,如果在屬性名前面加了2個(gè)下劃線'__',則表明該屬性是私有屬性,否則為公有屬性(方法也是一樣,方法名前面加了2個(gè)下劃線的話表示該方法是私有的,否則為公有的)。

?

三. 方法

在類中可以根據(jù)需要定義一些方法,定義方法采用def關(guān)鍵字,在類中定義的方法至少會(huì)有一個(gè)參數(shù),一般以名為'self'的變量作為該參數(shù)(用其他名稱也可以),而且需要作為第一個(gè)參數(shù)。下面看個(gè)例子: class People:__name = 'jack'__age = 12def getName(self):return self.__namedef getAge(self):return self.__agep = People() print(p.getName(), p.getAge())

  如果對(duì) self 不好理解的話,可以把它當(dāng)做C++中類里面的this指針一樣理解,就是對(duì)象自身的意思,在用某個(gè)對(duì)象調(diào)用該方法時(shí),就將該對(duì)象作為第一個(gè)參數(shù)傳遞給self。

?

四. 類中內(nèi)置的方法

  在 Python 中有一些內(nèi)置的方法,這些方法命名都有比較特殊的地方(其方法名以2個(gè)下劃線開始然后以2個(gè)下劃線結(jié)束)。類中最常用的就是構(gòu)造方法和析構(gòu)方法。

  • 構(gòu)造方法 __init__(self,....):在生成對(duì)象時(shí)調(diào)用,可以用來進(jìn)行一些初始化操作,不需要顯示去調(diào)用,系統(tǒng)會(huì)默認(rèn)去執(zhí)行。構(gòu)造方法支持重載,如果沒有構(gòu)造方法,系統(tǒng)就自動(dòng)執(zhí)行默認(rèn)的構(gòu)造方法。
  • 析構(gòu)方法 __del__(self):在釋放對(duì)象時(shí)調(diào)用,支持重載,可以在里面進(jìn)行一些釋放資源的操作,不需要顯示調(diào)用。

還有其他的一些內(nèi)置方法,比如 __cmp__( ), __len( )__等。下面是常用的內(nèi)置方法:

?內(nèi)置方法?說明
?__init__(self,...)?初始化對(duì)象,在創(chuàng)建新對(duì)象時(shí)調(diào)用
?__del__(self)?釋放對(duì)象,在對(duì)象被刪除之前調(diào)用
?__new__(cls,*args,**kwd)?實(shí)例的生成操作
?__str__(self)?在使用print語句時(shí)被調(diào)用
?__getitem__(self,key)?獲取序列的索引key對(duì)應(yīng)的值,等價(jià)于seq[key]
?__len__(self)?在調(diào)用內(nèi)聯(lián)函數(shù)len()時(shí)被調(diào)用
?__cmp__(stc,dst)?比較兩個(gè)對(duì)象src和dst
?__getattr__(s,name)?獲取屬性的值
?__setattr__(s,name,value)?設(shè)置屬性的值
?__delattr__(s,name)?刪除name屬性
?__getattribute__()?__getattribute__()功能與__getattr__()類似
?__gt__(self,other)?判斷self對(duì)象是否大于other對(duì)象
?__lt__(slef,other)?判斷self對(duì)象是否小于other對(duì)象
?__ge__(slef,other)?判斷self對(duì)象是否大于或者等于other對(duì)象
?__le__(slef,other)?判斷self對(duì)象是否小于或者等于other對(duì)象
?__eq__(slef,other)?判斷self對(duì)象是否等于other對(duì)象
?__call__(self,*args)?把實(shí)例對(duì)象作為函數(shù)調(diào)用

  __init__():?__init__方法在類的一個(gè)對(duì)象被建立時(shí),馬上運(yùn)行。這個(gè)方法可以用來對(duì)你的對(duì)象做一些你希望的初始化。注意,這個(gè)名稱的開始和結(jié)尾都是雙下劃線。代碼例子:

# Filename: class_init.py class Person:def __init__(self, name):self.name = namedef sayHi(self):print('Hello, my name is', self.name)p = Person('Swaroop') p.sayHi()# 輸出: # Hello, my name is Swaroop

  __new__():?__new__() 在 __init__() 之前被調(diào)用,用于生成實(shí)例對(duì)象。利用這個(gè)方法和類屬性的特性可以實(shí)現(xiàn)設(shè)計(jì)模式中的單例模式。單例模式是指創(chuàng)建唯一對(duì)象嗎,單例模式設(shè)計(jì)的類只能實(shí)例化一個(gè)對(duì)象。

# -*- coding: UTF-8 -*- class Singleton(object):__instance = None # 定義實(shí)例 def __init__(self):passdef __new__(cls, *args, **kwd): # 在__init__之前調(diào)用 if Singleton.__instance is None: # 生成唯一實(shí)例 Singleton.__instance = object.__new__(cls, *args, **kwd)return Singleton.__instance

  __getattr__()、__setattr__() 和__getattribute__() :當(dāng)讀取對(duì)象的某個(gè)屬性時(shí),python會(huì)自動(dòng)調(diào)用__getattr__()方法。例如,fruit.color將轉(zhuǎn)換為fruit.__getattr__(color)。當(dāng)使用賦值語句對(duì)屬性進(jìn)行設(shè)置時(shí),python會(huì)自動(dòng)調(diào)用__setattr__()方法。__getattribute__()的功能與__getattr__()類似,用于獲取屬性的值。但是__getattribute__()能提供更好的控制,代碼更健壯。注意,python中并不存在__setattribute__()方法。代碼例子:

# -*- coding: UTF-8 -*- class Fruit(object):def __init__(self, color="red", price=0):self.__color = colorself.__price = pricedef __getattribute__(self, item): # 獲取屬性的方法return object.__getattribute__(self, item)def __setattr__(self, key, value):self.__dict__[key] = valueif __name__ == "__main__":fruit = Fruit("blue", 10)print(fruit.__dict__.get("_Fruit__color")) # 獲取color屬性fruit.__dict__["_Fruit__price"] = 5print(fruit.__dict__.get("_Fruit__price")) # 獲取price屬性

Python 不允許實(shí)例化的類訪問私有數(shù)據(jù),但你可以使用 object._className__attrName 訪問這些私有屬性。

__getitem__():?如果類把某個(gè)屬性定義為序列,可以使用__getitem__()輸出序列屬性中的某個(gè)元素.假設(shè)水果店中銷售多鐘水果,可以通過__getitem__()方法獲取水果店中的沒種水果。代碼例子:

# -*- coding: UTF-8 -*- class FruitShop:def __getitem__(self, i): # 獲取水果店的水果return self.fruits[i]if __name__ == "__main__":shop = FruitShop()shop.fruits = ["apple", "banana"]print(shop[1])for item in shop: # 輸出水果店的水果print(item)# 結(jié)果 # banana # apple # banana

  __str__():?__str__()用于表示對(duì)象代表的含義,返回一個(gè)字符串.實(shí)現(xiàn)了__str__()方法后,可以直接使用print語句輸出對(duì)象,也可以通過函數(shù)str()觸發(fā)__str__()的執(zhí)行。這樣就把對(duì)象和字符串關(guān)聯(lián)起來,便于某些程序的實(shí)現(xiàn),可以用這個(gè)字符串來表示某個(gè)類。代碼例子:

# -*- coding: UTF-8 -*- class Fruit:"""''Fruit類""" # 為Fruit類定義了文檔字符串def __str__(self): # 定義對(duì)象的字符串表示return self.__doc__if __name__ == "__main__":fruit = Fruit()print(str(fruit)) # 調(diào)用內(nèi)置函數(shù)str()觸發(fā)__str__()方法,輸出結(jié)果為:Fruit類print(fruit) # 直接輸出對(duì)象fruit,返回__str__()方法的值,輸出結(jié)果為:Fruit類

  __call__():?在類中實(shí)現(xiàn)__call__()方法,可以在對(duì)象創(chuàng)建時(shí)直接返回__call__()的內(nèi)容。使用該方法可以模擬靜態(tài)方法。代碼例子:

# -*- coding: UTF-8 -*- class Fruit:class Growth: # 內(nèi)部類def __call__(self):print("grow ...")grow = Growth() # 調(diào)用Growth(),此時(shí)將類Growth作為函數(shù)返回,即為外部類Fruit定義方法grow(),grow()將執(zhí)行__call__()內(nèi)的代碼if __name__ == '__main__':fruit = Fruit()fruit.grow() # 輸出結(jié)果:grow ...Fruit.grow() # 輸出結(jié)果:grow ...

?

五. 類屬性、實(shí)例屬性、類方法、實(shí)例方法以及靜態(tài)方法

  在了解了類基本的東西之后,下面看一下python中這幾個(gè)概念的區(qū)別。

  先來談一下類屬性和實(shí)例屬性

  在前面的例子中我們接觸到的就是類屬性,顧名思義,類屬性就是類對(duì)象所擁有的屬性,它被所有類對(duì)象的實(shí)例對(duì)象所共有,在內(nèi)存中只存在一個(gè)副本,這個(gè)和C++中類的靜態(tài)成員變量有點(diǎn)類似。對(duì)于公有的類屬性,在類外可以通過類對(duì)象和實(shí)例對(duì)象訪問。

class people:name = 'jack' # 公有的類屬性 __age = 12 # 私有的類屬性 p = people()print(p.name) # 正確 print(people.name) # 正確 print(p.__age) # 錯(cuò)誤,不能在類外通過實(shí)例對(duì)象訪問私有的類屬性 print(people.__age) # 錯(cuò)誤,不能在類外通過類對(duì)象訪問私有的類屬性

  實(shí)例屬性是不需要在類中顯示定義的,比如:

class People:name = 'jack'p = People() p.age = 12 print(p.name) # 正確 print(p.age) # 正確print(People.name) # 正確 print(People.age) # 錯(cuò)誤

對(duì)類對(duì)象People進(jìn)行實(shí)例化之后,產(chǎn)生了一個(gè)實(shí)例對(duì)象p,然后p.age = 12這句給p添加了一個(gè)實(shí)例屬性age,賦值為12。這個(gè)實(shí)例屬性是實(shí)例對(duì)象p所特有的,注意,類對(duì)象 People 并不擁有它(所以不能通過類對(duì)象來訪問這個(gè)age屬性)。當(dāng)然還可以在實(shí)例化對(duì)象的時(shí)候給age賦值。

class People:name = 'jack'# __init__()是內(nèi)置的構(gòu)造方法,在實(shí)例化對(duì)象時(shí)自動(dòng)調(diào)用 def __init__(self, age):self.age = agep = People(12) print(p.name) # 正確 print(p.age) # 正確 print(People.name) # 正確 print(People.age) # 錯(cuò)誤

  如果需要在類外修改類屬性,必須通過類對(duì)象去引用然后進(jìn)行修改。如果通過實(shí)例對(duì)象去引用,會(huì)產(chǎn)生一個(gè)同名的實(shí)例屬性,這種方式修改的是實(shí)例屬性,不會(huì)影響到類屬性,并且之后如果通過實(shí)例對(duì)象去引用該名稱的屬性,實(shí)例屬性會(huì)強(qiáng)制屏蔽掉類屬性,即引用的是實(shí)例屬性,除非刪除了該實(shí)例屬性。

class People:country = 'china'print(People.country) p = People() print(p.country) p.country = 'japan' print(p.country) # 實(shí)例屬性會(huì)屏蔽掉同名的類屬性 print(People.country) del p.country # 刪除實(shí)例屬性 print(p.country)

  下面來看一下類方法、實(shí)例方法靜態(tài)方法 的區(qū)別。

  類方法:是類對(duì)象所擁有的方法,需要用修飾器"@classmethod"來標(biāo)識(shí)其為類方法,對(duì)于類方法,第一個(gè)參數(shù)必須是類對(duì)象,一般以"cls"作為第一個(gè)參數(shù)(當(dāng)然可以用其他名稱的變量作為其第一個(gè)參數(shù),但是大部分人都習(xí)慣以'cls'作為第一個(gè)參數(shù)的名字,就最好用'cls'了),能夠通過實(shí)例對(duì)象和類對(duì)象去訪問。

class People:country = 'china'# 類方法,用classmethod來進(jìn)行修飾 @classmethoddef getCountry(cls):return cls.countryp = People() print(p.getCountry()) # 可以用過實(shí)例對(duì)象引用 print(People.getCountry()) # 可以通過類對(duì)象引用

  類方法還有一個(gè)用途就是可以對(duì)類屬性進(jìn)行修改:

class People:country = 'china'# 類方法,用classmethod來進(jìn)行修飾 @classmethoddef getCountry(cls):return cls.country@classmethoddef setCountry(cls, country):cls.country = countryp = People() print(p.getCountry()) # 可以用過實(shí)例對(duì)象引用 print(People.getCountry()) # 可以通過類對(duì)象引用 p.setCountry('japan')print(p.getCountry()) print(People.getCountry())

運(yùn)行結(jié)果:

china?? china?? japan?? japan?

  結(jié)果顯示在用類方法對(duì)類屬性修改之后,通過類對(duì)象和實(shí)例對(duì)象訪問都發(fā)生了改變。

  實(shí)例方法:在類中最常定義的成員方法,它至少有一個(gè)參數(shù)并且必須以實(shí)例對(duì)象作為其第一個(gè)參數(shù),一般以名為'self'的變量作為第一個(gè)參數(shù)(當(dāng)然可以以其他名稱的變量作為第一個(gè)參數(shù))。在類外實(shí)例方法只能通過實(shí)例對(duì)象去調(diào)用,不能通過其他方式去調(diào)用。

class People:country = 'china'# 實(shí)例方法 def getCountry(self):return self.countryp = People() print(p.getCountry()) # 正確,可以用過實(shí)例對(duì)象引用 print(People.getCountry()) # 錯(cuò)誤,不能通過類對(duì)象引用實(shí)例方法

  ?靜態(tài)方法:?需要通過修飾器"@staticmethod"來進(jìn)行修飾,靜態(tài)方法不需要多定義參數(shù)。

class People:country = 'china'@staticmethod# 靜態(tài)方法 def getCountry():return People.countryprint(People.getCountry())

  對(duì)于類屬性和實(shí)例屬性,如果在類方法中引用某個(gè)屬性,該屬性必定是類屬性,而如果在實(shí)例方法中引用某個(gè)屬性(不作更改),并且存在同名的類屬性,此時(shí)若實(shí)例對(duì)象有該名稱的實(shí)例屬性,則實(shí)例屬性會(huì)屏蔽類屬性,即引用的是實(shí)例屬性,若實(shí)例對(duì)象沒有該名稱的實(shí)例屬性,則引用的是類屬性;如果在實(shí)例方法更改某個(gè)屬性,并且存在同名的類屬性,此時(shí)若實(shí)例對(duì)象有該名稱的實(shí)例屬性,則修改的是實(shí)例屬性,若實(shí)例對(duì)象沒有該名稱的實(shí)例屬性,則會(huì)創(chuàng)建一個(gè)同名稱的實(shí)例屬性。想要修改類屬性,如果在類外,可以通過類對(duì)象修改,如果在類里面,只有在類方法中進(jìn)行修改。

  從類方法和實(shí)例方法以及靜態(tài)方法的定義形式就可以看出來,類方法的第一個(gè)參數(shù)是類對(duì)象cls,那么通過cls引用的必定是類對(duì)象的屬性和方法;而實(shí)例方法的第一個(gè)參數(shù)是實(shí)例對(duì)象self,那么通過self引用的可能是類屬性、也有可能是實(shí)例屬性(這個(gè)需要具體分析),不過在存在相同名稱的類屬性和實(shí)例屬性的情況下,實(shí)例屬性優(yōu)先級(jí)更高。靜態(tài)方法中不需要額外定義參數(shù),因此在靜態(tài)方法中引用類屬性的話,必須通過類對(duì)象來引用。

?

六. 繼承、多重繼承

  上面談到了類的基本定義和使用方法,這只體現(xiàn)了面向?qū)ο缶幊痰娜筇攸c(diǎn)之一:封裝。下面就來了解一下另外兩大特征:繼承和多態(tài)。

  在Python中,如果需要的話,可以讓一個(gè)類去繼承一個(gè)類,被繼承的類稱為父類或者超類、也可以稱作基類,繼承的類稱為子類。并且Python支持多繼承,能夠讓一個(gè)子類有多個(gè)父類。

  Python中類的繼承定義基本形式如下:

# 父類 class superClassName: block # 子類 class subClassName(superClassName): block

  在定義一個(gè)類的時(shí)候,可以在類名后面緊跟一對(duì)括號(hào),在括號(hào)中指定所繼承的父類,如果有多個(gè)父類,多個(gè)父類名之間用逗號(hào)隔開。以大學(xué)里的學(xué)生和老師舉例,可以定義一個(gè)父類UniversityMember,然后類Student和類Teacher分別繼承類UniversityMember:

# -*- coding: UTF-8 -*- class UniversityMember:def __init__(self, name, age):self.name = nameself.age = agedef getName(self):return self.namedef getAge(self):return self.ageclass Student(UniversityMember):def __init__(self, name, age, sno, mark):UniversityMember.__init__(self, name, age) # 注意要顯示調(diào)用父類構(gòu)造方法,并傳遞參數(shù)self self.sno = snoself.mark = markdef getSno(self):return self.snodef getMark(self):return self.markclass Teacher(UniversityMember):def __init__(self, name, age, tno, salary):UniversityMember.__init__(self, name, age)self.tno = tnoself.salary = salarydef getTno(self):return self.tnodef getSalary(self):return self.salary

  在大學(xué)中的每個(gè)成員都有姓名和年齡,而學(xué)生有學(xué)號(hào)和分?jǐn)?shù)這2個(gè)屬性,老師有教工號(hào)和工資這2個(gè)屬性,從上面的代碼中可以看到:

  1)在Python中,如果父類和子類都重新定義了構(gòu)造方法__init( )__,在進(jìn)行子類實(shí)例化的時(shí)候,子類的構(gòu)造方法不會(huì)自動(dòng)調(diào)用父類的構(gòu)造方法,必須在子類中顯示調(diào)用。

  2)如果需要在子類中調(diào)用父類的方法,需要以”父類名.方法“這種方式調(diào)用,以這種方式調(diào)用的時(shí)候,注意要傳遞self參數(shù)過去。

  對(duì)于繼承關(guān)系,子類繼承了父類所有的公有屬性和方法,可以在子類中通過父類名來調(diào)用,而對(duì)于私有的屬性和方法,子類是不進(jìn)行繼承的,因此在子類中是無法通過父類名來訪問的。

  Python支持多重繼承。對(duì)于多重繼承,比如

  class SubClass(SuperClass1,SuperClass2)

  此時(shí)有一個(gè)問題就是如果SubClass沒有重新定義構(gòu)造方法,它會(huì)自動(dòng)調(diào)用哪個(gè)父類的構(gòu)造方法?這里記住一點(diǎn):以第一個(gè)父類為中心。如果SubClass重新定義了構(gòu)造方法,需要顯示去調(diào)用父類的構(gòu)造方法,此時(shí)調(diào)用哪個(gè)父類的構(gòu)造方法由你自己決定;若SubClass沒有重新定義構(gòu)造方法,則只會(huì)執(zhí)行第一個(gè)父類的構(gòu)造方法。并且若SuperClass1和SuperClass2中有同名的方法,通過子類的實(shí)例化對(duì)象去調(diào)用該方法時(shí)調(diào)用的是第一個(gè)父類中的方法。

?

七. 多態(tài)

  多態(tài)即多種形態(tài),在運(yùn)行時(shí)確定其狀態(tài),在編譯階段無法確定其類型,這就是多態(tài)。Python中的多態(tài)和Java以及C++中的多態(tài)有點(diǎn)不同,Python中的變量是弱類型的,在定義時(shí)不用指明其類型,它會(huì)根據(jù)需要在運(yùn)行時(shí)確定變量的類型(個(gè)人覺得這也是多態(tài)的一種體現(xiàn)),并且Python本身是一種解釋性語言,不進(jìn)行預(yù)編譯,因此它就只在運(yùn)行時(shí)確定其狀態(tài),故也有人說Python是一種多態(tài)語言。在Python中很多地方都可以體現(xiàn)多態(tài)的特性,比如內(nèi)置函數(shù)len(object),len函數(shù)不僅可以計(jì)算字符串的長(zhǎng)度,還可以計(jì)算列表、元組等對(duì)象中的數(shù)據(jù)個(gè)數(shù),這里在運(yùn)行時(shí)通過參數(shù)類型確定其具體的計(jì)算過程,正是多態(tài)的一種體現(xiàn)。這有點(diǎn)類似于函數(shù)重載(一個(gè)編譯單元中有多個(gè)同名函數(shù),但參數(shù)不同),相當(dāng)于為每種類型都定義了一個(gè)len函數(shù)。這是典型的多態(tài)表現(xiàn)。有些朋友提出Python不支持多態(tài),我是完全不贊同的。

  本質(zhì)上,多態(tài)意味著可以對(duì)不同的對(duì)象使用同樣的操作,但它們可能會(huì)以多種形態(tài)呈現(xiàn)出結(jié)果。len(object)函數(shù)就體現(xiàn)了這一點(diǎn)。在C++、Java、C#這種編譯型語言中,由于有編譯過程,因此就鮮明地分成了運(yùn)行時(shí)多態(tài)和編譯時(shí)多態(tài)。運(yùn)行時(shí)多態(tài)是指允許父類指針或名稱來引用子類對(duì)象,或?qū)ο蠓椒?#xff0c;而實(shí)際調(diào)用的方法為對(duì)象的類類型方法,這就是所謂的動(dòng)態(tài)綁定。編譯時(shí)多態(tài)有模板或范型、方法重載(overload)、方法重寫(override)等。而Python是動(dòng)態(tài)語言,動(dòng)態(tài)地確定類型信息恰恰體現(xiàn)了多態(tài)的特征。在Python中,任何不知道對(duì)象到底是什么類型,但又需要對(duì)象做點(diǎn)什么的時(shí)候,都會(huì)用到多態(tài)。

  能夠直接說明多態(tài)的兩段示例代碼如下:

?

1、方法多態(tài)

# -*- coding: UTF-8 -*- _metaclass_ = type # 確定使用新式類class Calculator:def count(self, args):return 1calc = Calculator() # 自定義類型from random import choiceobj = choice(['hello,world', [1, 2, 3], calc]) # obj是隨機(jī)返回的 類型不確定 print(type(obj)) print(obj.count('a')) # 方法多態(tài)

對(duì)于一個(gè)臨時(shí)對(duì)象 obj,它通過 Python 的隨機(jī)函數(shù)取出來,不知道具體類型(是字符串、元組還是自定義類型),都可以調(diào)用count方法進(jìn)行計(jì)算,至于count由誰(哪種類型)去做怎么去實(shí)現(xiàn)我們并不關(guān)心。

有一種稱為 "鴨子類型(?duck typing )" 的東西,講的也是多態(tài):

_metaclass_ = type # 確定使用新式類class Duck:def quack(self):print("Quaaaaaack!")def feathers(self):print("The duck has white and gray feathers.")class Person:def quack(self):print("The person imitates a duck.")def feathers(self):print("The person takes a feather from the ground and shows it.")def in_the_forest(duck):duck.quack()duck.feathers()def game():donald = Duck()john = Person()in_the_forest(donald)in_the_forest(john)game()

  就 in_the_forest 函數(shù)而言,參數(shù)對(duì)象是一個(gè)鴨子類型,它實(shí)現(xiàn)了方法多態(tài)。但是實(shí)際上我們知道,從嚴(yán)格的抽象來講,Person類型和 Duck 完全風(fēng)馬牛不相及。

?

2、運(yùn)算符多態(tài)

def add(x, y):return x + yprint(add(1, 2)) # 輸出3 print(add("hello,", "world")) # 輸出hello,world print(add(1, "abc")) # 拋出異常 TypeError: unsupported operand type(s) for +: 'int' and 'str'

上例中,顯而易見,Python 的加法運(yùn)算符是 "多態(tài)"?的,理論上,我們實(shí)現(xiàn)的add方法支持任意支持加法的對(duì)象,但是我們不用關(guān)心兩個(gè)參數(shù)x和y具體是什么類型。

Python同樣支持運(yùn)算符重載,實(shí)例如下:

class Vector:def __init__(self, a, b):self.a = aself.b = bdef __str__(self):return 'Vector (%d, %d)' % (self.a, self.b)def __add__(self, other):return Vector(self.a + other.a, self.b + other.b)v1 = Vector(2, 10) v2 = Vector(5, -2) print(v1 + v2)

  一兩個(gè)示例代碼當(dāng)然不能從根本上說明多態(tài)。普遍認(rèn)為面向?qū)ο笞钣袃r(jià)值最被低估的特征其實(shí)是多態(tài)。我們所理解的多態(tài)的實(shí)現(xiàn)和子類的虛函數(shù)地址綁定有關(guān)系,多態(tài)的效果其實(shí)和函數(shù)地址運(yùn)行時(shí)動(dòng)態(tài)綁定有關(guān)。在C++, Java, C#中實(shí)現(xiàn)多態(tài)的方式通常有重寫和重載兩種,從上面兩段代碼,我們其實(shí)可以分析得出Python中實(shí)現(xiàn)多態(tài)也可以變相理解為重寫和重載。在Python中很多內(nèi)置函數(shù)和運(yùn)算符都是多態(tài)的。

?

參考文獻(xiàn):

http://www.cnblogs.com/dolphin0520/archive/2013/03/29/2986924.html

http://www.cnblogs.com/jeffwongishandsome/archive/2012/10/06/2713258.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的简明Python教程学习笔记_6_面向对象编程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

中文字幕av伊人av无码av | 永久免费观看美女裸体的网站 | 久久综合给久久狠狠97色 | 成人片黄网站色大片免费观看 | 亚洲日韩av一区二区三区四区 | 国产午夜精品一区二区三区嫩草 | 青青久在线视频免费观看 | 国产亚洲精品久久久久久久 | 欧美三级a做爰在线观看 | 精品成人av一区二区三区 | 亚洲午夜久久久影院 | 国产麻豆精品精东影业av网站 | 中文无码成人免费视频在线观看 | 日韩精品一区二区av在线 | 日韩亚洲欧美中文高清在线 | 无码乱肉视频免费大全合集 | 双乳奶水饱满少妇呻吟 | 色一情一乱一伦一区二区三欧美 | 日韩精品一区二区av在线 | 日韩精品无码一区二区中文字幕 | 亚洲中文字幕成人无码 | 亚洲码国产精品高潮在线 | 精品国精品国产自在久国产87 | 久久久久人妻一区精品色欧美 | 青青草原综合久久大伊人精品 | 中文字幕av无码一区二区三区电影 | 国产激情精品一区二区三区 | 久久久久av无码免费网 | 亚洲精品国产第一综合99久久 | 日韩精品无码一区二区中文字幕 | 在线播放无码字幕亚洲 | 老熟妇乱子伦牲交视频 | 国产精品va在线观看无码 | 亚洲 另类 在线 欧美 制服 | 国产va免费精品观看 | 人妻少妇被猛烈进入中文字幕 | 中文字幕 亚洲精品 第1页 | 国产成人精品无码播放 | 一本大道久久东京热无码av | 欧美性黑人极品hd | 在线天堂新版最新版在线8 | 亚洲 激情 小说 另类 欧美 | 无码午夜成人1000部免费视频 | 日本精品少妇一区二区三区 | 精品乱子伦一区二区三区 | 亚洲精品国产精品乱码视色 | 久久人人97超碰a片精品 | 国内少妇偷人精品视频 | 性生交大片免费看女人按摩摩 | 欧美xxxxx精品 | 日韩精品无码一本二本三本色 | 天天av天天av天天透 | 激情内射日本一区二区三区 | 综合激情五月综合激情五月激情1 | 网友自拍区视频精品 | 国语自产偷拍精品视频偷 | 久久精品国产99精品亚洲 | 日韩人妻无码一区二区三区久久99 | 人人爽人人爽人人片av亚洲 | 国产两女互慰高潮视频在线观看 | 亚洲 另类 在线 欧美 制服 | 欧美肥老太牲交大战 | 麻豆国产人妻欲求不满 | 久久无码人妻影院 | 激情内射日本一区二区三区 | 国产精品二区一区二区aⅴ污介绍 | 成人三级无码视频在线观看 | 无码纯肉视频在线观看 | 精品国产成人一区二区三区 | 无码人妻出轨黑人中文字幕 | 在线а√天堂中文官网 | 日日夜夜撸啊撸 | 国产乱人偷精品人妻a片 | 亚洲の无码国产の无码步美 | 久久久国产一区二区三区 | 亚洲一区二区观看播放 | 少妇人妻大乳在线视频 | 国产美女极度色诱视频www | 久久亚洲a片com人成 | 亚洲一区二区三区国产精华液 | 色欲av亚洲一区无码少妇 | 午夜精品久久久内射近拍高清 | 人人妻人人澡人人爽人人精品浪潮 | 一本久道久久综合狠狠爱 | 国内精品久久毛片一区二区 | 性史性农村dvd毛片 | 精品欧美一区二区三区久久久 | 特黄特色大片免费播放器图片 | 久久国产精品萌白酱免费 | 久久综合狠狠综合久久综合88 | 久久亚洲精品中文字幕无男同 | 久久精品中文字幕一区 | 久精品国产欧美亚洲色aⅴ大片 | 欧美日韩一区二区免费视频 | 内射后入在线观看一区 | 精品久久综合1区2区3区激情 | 精品无码国产一区二区三区av | 无人区乱码一区二区三区 | 久久成人a毛片免费观看网站 | 伊人久久婷婷五月综合97色 | 熟女体下毛毛黑森林 | 好男人社区资源 | 国产9 9在线 | 中文 | 亚洲国产精品毛片av不卡在线 | 亚洲男女内射在线播放 | 国产激情一区二区三区 | 国产精品久免费的黄网站 | 精品国产一区二区三区av 性色 | 在线欧美精品一区二区三区 | 高潮毛片无遮挡高清免费 | 高中生自慰www网站 | 日本一卡2卡3卡四卡精品网站 | 强奷人妻日本中文字幕 | 亚洲男人av天堂午夜在 | 少妇一晚三次一区二区三区 | 99久久亚洲精品无码毛片 | 东京一本一道一二三区 | 波多野结衣高清一区二区三区 | 激情国产av做激情国产爱 | 久久天天躁夜夜躁狠狠 | 日本一区二区更新不卡 | 国产无遮挡又黄又爽又色 | 中文字幕人妻无码一区二区三区 | 久久aⅴ免费观看 | 在线观看国产午夜福利片 | 久久99热只有频精品8 | 国产黄在线观看免费观看不卡 | 久久无码人妻影院 | 天堂亚洲免费视频 | 三上悠亚人妻中文字幕在线 | 亚洲人成网站免费播放 | 色综合天天综合狠狠爱 | 好男人社区资源 | 四虎国产精品一区二区 | 樱花草在线社区www | 99久久99久久免费精品蜜桃 | 强伦人妻一区二区三区视频18 | 亚洲男人av天堂午夜在 | 无码精品人妻一区二区三区av | 亚洲日韩精品欧美一区二区 | 亚洲欧美日韩国产精品一区二区 | 97久久国产亚洲精品超碰热 | 人妻aⅴ无码一区二区三区 | 亚洲熟妇色xxxxx亚洲 | 一本色道久久综合亚洲精品不卡 | 亚洲综合无码一区二区三区 | 成人亚洲精品久久久久软件 | 人人妻在人人 | 国内少妇偷人精品视频 | 欧美日本精品一区二区三区 | 亚洲熟熟妇xxxx | 日韩av无码一区二区三区不卡 | 亚洲熟妇色xxxxx欧美老妇y | 中文精品久久久久人妻不卡 | 国产精品久久久 | 无套内射视频囯产 | 色综合久久久无码中文字幕 | 中文字幕中文有码在线 | 亚洲色欲色欲欲www在线 | 水蜜桃亚洲一二三四在线 | 国精产品一品二品国精品69xx | 人人妻人人澡人人爽精品欧美 | 清纯唯美经典一区二区 | 又粗又大又硬毛片免费看 | 日韩少妇内射免费播放 | 性欧美大战久久久久久久 | 色一情一乱一伦一区二区三欧美 | 国产午夜无码视频在线观看 | 中文无码精品a∨在线观看不卡 | 狠狠色噜噜狠狠狠狠7777米奇 | 中文字幕精品av一区二区五区 | 精品国产一区二区三区四区在线看 | 女人被男人爽到呻吟的视频 | 日韩欧美中文字幕公布 | 国产特级毛片aaaaaa高潮流水 | 熟女少妇人妻中文字幕 | 男女猛烈xx00免费视频试看 | 国产精品高潮呻吟av久久 | 久久久婷婷五月亚洲97号色 | aⅴ亚洲 日韩 色 图网站 播放 | 一本精品99久久精品77 | 麻豆成人精品国产免费 | 日韩亚洲欧美精品综合 | 97久久国产亚洲精品超碰热 | 九一九色国产 | 正在播放老肥熟妇露脸 | 日韩欧美群交p片內射中文 | 国产亚洲视频中文字幕97精品 | 日韩人妻无码一区二区三区久久99 | 夜夜躁日日躁狠狠久久av | 天干天干啦夜天干天2017 | 性做久久久久久久久 | 亚洲毛片av日韩av无码 | 正在播放老肥熟妇露脸 | 日欧一片内射va在线影院 | 国产在线精品一区二区高清不卡 | 无码毛片视频一区二区本码 | 国产真实乱对白精彩久久 | 99精品久久毛片a片 | 伊在人天堂亚洲香蕉精品区 | 97无码免费人妻超级碰碰夜夜 | 久久精品国产亚洲精品 | 国产精品资源一区二区 | 久久婷婷五月综合色国产香蕉 | 一本久道高清无码视频 | 国产精品久久久久久久影院 | 丰满少妇女裸体bbw | 中文精品无码中文字幕无码专区 | 亚洲午夜无码久久 | 少妇久久久久久人妻无码 | 未满成年国产在线观看 | 亚洲人成网站色7799 | 国产精品手机免费 | 国产精品毛片一区二区 | 国产av剧情md精品麻豆 | 成年美女黄网站色大免费视频 | 日韩精品a片一区二区三区妖精 | 亚洲の无码国产の无码影院 | 久久久久久久女国产乱让韩 | 97se亚洲精品一区 | 日韩人妻无码一区二区三区久久99 | 久久久国产精品无码免费专区 | 无码av免费一区二区三区试看 | 久激情内射婷内射蜜桃人妖 | 夜精品a片一区二区三区无码白浆 | 高清国产亚洲精品自在久久 | 丰满护士巨好爽好大乳 | 2020久久香蕉国产线看观看 | 99精品无人区乱码1区2区3区 | 无码国产激情在线观看 | 999久久久国产精品消防器材 | 狠狠噜狠狠狠狠丁香五月 | 免费播放一区二区三区 | 欧美黑人巨大xxxxx | 一本久道高清无码视频 | 大地资源网第二页免费观看 | 亚洲熟悉妇女xxx妇女av | 亚洲の无码国产の无码影院 | 樱花草在线播放免费中文 | 女人被爽到呻吟gif动态图视看 | 樱花草在线社区www | 亚洲码国产精品高潮在线 | 中文亚洲成a人片在线观看 | 狠狠色丁香久久婷婷综合五月 | 国产三级精品三级男人的天堂 | 婷婷综合久久中文字幕蜜桃三电影 | 成 人 免费观看网站 | 亚洲精品美女久久久久久久 | 波多野结衣 黑人 | 欧洲欧美人成视频在线 | 性色欲网站人妻丰满中文久久不卡 | 精品国产成人一区二区三区 | 成人无码视频在线观看网站 | 一本大道久久东京热无码av | 男人的天堂av网站 | 俺去俺来也www色官网 | 丰腴饱满的极品熟妇 | 亚洲综合色区中文字幕 | 欧美午夜特黄aaaaaa片 | 麻豆国产人妻欲求不满谁演的 | 自拍偷自拍亚洲精品10p | 亚洲色大成网站www国产 | 亚洲日本va中文字幕 | 亚洲精品久久久久avwww潮水 | 麻豆精产国品 | 亚洲国产精品一区二区第一页 | 国产在热线精品视频 | 国产精品第一国产精品 | 少妇久久久久久人妻无码 | 97久久国产亚洲精品超碰热 | 人人爽人人澡人人高潮 | 亚洲日本va中文字幕 | 中文字幕 人妻熟女 | 麻豆国产丝袜白领秘书在线观看 | av人摸人人人澡人人超碰下载 | 精品国产乱码久久久久乱码 | 成人精品天堂一区二区三区 | 免费视频欧美无人区码 | 亚洲国产成人a精品不卡在线 | 亚洲啪av永久无码精品放毛片 | 日日夜夜撸啊撸 | 无码人妻久久一区二区三区不卡 | 一本久道久久综合婷婷五月 | 国产欧美亚洲精品a | 国产精品国产自线拍免费软件 | 久久精品丝袜高跟鞋 | 初尝人妻少妇中文字幕 | 日韩精品无码免费一区二区三区 | 午夜福利不卡在线视频 | 初尝人妻少妇中文字幕 | 久精品国产欧美亚洲色aⅴ大片 | 女人和拘做爰正片视频 | 美女毛片一区二区三区四区 | 麻豆成人精品国产免费 | 久久97精品久久久久久久不卡 | 成人一区二区免费视频 | 日韩av激情在线观看 | 欧美zoozzooz性欧美 | 亚洲 欧美 激情 小说 另类 | 亚洲精品成人福利网站 | 一区二区三区乱码在线 | 欧洲 | 领导边摸边吃奶边做爽在线观看 | 国产午夜手机精彩视频 | 蜜桃视频插满18在线观看 | 日韩精品无码一本二本三本色 | 亚洲一区二区三区偷拍女厕 | 亚洲乱码日产精品bd | 国产成人精品必看 | 免费国产黄网站在线观看 | 欧美黑人巨大xxxxx | 国产精品无套呻吟在线 | 狠狠色欧美亚洲狠狠色www | 伊人久久大香线蕉午夜 | 亚洲中文字幕在线无码一区二区 | 丰满人妻精品国产99aⅴ | 在线视频网站www色 | 亚洲va中文字幕无码久久不卡 | 国产精品内射视频免费 | 国产亚洲精品精品国产亚洲综合 | 天天做天天爱天天爽综合网 | 久久久久免费精品国产 | 国产成人无码a区在线观看视频app | 久久综合给久久狠狠97色 | 无套内谢的新婚少妇国语播放 | 天天拍夜夜添久久精品大 | 国产熟女一区二区三区四区五区 | 在线a亚洲视频播放在线观看 | 最新国产乱人伦偷精品免费网站 | 亚洲精品中文字幕 | 又大又紧又粉嫩18p少妇 | 福利一区二区三区视频在线观看 | 国产精品久久福利网站 | 在线精品亚洲一区二区 | 欧美一区二区三区视频在线观看 | 免费网站看v片在线18禁无码 | 狠狠躁日日躁夜夜躁2020 | 青草青草久热国产精品 | 欧美freesex黑人又粗又大 | 亚洲国产高清在线观看视频 | 国产特级毛片aaaaaa高潮流水 | 狠狠色噜噜狠狠狠狠7777米奇 | 日日碰狠狠丁香久燥 | 国产xxx69麻豆国语对白 | 强辱丰满人妻hd中文字幕 | 亚洲人亚洲人成电影网站色 | 欧美猛少妇色xxxxx | 18禁止看的免费污网站 | 亚洲中文字幕久久无码 | 亚洲国精产品一二二线 | 少妇无码一区二区二三区 | 无码精品国产va在线观看dvd | 性欧美熟妇videofreesex | 日本一区二区三区免费高清 | 人人妻人人澡人人爽欧美精品 | 疯狂三人交性欧美 | 亚洲精品综合五月久久小说 | 少妇被粗大的猛进出69影院 | 牲欲强的熟妇农村老妇女视频 | 国产精品久久福利网站 | 99视频精品全部免费免费观看 | 无码毛片视频一区二区本码 | 免费播放一区二区三区 | 欧美日韩久久久精品a片 | 亚洲中文字幕成人无码 | 国产综合在线观看 | 日本高清一区免费中文视频 | 99视频精品全部免费免费观看 | 乌克兰少妇xxxx做受 | 俺去俺来也在线www色官网 | 99精品国产综合久久久久五月天 | 无码吃奶揉捏奶头高潮视频 | 亚洲熟悉妇女xxx妇女av | 国产香蕉尹人视频在线 | 两性色午夜视频免费播放 | 国产精品无码永久免费888 | 日本丰满护士爆乳xxxx | 亚洲国产高清在线观看视频 | 日本一本二本三区免费 | 久久精品成人欧美大片 | 亚洲中文字幕久久无码 | 亚洲男人av香蕉爽爽爽爽 | 国产无av码在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 无码精品人妻一区二区三区av | 国产精品自产拍在线观看 | 人人澡人摸人人添 | 亚洲色偷偷男人的天堂 | 人人澡人人透人人爽 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 久精品国产欧美亚洲色aⅴ大片 | 国产乱人无码伦av在线a | 人妻人人添人妻人人爱 | 少妇性俱乐部纵欲狂欢电影 | 日本一卡2卡3卡四卡精品网站 | 天堂无码人妻精品一区二区三区 | 中文字幕日韩精品一区二区三区 | 亚洲一区二区三区在线观看网站 | 久久久久亚洲精品男人的天堂 | 在线 国产 欧美 亚洲 天堂 | 色老头在线一区二区三区 | 九九在线中文字幕无码 | 久久久精品人妻久久影视 | 少妇太爽了在线观看 | 久久 国产 尿 小便 嘘嘘 | 色诱久久久久综合网ywww | 成人精品天堂一区二区三区 | 天堂а√在线中文在线 | 双乳奶水饱满少妇呻吟 | 99久久无码一区人妻 | 国产舌乚八伦偷品w中 | 中文字幕日韩精品一区二区三区 | 亚洲 激情 小说 另类 欧美 | 中文字幕人成乱码熟女app | 最近免费中文字幕中文高清百度 | 免费视频欧美无人区码 | 久久97精品久久久久久久不卡 | 又色又爽又黄的美女裸体网站 | 亚洲综合久久一区二区 | 亚洲精品中文字幕 | 色婷婷av一区二区三区之红樱桃 | 性色欲网站人妻丰满中文久久不卡 | 午夜精品久久久久久久 | 午夜福利不卡在线视频 | 亚洲 欧美 激情 小说 另类 | 2019nv天堂香蕉在线观看 | 婷婷综合久久中文字幕蜜桃三电影 | 在线精品亚洲一区二区 | 国内精品久久毛片一区二区 | 精品国产一区二区三区av 性色 | 香港三级日本三级妇三级 | 亚洲精品国偷拍自产在线麻豆 | 国产精品美女久久久网av | 日韩精品a片一区二区三区妖精 | 国产一区二区三区日韩精品 | 日韩少妇内射免费播放 | 日韩人妻无码一区二区三区久久99 | 九九热爱视频精品 | 无码福利日韩神码福利片 | 精品一区二区不卡无码av | 最新国产乱人伦偷精品免费网站 | 影音先锋中文字幕无码 | 18无码粉嫩小泬无套在线观看 | 色综合久久久无码网中文 | 国产亚av手机在线观看 | 久久人人爽人人爽人人片ⅴ | 日韩视频 中文字幕 视频一区 | 99久久久无码国产aaa精品 | 国内丰满熟女出轨videos | 国产午夜亚洲精品不卡 | 亲嘴扒胸摸屁股激烈网站 | 亚洲熟女一区二区三区 | 乌克兰少妇xxxx做受 | 精品无码国产自产拍在线观看蜜 | 免费国产黄网站在线观看 | 亚洲の无码国产の无码影院 | 伊人色综合久久天天小片 | av无码久久久久不卡免费网站 | 免费无码午夜福利片69 | 波多野42部无码喷潮在线 | 成人免费无码大片a毛片 | 伊在人天堂亚洲香蕉精品区 | 黑人粗大猛烈进出高潮视频 | 国产色xx群视频射精 | 色偷偷人人澡人人爽人人模 | 亚洲中文字幕va福利 | 免费观看又污又黄的网站 | 亚洲一区二区观看播放 | 97精品人妻一区二区三区香蕉 | 我要看www免费看插插视频 | 红桃av一区二区三区在线无码av | 久久人人爽人人爽人人片av高清 | 网友自拍区视频精品 | 中文字幕乱码人妻无码久久 | 日韩欧美成人免费观看 | 婷婷五月综合激情中文字幕 | 樱花草在线社区www | 久久精品女人天堂av免费观看 | 国产激情无码一区二区app | 欧美亚洲国产一区二区三区 | 久久99国产综合精品 | 人妻少妇被猛烈进入中文字幕 | 国产精品多人p群无码 | 蜜桃视频韩日免费播放 | 亚洲成a人片在线观看无码3d | 亚洲欧洲日本综合aⅴ在线 | 国产成人无码a区在线观看视频app | 无码成人精品区在线观看 | 偷窥日本少妇撒尿chinese | 成人精品视频一区二区 | 国产亚洲视频中文字幕97精品 | 狠狠cao日日穞夜夜穞av | 国产成人人人97超碰超爽8 | 欧美精品在线观看 | 国产精品99久久精品爆乳 | 久久久久久久人妻无码中文字幕爆 | 日韩欧美中文字幕公布 | 国产人妻大战黑人第1集 | 97久久精品无码一区二区 | 乱人伦人妻中文字幕无码久久网 | 少妇的肉体aa片免费 | 粉嫩少妇内射浓精videos | 国产亚洲精品久久久久久久 | 51国偷自产一区二区三区 | 小泽玛莉亚一区二区视频在线 | 久久精品国产99久久6动漫 | 日日碰狠狠躁久久躁蜜桃 | 鲁鲁鲁爽爽爽在线视频观看 | 色综合久久88色综合天天 | 亚洲中文字幕无码一久久区 | 亚洲日韩中文字幕在线播放 | 久久久久免费精品国产 | 99久久无码一区人妻 | 国产在线一区二区三区四区五区 | 亚洲啪av永久无码精品放毛片 | 无码人妻精品一区二区三区不卡 | 欧美自拍另类欧美综合图片区 | 老司机亚洲精品影院 | 国产亚洲精品久久久久久大师 | 亚洲一区二区三区无码久久 | 久久成人a毛片免费观看网站 | 久久精品国产一区二区三区 | 日本一区二区更新不卡 | 2019午夜福利不卡片在线 | 好男人www社区 | 成人欧美一区二区三区黑人 | 午夜福利一区二区三区在线观看 | 成人综合网亚洲伊人 | 国精品人妻无码一区二区三区蜜柚 | 成人无码视频免费播放 | 免费无码午夜福利片69 | 亚洲一区av无码专区在线观看 | 亚洲男人av天堂午夜在 | 亚洲精品国产a久久久久久 | 99精品国产综合久久久久五月天 | 国产凸凹视频一区二区 | 久久精品中文闷骚内射 | 18无码粉嫩小泬无套在线观看 | 红桃av一区二区三区在线无码av | 国产美女极度色诱视频www | 国产精品无码一区二区桃花视频 | 亚洲日韩精品欧美一区二区 | 高潮毛片无遮挡高清免费 | 性色av无码免费一区二区三区 | 99精品无人区乱码1区2区3区 | 国产精品久久久久久久影院 | 99国产欧美久久久精品 | 国产成人无码a区在线观看视频app | 天天躁夜夜躁狠狠是什么心态 | 成人aaa片一区国产精品 | 奇米影视7777久久精品 | 欧美精品无码一区二区三区 | 人妻夜夜爽天天爽三区 | 狠狠亚洲超碰狼人久久 | 欧美午夜特黄aaaaaa片 | 国产一区二区三区四区五区加勒比 | 1000部啪啪未满十八勿入下载 | 熟妇女人妻丰满少妇中文字幕 | 白嫩日本少妇做爰 | 亚洲成色www久久网站 | 玩弄人妻少妇500系列视频 | 久久婷婷五月综合色国产香蕉 | 鲁大师影院在线观看 | 九九久久精品国产免费看小说 | 国产成人精品久久亚洲高清不卡 | 人人澡人人妻人人爽人人蜜桃 | 国产高清av在线播放 | 久久成人a毛片免费观看网站 | 亚洲中文字幕成人无码 | 无码人妻丰满熟妇区毛片18 | 在线播放免费人成毛片乱码 | 两性色午夜免费视频 | 日日摸夜夜摸狠狠摸婷婷 | 在线精品国产一区二区三区 | 99久久精品无码一区二区毛片 | 欧美xxxxx精品 | 乱码av麻豆丝袜熟女系列 | 国产亚洲日韩欧美另类第八页 | 国产色xx群视频射精 | 亚洲色www成人永久网址 | 免费看男女做好爽好硬视频 | 麻豆av传媒蜜桃天美传媒 | 学生妹亚洲一区二区 | 激情人妻另类人妻伦 | 国产亚洲精品久久久久久久 | 国产后入清纯学生妹 | 欧美zoozzooz性欧美 | 无套内谢的新婚少妇国语播放 | 大地资源中文第3页 | 曰韩少妇内射免费播放 | 狂野欧美性猛交免费视频 | 久久久中文久久久无码 | 精品无人国产偷自产在线 | 亚洲欧美色中文字幕在线 | 亚洲色无码一区二区三区 | 久久久精品456亚洲影院 | 午夜无码区在线观看 | 亚洲爆乳精品无码一区二区三区 | 99久久精品午夜一区二区 | 人人超人人超碰超国产 | 性欧美大战久久久久久久 | 国产乱人偷精品人妻a片 | 狠狠亚洲超碰狼人久久 | 国产97在线 | 亚洲 | 久久99精品国产.久久久久 | 成人亚洲精品久久久久软件 | 日本一卡二卡不卡视频查询 | 啦啦啦www在线观看免费视频 | 天干天干啦夜天干天2017 | 国产av人人夜夜澡人人爽麻豆 | 十八禁真人啪啪免费网站 | 国产农村乱对白刺激视频 | 亚洲精品久久久久中文第一幕 | 夜先锋av资源网站 | 影音先锋中文字幕无码 | 亚洲国产av美女网站 | 日韩少妇内射免费播放 | 一区二区三区高清视频一 | 久久99热只有频精品8 | 欧美激情一区二区三区成人 | 久久久中文字幕日本无吗 | 四虎国产精品一区二区 | 色欲综合久久中文字幕网 | 国产成人综合色在线观看网站 | 国产精品国产自线拍免费软件 | 亚无码乱人伦一区二区 | 丝袜 中出 制服 人妻 美腿 | 狠狠色丁香久久婷婷综合五月 | 骚片av蜜桃精品一区 | 免费无码的av片在线观看 | 在线播放无码字幕亚洲 | 中文字幕亚洲情99在线 | 成人免费视频一区二区 | 精品国精品国产自在久国产87 | 国产女主播喷水视频在线观看 | 2020久久超碰国产精品最新 | 亚洲乱码日产精品bd | 久久久久免费精品国产 | 在教室伦流澡到高潮hnp视频 | 免费无码肉片在线观看 | 丰满人妻精品国产99aⅴ | 午夜无码区在线观看 | 色婷婷综合激情综在线播放 | 理论片87福利理论电影 | 国产猛烈高潮尖叫视频免费 | 欧美人与动性行为视频 | 蜜臀av无码人妻精品 | 国产欧美熟妇另类久久久 | 亚洲 激情 小说 另类 欧美 | 亚洲呦女专区 | 国产精品亚洲一区二区三区喷水 | 一区二区三区乱码在线 | 欧洲 | 日本丰满护士爆乳xxxx | 亚洲狠狠婷婷综合久久 | 妺妺窝人体色www在线小说 | 欧美性生交xxxxx久久久 | 国产香蕉尹人视频在线 | 国产成人无码区免费内射一片色欲 | 少妇高潮喷潮久久久影院 | 国产网红无码精品视频 | 亚洲精品久久久久久一区二区 | 一个人看的视频www在线 | 精品无码国产一区二区三区av | 成 人影片 免费观看 | 亚洲色成人中文字幕网站 | 亚洲性无码av中文字幕 | 青青青手机频在线观看 | 色婷婷av一区二区三区之红樱桃 | 久久久久亚洲精品男人的天堂 | 国産精品久久久久久久 | 又紧又大又爽精品一区二区 | аⅴ资源天堂资源库在线 | 永久免费精品精品永久-夜色 | 国产69精品久久久久app下载 | 国产女主播喷水视频在线观看 | 欧美精品在线观看 | 亚洲精品欧美二区三区中文字幕 | 亚洲一区二区观看播放 | 少女韩国电视剧在线观看完整 | 性色欲情网站iwww九文堂 | 欧美性猛交xxxx富婆 | 黄网在线观看免费网站 | 99久久99久久免费精品蜜桃 | 国内精品人妻无码久久久影院 | 国产香蕉尹人综合在线观看 | 亚洲成a人片在线观看无码 | 无码国产色欲xxxxx视频 | 精品成人av一区二区三区 | 亚洲精品国产品国语在线观看 | 国产成人av免费观看 | 国产精品99久久精品爆乳 | 天堂亚洲2017在线观看 | 台湾无码一区二区 | 国产真人无遮挡作爱免费视频 | 又粗又大又硬又长又爽 | 国产内射老熟女aaaa | 呦交小u女精品视频 | 久久99久久99精品中文字幕 | 国产三级久久久精品麻豆三级 | 国产成人综合色在线观看网站 | 色老头在线一区二区三区 | 乌克兰少妇xxxx做受 | 亚洲国产精华液网站w | 日韩精品无码免费一区二区三区 | 国产亚洲精品久久久ai换 | 夜精品a片一区二区三区无码白浆 | 在线观看国产午夜福利片 | 中文久久乱码一区二区 | 人人妻人人澡人人爽人人精品浪潮 | 国内综合精品午夜久久资源 | 夜精品a片一区二区三区无码白浆 | 国产精品久久久久无码av色戒 | 欧美日韩视频无码一区二区三 | 欧美黑人性暴力猛交喷水 | 日本又色又爽又黄的a片18禁 | 精品国产乱码久久久久乱码 | 国产猛烈高潮尖叫视频免费 | 国产精品无码久久av | 蜜臀av无码人妻精品 | 国产亚洲精品久久久久久大师 | 国产成人精品三级麻豆 | 熟女少妇在线视频播放 | 老头边吃奶边弄进去呻吟 | 人人妻人人澡人人爽欧美精品 | 久久久久免费看成人影片 | 少妇被粗大的猛进出69影院 | 一区二区三区乱码在线 | 欧洲 | 在线天堂新版最新版在线8 | 少妇无套内谢久久久久 | 日韩亚洲欧美中文高清在线 | 免费无码肉片在线观看 | 搡女人真爽免费视频大全 | 99久久久无码国产精品免费 | 中文字幕 亚洲精品 第1页 | 无码人妻丰满熟妇区五十路百度 | 国产精品理论片在线观看 | 无码吃奶揉捏奶头高潮视频 | 少妇无套内谢久久久久 | 国内揄拍国内精品少妇国语 | 又粗又大又硬又长又爽 | 国产人妻精品一区二区三区不卡 | 最近中文2019字幕第二页 | www一区二区www免费 | 蜜桃av抽搐高潮一区二区 | 久久zyz资源站无码中文动漫 | 秋霞成人午夜鲁丝一区二区三区 | 色偷偷人人澡人人爽人人模 | 亚洲国产精华液网站w | 99riav国产精品视频 | 日本www一道久久久免费榴莲 | 免费看少妇作爱视频 | 免费无码一区二区三区蜜桃大 | 欧美丰满熟妇xxxx性ppx人交 | 亚洲精品国偷拍自产在线麻豆 | 天天躁夜夜躁狠狠是什么心态 | 久久久久久国产精品无码下载 | 日韩亚洲欧美精品综合 | 国产精品永久免费视频 | 国产在线精品一区二区高清不卡 | 男女爱爱好爽视频免费看 | 日韩精品a片一区二区三区妖精 | 精品亚洲韩国一区二区三区 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 内射爽无广熟女亚洲 | 国产后入清纯学生妹 | 久久精品人人做人人综合 | 久久aⅴ免费观看 | 波多野结衣乳巨码无在线观看 | 亚洲日韩av片在线观看 | 野外少妇愉情中文字幕 | 欧美激情综合亚洲一二区 | 97无码免费人妻超级碰碰夜夜 | 国产绳艺sm调教室论坛 | 男女下面进入的视频免费午夜 | 日日躁夜夜躁狠狠躁 | 国产精品对白交换视频 | 国产精品爱久久久久久久 | 亚洲爆乳精品无码一区二区三区 | 两性色午夜视频免费播放 | 国内揄拍国内精品少妇国语 | 国产69精品久久久久app下载 | 双乳奶水饱满少妇呻吟 | 日日摸夜夜摸狠狠摸婷婷 | 亚洲一区二区三区国产精华液 | 精品人人妻人人澡人人爽人人 | 综合网日日天干夜夜久久 | 国产内射爽爽大片视频社区在线 | 精品无码一区二区三区爱欲 | 麻豆成人精品国产免费 | 国产免费久久精品国产传媒 | 秋霞成人午夜鲁丝一区二区三区 | 搡女人真爽免费视频大全 | 131美女爱做视频 | 性欧美疯狂xxxxbbbb | 日韩av激情在线观看 | 狠狠色噜噜狠狠狠7777奇米 | 欧美日韩一区二区三区自拍 | 日本在线高清不卡免费播放 | 亚洲国精产品一二二线 | 亚洲日本一区二区三区在线 | 国产舌乚八伦偷品w中 | 国内老熟妇对白xxxxhd | 国产精品99久久精品爆乳 | 荫蒂被男人添的好舒服爽免费视频 | 精品熟女少妇av免费观看 | 久久精品国产精品国产精品污 | 亚洲国产日韩a在线播放 | 亚洲日本va午夜在线电影 | 久久99精品国产.久久久久 | 欧美性生交活xxxxxdddd | 国产精品无码mv在线观看 | 亚洲国产精品无码久久久久高潮 | 日韩亚洲欧美中文高清在线 | 四十如虎的丰满熟妇啪啪 | 久久久国产一区二区三区 | 国产做国产爱免费视频 | 亲嘴扒胸摸屁股激烈网站 | 午夜精品一区二区三区在线观看 | 久久无码中文字幕免费影院蜜桃 | 2019午夜福利不卡片在线 | 欧美兽交xxxx×视频 | 国产精品欧美成人 | 免费观看又污又黄的网站 | 亚洲成色在线综合网站 | 午夜无码人妻av大片色欲 | 人妻尝试又大又粗久久 | 色情久久久av熟女人妻网站 | 日日鲁鲁鲁夜夜爽爽狠狠 | 日本在线高清不卡免费播放 | 国产精品久久久久9999小说 | 精品国偷自产在线视频 | 成人片黄网站色大片免费观看 | 狂野欧美激情性xxxx | 无码av免费一区二区三区试看 | 久久久久久国产精品无码下载 | 在线a亚洲视频播放在线观看 | 国产成人无码av在线影院 | 99久久人妻精品免费一区 | 99精品视频在线观看免费 | 99久久99久久免费精品蜜桃 | 亚洲精品一区二区三区大桥未久 | 欧美人与善在线com | 国产精品高潮呻吟av久久 | 国产精品无码一区二区三区不卡 | 玩弄人妻少妇500系列视频 | 图片小说视频一区二区 | 亚洲 另类 在线 欧美 制服 | 精品国产一区二区三区四区 | 中文无码成人免费视频在线观看 | 国产成人精品视频ⅴa片软件竹菊 | 欧美性猛交xxxx富婆 | 精品人妻人人做人人爽 | 波多野结衣av在线观看 | 性欧美牲交xxxxx视频 | 国产做国产爱免费视频 | 牲欲强的熟妇农村老妇女 | 国产又爽又黄又刺激的视频 | 精品熟女少妇av免费观看 | 精品国产aⅴ无码一区二区 | 国产精品无码永久免费888 | 丰满少妇熟乱xxxxx视频 | 伊人久久大香线蕉av一区二区 | 国产精品久久久午夜夜伦鲁鲁 | 亚洲国产精华液网站w | 一本大道伊人av久久综合 | 国产精品毛片一区二区 | 人妻少妇精品无码专区二区 | 在线播放免费人成毛片乱码 | 国色天香社区在线视频 | 色综合久久网 | 国产人妻人伦精品 | 青青青手机频在线观看 | 亚洲色偷偷男人的天堂 | 最新国产乱人伦偷精品免费网站 | 麻豆av传媒蜜桃天美传媒 | 色综合天天综合狠狠爱 | 国产绳艺sm调教室论坛 | 狠狠色噜噜狠狠狠7777奇米 | 无码中文字幕色专区 | 东京一本一道一二三区 | 中文无码精品a∨在线观看不卡 | 嫩b人妻精品一区二区三区 | 欧美野外疯狂做受xxxx高潮 | 久久精品国产一区二区三区 | 国产成人无码午夜视频在线观看 | а√资源新版在线天堂 | 无码国产色欲xxxxx视频 | 性啪啪chinese东北女人 | 中文字幕av伊人av无码av | 国产国语老龄妇女a片 | 久久精品国产99久久6动漫 | 亚洲精品一区二区三区在线观看 | 一个人免费观看的www视频 | 国产成人精品视频ⅴa片软件竹菊 | 久久久久久久人妻无码中文字幕爆 | 国产精品丝袜黑色高跟鞋 | 亚洲精品国产第一综合99久久 | 欧洲熟妇精品视频 | 丁香花在线影院观看在线播放 | 免费人成网站视频在线观看 | 两性色午夜视频免费播放 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 免费国产成人高清在线观看网站 | 免费网站看v片在线18禁无码 | 久久国产自偷自偷免费一区调 | 人人超人人超碰超国产 | 夜先锋av资源网站 | 又大又黄又粗又爽的免费视频 | а√天堂www在线天堂小说 | 亚洲精品成人福利网站 | 成熟女人特级毛片www免费 | 性欧美熟妇videofreesex | 精品久久久无码中文字幕 | 国产两女互慰高潮视频在线观看 | 高清国产亚洲精品自在久久 | 黄网在线观看免费网站 | 18精品久久久无码午夜福利 | 国产av一区二区精品久久凹凸 | 又大又紧又粉嫩18p少妇 | 天天做天天爱天天爽综合网 | 久久亚洲中文字幕精品一区 | 久久成人a毛片免费观看网站 | 国产精品无码成人午夜电影 | 天天拍夜夜添久久精品 | 激情五月综合色婷婷一区二区 | 欧美自拍另类欧美综合图片区 | 久久天天躁狠狠躁夜夜免费观看 | 熟妇人妻无码xxx视频 | 人人妻人人澡人人爽精品欧美 | 成人免费视频视频在线观看 免费 | 夜夜躁日日躁狠狠久久av | 国产麻豆精品一区二区三区v视界 | 精品国产一区二区三区四区 | 亚洲欧美色中文字幕在线 | 蜜桃臀无码内射一区二区三区 | 婷婷色婷婷开心五月四房播播 | 久久天天躁夜夜躁狠狠 | 精品亚洲韩国一区二区三区 | 中文字幕乱码亚洲无线三区 | 成年美女黄网站色大免费视频 | 日本熟妇浓毛 | 亚洲日韩一区二区三区 | 天天躁夜夜躁狠狠是什么心态 | 白嫩日本少妇做爰 | 免费观看又污又黄的网站 | 无码人妻黑人中文字幕 | 久久综合九色综合欧美狠狠 | 日日碰狠狠丁香久燥 | 人人妻人人澡人人爽欧美一区九九 | 一区二区三区高清视频一 | 国内精品人妻无码久久久影院蜜桃 | 亚洲色欲色欲天天天www | 久久精品中文字幕一区 | 欧美大屁股xxxxhd黑色 | 久久精品无码一区二区三区 | 国产福利视频一区二区 | 福利一区二区三区视频在线观看 | 免费国产成人高清在线观看网站 | 青青久在线视频免费观看 | 免费观看的无遮挡av | 色综合久久中文娱乐网 | 综合网日日天干夜夜久久 | 久久久久免费看成人影片 | 中文字幕乱妇无码av在线 | 无码毛片视频一区二区本码 | 久久久久99精品成人片 | 亚洲人成无码网www | 成在人线av无码免观看麻豆 | 国精产品一区二区三区 | 丰满岳乱妇在线观看中字无码 | 成人免费无码大片a毛片 | 国产电影无码午夜在线播放 | 免费无码肉片在线观看 | 色一情一乱一伦一区二区三欧美 | 97久久超碰中文字幕 | 少妇久久久久久人妻无码 | 久久国内精品自在自线 | 人人妻在人人 | 亚洲国产日韩a在线播放 | 久久无码中文字幕免费影院蜜桃 | 美女毛片一区二区三区四区 | 精品无码av一区二区三区 | 正在播放老肥熟妇露脸 | 黑人巨大精品欧美黑寡妇 | 亚洲熟妇色xxxxx亚洲 | 牲欲强的熟妇农村老妇女视频 | 亚洲乱码国产乱码精品精 | 国产精品va在线观看无码 | 激情爆乳一区二区三区 | 日本xxxx色视频在线观看免费 | 国产精品亚洲一区二区三区喷水 | 国产乡下妇女做爰 | 国产欧美熟妇另类久久久 | 午夜肉伦伦影院 | 人妻天天爽夜夜爽一区二区 | 在线观看欧美一区二区三区 | 永久黄网站色视频免费直播 | 午夜免费福利小电影 | 免费网站看v片在线18禁无码 | 成人片黄网站色大片免费观看 | 亚洲色偷偷男人的天堂 | 国模大胆一区二区三区 | 精品国产aⅴ无码一区二区 | 中文字幕色婷婷在线视频 | 亚洲日韩av片在线观看 | 无码乱肉视频免费大全合集 | 国产成人精品无码播放 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 人妻熟女一区 | 欧美日本免费一区二区三区 | 国产午夜无码视频在线观看 | 乱中年女人伦av三区 | 亚洲国产综合无码一区 | 动漫av网站免费观看 | 亚洲国精产品一二二线 | 在线观看国产一区二区三区 | 东京热一精品无码av | 亚洲а∨天堂久久精品2021 | 国产午夜视频在线观看 | 国产成人午夜福利在线播放 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 婷婷综合久久中文字幕蜜桃三电影 | 国产精品自产拍在线观看 | 亚洲色成人中文字幕网站 | 亚洲の无码国产の无码影院 | а√资源新版在线天堂 | 日日摸日日碰夜夜爽av | 国产精品亚洲专区无码不卡 | 人妻人人添人妻人人爱 | 大色综合色综合网站 | 亚洲无人区午夜福利码高清完整版 | 蜜臀aⅴ国产精品久久久国产老师 | 成人片黄网站色大片免费观看 | 欧美日韩视频无码一区二区三 | 日韩成人一区二区三区在线观看 | 爆乳一区二区三区无码 | 国产又爽又黄又刺激的视频 | 青草青草久热国产精品 | 蜜桃视频韩日免费播放 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 老太婆性杂交欧美肥老太 | 国产精品va在线播放 | 亚洲熟妇色xxxxx欧美老妇y | 精品aⅴ一区二区三区 | aⅴ在线视频男人的天堂 | 一本大道久久东京热无码av | 国产人妻大战黑人第1集 | 牲欲强的熟妇农村老妇女视频 | 无码人妻丰满熟妇区毛片18 | 在线观看国产一区二区三区 | 午夜精品一区二区三区的区别 | 久久综合色之久久综合 | 任你躁国产自任一区二区三区 | 99久久婷婷国产综合精品青草免费 | 国产午夜亚洲精品不卡下载 | 久久久精品456亚洲影院 | 亚洲小说图区综合在线 | 国产午夜亚洲精品不卡 | 欧美三级a做爰在线观看 | 国产真人无遮挡作爱免费视频 | 午夜不卡av免费 一本久久a久久精品vr综合 | 国产sm调教视频在线观看 | 成人欧美一区二区三区黑人免费 | 天下第一社区视频www日本 | 国产又爽又猛又粗的视频a片 | 国产人妻久久精品二区三区老狼 | 久久亚洲精品成人无码 | 荫蒂被男人添的好舒服爽免费视频 | 97精品国产97久久久久久免费 | 野狼第一精品社区 | 国产人妖乱国产精品人妖 | 人妻人人添人妻人人爱 | 小泽玛莉亚一区二区视频在线 | 无码毛片视频一区二区本码 | 麻花豆传媒剧国产免费mv在线 | 极品嫩模高潮叫床 | 久久精品国产99久久6动漫 | 国产精品无码一区二区桃花视频 | 亚洲午夜福利在线观看 | 国产亚洲视频中文字幕97精品 | 久久五月精品中文字幕 | 四虎影视成人永久免费观看视频 | 欧美国产日韩久久mv | 日日噜噜噜噜夜夜爽亚洲精品 | 国产精华av午夜在线观看 | 国产色视频一区二区三区 | 精品成在人线av无码免费看 | 黑森林福利视频导航 | 国产人妻精品一区二区三区不卡 | 国内精品九九久久久精品 | 一本久道久久综合狠狠爱 | 国产无遮挡又黄又爽又色 | 波多野结衣一区二区三区av免费 | 少妇无码一区二区二三区 | 东北女人啪啪对白 | 亚洲日本一区二区三区在线 | 无码人妻黑人中文字幕 | 亚洲精品一区二区三区在线观看 | 亚洲国产av精品一区二区蜜芽 | 亚洲精品综合一区二区三区在线 | 永久黄网站色视频免费直播 | 国产精品久久久久久亚洲毛片 | 免费中文字幕日韩欧美 | 久久精品无码一区二区三区 | 国产精品.xx视频.xxtv | 婷婷丁香五月天综合东京热 | 欧美人与物videos另类 | 中文字幕av无码一区二区三区电影 | 中文字幕无码日韩专区 | 精品久久综合1区2区3区激情 | 特大黑人娇小亚洲女 | 极品尤物被啪到呻吟喷水 | 亚洲熟妇自偷自拍另类 | 国产偷抇久久精品a片69 | 国产无遮挡又黄又爽又色 | 无码福利日韩神码福利片 | 成人欧美一区二区三区黑人免费 | 国产成人无码av一区二区 | 青青青爽视频在线观看 | 亚洲大尺度无码无码专区 | 76少妇精品导航 | 亚洲一区二区三区播放 | 少妇愉情理伦片bd | 任你躁国产自任一区二区三区 | 动漫av网站免费观看 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 久久久久亚洲精品中文字幕 | 免费观看激色视频网站 | 夜精品a片一区二区三区无码白浆 | 精品国产aⅴ无码一区二区 | 久久人妻内射无码一区三区 | 人人妻人人藻人人爽欧美一区 | 色综合视频一区二区三区 | 国产成人无码区免费内射一片色欲 | 正在播放东北夫妻内射 | 欧美 日韩 亚洲 在线 | 内射白嫩少妇超碰 | 日韩人妻系列无码专区 | 好爽又高潮了毛片免费下载 | 国产成人精品视频ⅴa片软件竹菊 | 中文字幕无码av激情不卡 | 一本久久a久久精品亚洲 | 一本色道久久综合狠狠躁 | 亚洲精品久久久久久久久久久 | 亚洲乱码日产精品bd | 日韩成人一区二区三区在线观看 | 亚洲精品久久久久久久久久久 | 国产精品欧美成人 | 国产精品久免费的黄网站 | 欧洲美熟女乱又伦 | 欧美真人作爱免费视频 | 中文精品无码中文字幕无码专区 | 国产小呦泬泬99精品 | 久久久婷婷五月亚洲97号色 | 成人免费视频视频在线观看 免费 | 99精品无人区乱码1区2区3区 | 日本va欧美va欧美va精品 | 亚洲精品www久久久 | 国产免费久久久久久无码 | 精品人人妻人人澡人人爽人人 | ass日本丰满熟妇pics | 久久午夜无码鲁丝片午夜精品 | 青草青草久热国产精品 | 影音先锋中文字幕无码 | 亚洲成a人一区二区三区 | 日本精品人妻无码免费大全 | 欧洲熟妇色 欧美 | 红桃av一区二区三区在线无码av | 亚洲中文字幕乱码av波多ji | 久久99精品久久久久久动态图 | 日韩精品一区二区av在线 | 欧美喷潮久久久xxxxx | 色综合视频一区二区三区 | 1000部啪啪未满十八勿入下载 | 亚欧洲精品在线视频免费观看 | 亚洲男人av香蕉爽爽爽爽 | 成人精品一区二区三区中文字幕 | 波多野结衣一区二区三区av免费 | 18无码粉嫩小泬无套在线观看 | 色五月五月丁香亚洲综合网 | 欧美黑人乱大交 | 狠狠综合久久久久综合网 | 国内精品久久毛片一区二区 | 欧美丰满老熟妇xxxxx性 | 国产人妻人伦精品1国产丝袜 | 一二三四在线观看免费视频 | 欧美精品免费观看二区 | 久久精品无码一区二区三区 | 日本丰满护士爆乳xxxx | 亚洲国产精品毛片av不卡在线 | 蜜桃无码一区二区三区 | 55夜色66夜色国产精品视频 | 久久综合色之久久综合 | 国产精品久久久久久无码 | 美女毛片一区二区三区四区 | 亚洲综合另类小说色区 | 亚洲区小说区激情区图片区 | 麻豆蜜桃av蜜臀av色欲av | 免费无码的av片在线观看 | 婷婷五月综合缴情在线视频 | 久久人人爽人人爽人人片av高清 | 国产熟妇高潮叫床视频播放 | 欧美午夜特黄aaaaaa片 | 欧美人与物videos另类 | 5858s亚洲色大成网站www | 狠狠cao日日穞夜夜穞av | 精品无码成人片一区二区98 | 午夜嘿嘿嘿影院 | 内射白嫩少妇超碰 | 99麻豆久久久国产精品免费 | 久久精品国产大片免费观看 | 牛和人交xxxx欧美 | 久久无码中文字幕免费影院蜜桃 | 精品一区二区三区无码免费视频 | 亚洲自偷自拍另类第1页 | 精品日本一区二区三区在线观看 | 午夜熟女插插xx免费视频 | 国产精品无码一区二区三区不卡 | 丰满诱人的人妻3 | 国产成人综合在线女婷五月99播放 | 99精品无人区乱码1区2区3区 | 国产在线一区二区三区四区五区 | 夫妻免费无码v看片 | 日本饥渴人妻欲求不满 | 亚洲精品国产第一综合99久久 | 在线欧美精品一区二区三区 | 久久精品国产亚洲精品 | 中文字幕无码免费久久99 | 欧美35页视频在线观看 | 97无码免费人妻超级碰碰夜夜 | 欧美丰满老熟妇xxxxx性 | 荫蒂添的好舒服视频囗交 | 欧美国产日韩久久mv | 久久久国产一区二区三区 | 成人无码视频免费播放 | 午夜熟女插插xx免费视频 | 日韩精品久久久肉伦网站 | 无码人妻黑人中文字幕 | 熟妇女人妻丰满少妇中文字幕 | 午夜性刺激在线视频免费 | 国产成人精品久久亚洲高清不卡 | 国产午夜手机精彩视频 | 久久人人97超碰a片精品 | 国内少妇偷人精品视频 | 国产在线一区二区三区四区五区 | 亚洲国产精品一区二区第一页 | 啦啦啦www在线观看免费视频 | 日本免费一区二区三区最新 | 无码福利日韩神码福利片 | 少妇被黑人到高潮喷出白浆 | 又湿又紧又大又爽a视频国产 | 熟女少妇在线视频播放 | 人人超人人超碰超国产 | 国产精品久久久一区二区三区 | 扒开双腿吃奶呻吟做受视频 | 亚洲欧美色中文字幕在线 | 国产av一区二区精品久久凹凸 | 成人影院yy111111在线观看 | 国产女主播喷水视频在线观看 | 精品国产精品久久一区免费式 | 午夜男女很黄的视频 | 中文字幕无码热在线视频 | 久久亚洲精品成人无码 | 日本熟妇大屁股人妻 | 午夜精品一区二区三区的区别 | 日韩av无码中文无码电影 | 宝宝好涨水快流出来免费视频 | 国产美女极度色诱视频www | 大地资源网第二页免费观看 | 中文字幕+乱码+中文字幕一区 | 大肉大捧一进一出视频出来呀 | 噜噜噜亚洲色成人网站 | 99精品无人区乱码1区2区3区 | 野狼第一精品社区 | 荫蒂被男人添的好舒服爽免费视频 | 久久熟妇人妻午夜寂寞影院 | 乱中年女人伦av三区 | 天海翼激烈高潮到腰振不止 | 成人性做爰aaa片免费看不忠 | 小sao货水好多真紧h无码视频 | 中文字幕人成乱码熟女app | 伊人久久大香线蕉av一区二区 | 国产精品亚洲一区二区三区喷水 | 亚洲精品无码国产 | 中文字幕久久久久人妻 | 国产一区二区三区精品视频 | 全黄性性激高免费视频 | 毛片内射-百度 | 又湿又紧又大又爽a视频国产 | 99精品视频在线观看免费 | 国产成人亚洲综合无码 | 国产精品久久精品三级 | 日本大乳高潮视频在线观看 | 国产亚洲欧美日韩亚洲中文色 | 人妻无码久久精品人妻 | 国产精品久久久av久久久 | 久久人人爽人人人人片 | 欧美zoozzooz性欧美 | 丰满少妇高潮惨叫视频 | 久久久久亚洲精品男人的天堂 | 无码毛片视频一区二区本码 | 亚洲精品无码国产 | 女高中生第一次破苞av | 成人av无码一区二区三区 | √天堂资源地址中文在线 | 人妻少妇精品视频专区 | 亚洲精品国产第一综合99久久 | 久久99热只有频精品8 | 人人妻人人澡人人爽欧美一区九九 | 丰满肥臀大屁股熟妇激情视频 | 一本久久a久久精品vr综合 | 免费观看激色视频网站 | 夜精品a片一区二区三区无码白浆 | 国产三级久久久精品麻豆三级 | 好男人社区资源 | 亚洲国产精品一区二区美利坚 | 人妻插b视频一区二区三区 | 一本久道久久综合狠狠爱 | 中文字幕无码乱人伦 | 精品厕所偷拍各类美女tp嘘嘘 | 娇妻被黑人粗大高潮白浆 | 99国产精品白浆在线观看免费 | 国产亚洲精品久久久久久大师 | 精品欧美一区二区三区久久久 | 亚洲国产精品一区二区美利坚 | 秋霞特色aa大片 | 夜夜夜高潮夜夜爽夜夜爰爰 | 国产69精品久久久久app下载 | 在线天堂新版最新版在线8 | 真人与拘做受免费视频一 | 国产av无码专区亚洲awww | 好屌草这里只有精品 | 久久综合香蕉国产蜜臀av | 综合激情五月综合激情五月激情1 | 又色又爽又黄的美女裸体网站 | 欧美日本日韩 | 人人妻人人澡人人爽欧美一区 | 亚洲无人区一区二区三区 | 波多野结衣 黑人 | 久久综合狠狠综合久久综合88 | 人人爽人人爽人人片av亚洲 | 中文字幕无码av波多野吉衣 | 亚洲色无码一区二区三区 | 无码人妻精品一区二区三区下载 | 精品厕所偷拍各类美女tp嘘嘘 | 奇米影视7777久久精品人人爽 | 中文字幕人成乱码熟女app | 精品久久久久久人妻无码中文字幕 | 东京热一精品无码av | 欧美性猛交xxxx富婆 | 日日摸夜夜摸狠狠摸婷婷 | 天干天干啦夜天干天2017 | 任你躁国产自任一区二区三区 | 最新版天堂资源中文官网 | 久久久国产精品无码免费专区 | 国产精品久久久久久亚洲影视内衣 | а√资源新版在线天堂 | 国产精品无码一区二区桃花视频 | 四虎影视成人永久免费观看视频 | 国产成人久久精品流白浆 | 又大又硬又爽免费视频 | 最新版天堂资源中文官网 | 久精品国产欧美亚洲色aⅴ大片 | 少妇太爽了在线观看 | 亚洲成色在线综合网站 | 日韩精品a片一区二区三区妖精 | 久久久国产精品无码免费专区 | 全球成人中文在线 | 午夜福利一区二区三区在线观看 | 中文字幕+乱码+中文字幕一区 | 午夜无码人妻av大片色欲 | 欧美精品无码一区二区三区 | 98国产精品综合一区二区三区 | 精品国产福利一区二区 | 在线а√天堂中文官网 | 午夜性刺激在线视频免费 | 18精品久久久无码午夜福利 | 中文字幕 人妻熟女 | 人妻熟女一区 | 久久久精品456亚洲影院 | 亚洲成av人综合在线观看 | 日韩欧美群交p片內射中文 | 正在播放老肥熟妇露脸 | 西西人体www44rt大胆高清 | 在线 国产 欧美 亚洲 天堂 | 国产激情一区二区三区 | 亚洲成色在线综合网站 | 少妇无码一区二区二三区 | 亚洲综合色区中文字幕 | 久久久av男人的天堂 | 日韩精品a片一区二区三区妖精 | 亚无码乱人伦一区二区 | 亚洲人成网站色7799 | 欧美 亚洲 国产 另类 | 国产香蕉97碰碰久久人人 | 夜精品a片一区二区三区无码白浆 | 少妇厨房愉情理9仑片视频 | 乌克兰少妇xxxx做受 | 97久久超碰中文字幕 | 一本无码人妻在中文字幕免费 | 亚洲综合无码一区二区三区 | 亚洲国产精品久久久天堂 | 成人欧美一区二区三区 | 亚洲精品久久久久久久久久久 | 久久aⅴ免费观看 | 精品无码国产一区二区三区av | 久久亚洲精品中文字幕无男同 | 国产香蕉尹人综合在线观看 | 国产精品爱久久久久久久 | 国产亚洲精品久久久ai换 | 中文字幕av伊人av无码av | 国产午夜无码精品免费看 | 丝袜足控一区二区三区 | 久久久国产精品无码免费专区 | 特级做a爰片毛片免费69 | 国产猛烈高潮尖叫视频免费 | 国产精品va在线观看无码 | 国产热a欧美热a在线视频 | 亚洲精品国产第一综合99久久 | 亚洲成av人在线观看网址 | 激情内射日本一区二区三区 | 97夜夜澡人人爽人人喊中国片 | 精品一区二区三区波多野结衣 | 久久国内精品自在自线 | 色爱情人网站 | 亚洲国产精品无码一区二区三区 | 欧美日韩在线亚洲综合国产人 | 在线播放亚洲第一字幕 | 天天躁日日躁狠狠躁免费麻豆 | 无码国模国产在线观看 | 强辱丰满人妻hd中文字幕 | 精品国产av色一区二区深夜久久 | 欧美 丝袜 自拍 制服 另类 | 水蜜桃亚洲一二三四在线 | 久久久久久av无码免费看大片 | 中文精品久久久久人妻不卡 | 国产乱人伦偷精品视频 | 四虎4hu永久免费 | 成熟女人特级毛片www免费 | 久久99精品国产麻豆 | 日韩av无码一区二区三区 | 荫蒂被男人添的好舒服爽免费视频 | 国产精品国产自线拍免费软件 | 亚洲中文字幕在线观看 | 亚洲成av人在线观看网址 | 国产精品久久久久久亚洲毛片 | 免费观看又污又黄的网站 | 牲欲强的熟妇农村老妇女 | 未满成年国产在线观看 | 久久99精品久久久久久动态图 | 激情亚洲一区国产精品 | 午夜精品久久久久久久久 | 精品久久久无码人妻字幂 | 一区二区三区高清视频一 | 久久五月精品中文字幕 | 亚洲综合伊人久久大杳蕉 | 欧美亚洲日韩国产人成在线播放 | 在线a亚洲视频播放在线观看 | 欧美 日韩 人妻 高清 中文 | 国产内射老熟女aaaa | 伊人久久大香线蕉午夜 | 亚洲国产精华液网站w | 综合人妻久久一区二区精品 | 天天拍夜夜添久久精品大 | 少妇无码av无码专区在线观看 | 中国大陆精品视频xxxx | 精品久久久无码人妻字幂 | 欧美猛少妇色xxxxx | 久久人妻内射无码一区三区 | 4hu四虎永久在线观看 | 亚洲精品午夜国产va久久成人 | 亚洲无人区午夜福利码高清完整版 | 欧美性生交xxxxx久久久 | 男女爱爱好爽视频免费看 | 日本高清一区免费中文视频 | 欧美日韩亚洲国产精品 | 88国产精品欧美一区二区三区 | 激情爆乳一区二区三区 | 小鲜肉自慰网站xnxx | 国产激情无码一区二区 | 午夜性刺激在线视频免费 | 国产精品久久久久久亚洲毛片 | 国产精品自产拍在线观看 | 国产人妻大战黑人第1集 | 熟妇女人妻丰满少妇中文字幕 | 欧美野外疯狂做受xxxx高潮 | 精品国产一区二区三区四区在线看 | 成人欧美一区二区三区 | 免费观看黄网站 | 国产精品久久久久久亚洲影视内衣 | 丰满少妇人妻久久久久久 | 亚洲国产精品成人久久蜜臀 | 亚洲中文字幕无码中字 | 成熟妇人a片免费看网站 | 午夜精品久久久内射近拍高清 | 日日摸天天摸爽爽狠狠97 | 免费国产黄网站在线观看 | 亚洲精品www久久久 | 精品无人国产偷自产在线 | 亚洲中文字幕无码中文字在线 | 99久久人妻精品免费一区 | 国产成人一区二区三区在线观看 | 婷婷丁香六月激情综合啪 | 狠狠色噜噜狠狠狠狠7777米奇 | 国产无套内射久久久国产 | 99视频精品全部免费免费观看 | 日本免费一区二区三区最新 | 女人被男人躁得好爽免费视频 | 夜夜夜高潮夜夜爽夜夜爰爰 | 亚洲人成无码网www | 中文久久乱码一区二区 | 亚洲国产精品久久久天堂 | 亚洲精品国产第一综合99久久 | 日本护士xxxxhd少妇 | 久久午夜夜伦鲁鲁片无码免费 | 领导边摸边吃奶边做爽在线观看 | 国产另类ts人妖一区二区 | 十八禁真人啪啪免费网站 | 久久精品视频在线看15 | 久久久久免费精品国产 | 亚洲一区二区三区 | 日韩少妇白浆无码系列 | 色偷偷人人澡人人爽人人模 | 亚洲 日韩 欧美 成人 在线观看 | 亚洲娇小与黑人巨大交 | 丁香花在线影院观看在线播放 | 学生妹亚洲一区二区 | 欧美zoozzooz性欧美 | 伊人久久大香线蕉av一区二区 | 人妻夜夜爽天天爽三区 | 丝袜 中出 制服 人妻 美腿 | 疯狂三人交性欧美 | 男人和女人高潮免费网站 | 内射后入在线观看一区 | 欧美熟妇另类久久久久久多毛 | 色一情一乱一伦一区二区三欧美 | 亚洲精品一区三区三区在线观看 | 国产精品资源一区二区 | 一二三四社区在线中文视频 | 亚洲啪av永久无码精品放毛片 | 两性色午夜免费视频 | 又色又爽又黄的美女裸体网站 | 色狠狠av一区二区三区 | 99久久无码一区人妻 | 国产精品内射视频免费 | 极品嫩模高潮叫床 | 久久精品丝袜高跟鞋 | 成人精品视频一区二区三区尤物 | 一本色道婷婷久久欧美 | 国产在热线精品视频 | 狠狠cao日日穞夜夜穞av | 日韩少妇内射免费播放 | 青青青爽视频在线观看 | 国内精品人妻无码久久久影院 | 高潮毛片无遮挡高清免费 | 欧美freesex黑人又粗又大 | 成人一区二区免费视频 | 欧美国产日韩久久mv | 亚洲热妇无码av在线播放 | 欧美色就是色 | 天天拍夜夜添久久精品大 | 国产亚洲精品久久久久久国模美 | 午夜福利试看120秒体验区 | 国产偷自视频区视频 | 5858s亚洲色大成网站www | 一个人看的www免费视频在线观看 | 青春草在线视频免费观看 | 天天燥日日燥 | 久久久亚洲欧洲日产国码αv | 成人欧美一区二区三区 | 日日天日日夜日日摸 | 99er热精品视频 | 国产精品a成v人在线播放 | 牲欲强的熟妇农村老妇女视频 | 国产热a欧美热a在线视频 | 久久久久久久女国产乱让韩 | 午夜精品一区二区三区的区别 | 日韩精品无码一区二区中文字幕 | 亚洲人亚洲人成电影网站色 | 日韩av无码一区二区三区 | 女人高潮内射99精品 | 3d动漫精品啪啪一区二区中 | 国产精品无码久久av | 内射爽无广熟女亚洲 | 久久久成人毛片无码 | 国产明星裸体无码xxxx视频 | 色综合久久88色综合天天 | 欧洲精品码一区二区三区免费看 | 国产精品无码mv在线观看 | 黄网在线观看免费网站 | 动漫av网站免费观看 | 人人妻人人藻人人爽欧美一区 | 男女超爽视频免费播放 | 亚洲国产午夜精品理论片 | 色综合久久久无码中文字幕 | 久久97精品久久久久久久不卡 | 成人欧美一区二区三区 | 国产特级毛片aaaaaa高潮流水 | 特黄特色大片免费播放器图片 | 狠狠色噜噜狠狠狠7777奇米 | 国产极品视觉盛宴 | 精品成在人线av无码免费看 | 色婷婷香蕉在线一区二区 | 强奷人妻日本中文字幕 | 麻豆国产人妻欲求不满 | 无码人妻久久一区二区三区不卡 | 国产又爽又猛又粗的视频a片 | 思思久久99热只有频精品66 | 国产成人精品视频ⅴa片软件竹菊 | 精品偷自拍另类在线观看 | 1000部啪啪未满十八勿入下载 | 欧美自拍另类欧美综合图片区 | 永久免费观看国产裸体美女 | 亚洲精品综合五月久久小说 | 永久免费观看美女裸体的网站 | 欧洲欧美人成视频在线 | 国产精品爱久久久久久久 | 精品国产福利一区二区 | 精品偷自拍另类在线观看 | 少妇性l交大片 | 中文字幕+乱码+中文字幕一区 | 国产成人无码a区在线观看视频app | 欧美人妻一区二区三区 | 亚洲一区二区三区在线观看网站 | 精品一区二区不卡无码av | v一区无码内射国产 | 高清国产亚洲精品自在久久 | 国产在线精品一区二区三区直播 | 国产精品无码一区二区三区不卡 | 亚洲日本va中文字幕 | 麻豆果冻传媒2021精品传媒一区下载 | 帮老师解开蕾丝奶罩吸乳网站 | 伊人久久大香线蕉午夜 | 久久精品99久久香蕉国产色戒 | 一本久久a久久精品亚洲 | 国色天香社区在线视频 | 欧美刺激性大交 | 婷婷色婷婷开心五月四房播播 | 97精品国产97久久久久久免费 | 18禁黄网站男男禁片免费观看 | 亚洲日韩av片在线观看 | 久久综合久久自在自线精品自 | 欧美 丝袜 自拍 制服 另类 | 日韩av无码一区二区三区不卡 | 1000部夫妻午夜免费 | 少妇无套内谢久久久久 | 亚洲gv猛男gv无码男同 | 国产无遮挡吃胸膜奶免费看 | 久久久久99精品成人片 | 婷婷色婷婷开心五月四房播播 | 亚洲国产欧美日韩精品一区二区三区 | 无码人妻丰满熟妇区五十路百度 | 4hu四虎永久在线观看 | 131美女爱做视频 | 在教室伦流澡到高潮hnp视频 | 综合激情五月综合激情五月激情1 | 国产亚洲人成a在线v网站 | 国产成人综合在线女婷五月99播放 | 高清不卡一区二区三区 | 无码av免费一区二区三区试看 | 久久国产精品萌白酱免费 | 亚洲精品国产a久久久久久 | 妺妺窝人体色www在线小说 | 成人综合网亚洲伊人 | 麻豆果冻传媒2021精品传媒一区下载 | 国产suv精品一区二区五 | 人人妻人人澡人人爽精品欧美 | 国产精品内射视频免费 | 图片区 小说区 区 亚洲五月 | 中文字幕人妻无码一区二区三区 | а√天堂www在线天堂小说 | 亚洲精品久久久久久一区二区 | 精品国产一区av天美传媒 | 高清不卡一区二区三区 | 欧美人与禽zoz0性伦交 | 亚洲乱亚洲乱妇50p | 日韩人妻无码一区二区三区久久99 |