3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python进阶到高阶大全(强烈推荐)

發布時間:2023/12/20 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python进阶到高阶大全(强烈推荐) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

關鍵字is 和 == 的區別

a = 'hello world' b = 'hello world' a == b #返回True a is b #返回False

注意:is 判斷是否是一個ID, == 判斷內容是否一致。

深拷貝和淺拷貝

import copy a = [1,2,3,4,5] b = a #淺拷貝,a,b同時指向一個id,當其中一個修改時,另外一個也會被修改。 c = copy.deepcopy(a) #深拷貝,c單獨開辟一個id,用來存儲和a一樣的內容。 d =a[:] #這樣也是深拷貝。 e = copy.copy(a) #當拷貝內容是可變類型時,那么就會進行深拷貝,如果是不可變類型時,那么就會進行淺拷貝。

注意:深拷貝指的是復制內容,單獨開辟一個內存,淺拷貝指的是兩個變量同時指向一個內存ID。
私有化和Property

class Test(object):def __init__(self):self.__num = 100@getNum.setter #等同步于 porperty(setNum,getNum)def setNum(self,num): #將self.__num的屬性封裝。self.__num = num@porperty #等于getNum = porperty(getNum) 默認的是getter方法。def getNum(self) #獲取__num的值。return self.__numnum = porperty(getNum,setNum) #使用關鍵字porperty將getNum和setNum方法打包使用,并將引用賦予屬性num。 t = Test() print(t.__num) #將會出錯,表示輸出私有屬性,外部無法使用。 t.__num = 200 #這里將會理解為添加屬性 __num = 200,而不是重新賦值私有屬性。 print(t.__num) #這里輸出的200是定義的屬性__num,而不是self.__num。 t.setNum(200) #通過set方法將私有屬性重新賦值。 t.getNum() #通過get方法獲取__num的值。 print(_Test__num) #私有屬性其實是系統再私有屬性前加上了一個_Test,就是一個下劃線加類名。t.num = 300 #調用類屬性num,并重新賦值,porperty會自動檢測set方法和get方法,并將引用賦值給set方法。 print(t.num) #輸出類屬性,并會自己檢測使用get方法進行輸出。

注意: num 前后沒有下劃線的是公有方法,_num 前邊有一個下劃線的為私有方法或屬性,子類無法繼承, 前邊有兩個下劃線的 一般是為了避免于子類屬性或者方法名沖突,無法在外部直接訪問。前后都有雙下劃線的為系統方法或屬性。后邊單個下劃線的可以避免與系統關鍵詞沖突。

列表生成式

range(1,100,5) #第一個參數表示開始位,第二個參數表示結束位(不含),第三個參數表示步長,就是每5個數返回一次。 a = [i for i in range(1,10)] #列表生成式表示返回i的值,并且返回9次,每次返回的是i的值。 a = [2 for i in range(1,10)] #這里表示返回2,并且返回9次,但是每次的值都是2。 a = [i for i in range10 if i%2==0] #表示在生成式內部加入if判斷,當i除以2的余數等于0的時候將數值返回。 a = [(i,j) for i in range(5) for j in range(5)] #表示將i和j的值以元組為元素的形式返回,當i循環一次的時候j循環5次,以此類推。

生成器

a = (i for i in range(1,10)) #將列表生成試外部的中括號改為小括號,就能將生成式轉化為生成器。 next(a),a.__next__() #生成器的取值方式只能使用next的方法。 def num():a,b = 0,1for i in range(10):yield b #生成關鍵字yield,有yield的關鍵字的代碼塊就是yield的生成器。當運行到yield時代碼就會停止,并返回運行結果,當在次運行時依舊是到yield停止,并返回結果。 切記:生成器只能使用next方法。a,b = b,a+btemp = yield b #這里并不是變量的定義,當運行到yield時就會停止,所以當運行到等號右邊的時候就會停止運行,當在次使用next的時候,將會把一個None賦值給temp,因為b的值已經在上輪循環中輸出。這里可以使用num().send()方法將一個新的值賦值給temp。 a = num() #將生成器賦值給變量a。 for n in a: #生成器可以使用for循環使用,并且不會出錯。print(n)

注意:生成器占用內存小,在使用的時候取值,降低CPU和內存空間,提高效率。并且一般都使用for循環進行取值。

迭代器

for i in '',[],(),{},{:} #可以for循環的對象是可迭代對象。 a = (x for i in range(100)) #列表生成式,把中括號改為小括號就可以變為一個列表生成器,是可迭代對象。 from collections import Iterable #如果想驗證是否是可迭代對象,可以使用isinstance()判斷是否是可迭代對象。 isinstance('abc',Ierable) #判斷語法 a = [1,2,3,4,5] b = iter(a) #使用iter()方法可以將可迭代對象轉換為可迭代對象。

注意:生成器是可迭代對象,迭代器不一定是生成器。并且迭代器無法回取,只能向前取值。
注意:一個對象具有 iter 方法的才能稱為可迭代對象,使用yield生成的迭代器函數,也有iter方法。凡是沒有iter方法的對象不是可迭代對象,凡是沒有__next__()方法的不是是生成器。(這里的方法都是魔法方法,是內置方法,可以使用dir()查看)

閉包

def num(num): #定義函數def num_in(nim_in): #定義函數return num + num_in #返回兩個參數的和。return num_in #返回內部函數的引用。(變量名)a = num(100) #將參數為100的函數num接收,并賦值給a,只不過這個返回值是一個函數的引用。等于 a = num_in,注意這里接收的不光是函數本身,還有已經傳遞的參數。 b = a(100) #調用函數a,即num_in,并傳遞一個參數100,返回值給b。

注意:當一個函數定義在另一個函數內,且使用到了外部函數的參數。整個代碼塊稱為閉包。當外部參數確定時,內部函數參數可以反復調用。

裝飾器

裝飾沒有參數的函數

def function(func): #定義了一個閉包def func_in(): #閉包內的函數print('這里是需要裝飾的內容,就是需要添加的內容')func() #調用實參函數。return func_indef test(): #需要被裝飾修改的函數。print('無參函數的測試')test = function(test) #裝飾器的原理就是將原有的函數名重新定義為以原函數為參數的閉包。 test() 這里再次掉用test()的時候,其實是將會調用閉包內的函數func_in()。所以將會起到裝飾修改的作用,最后會再次調用原函數test()。@function #裝飾器的python寫法,等價于test = function(test),并且無需調用當代碼運行道這里,Python會自動運行。 def test():print('無參函數的測試') test() #這里再次調用函數時,將會產生修改后的效果。

裝飾帶有參數的函數

def function(func): #定義了一個閉包def func_in(*args,**kwargs): #閉包內的函數,因為裝飾器運行的實則是閉包內的函數,所以這里將需要有形參用來接收原函數的參數。print('這里是需要裝飾的內容,就是需要添加的內容')func(*args,**kwargs) #調用實參函數,并傳入一致的實參。return func_in@function #裝飾器的python寫法,等價于test = function(test) . def test():print('無參函數的測試')test(5,6) #這里再次掉用test()的時候,其實是將會調用閉包內的函數func_in()。所以將會起到裝飾修改的作用,最后會再次調用原函數test()。

裝飾帶有返回值的函數

def function(func): #定義了一個閉包def func_in(*args,**kwargs): #閉包內的函數,因為裝飾器運行的實則是閉包內的函數,所以這里將需要有形參用來接收原函數的參數。print('這里是需要裝飾的內容,就是需要添加的內容')num = func(*args,**kwargs) #調用實參函數,并傳入一致的實參,并且用變量來接收原函數的返回值,return num #將接受到的返回值再次返回到新的test()函數中。return func_in @function def test(a,b): #定義一個函數return a+b #返回實參的和

通用裝飾器

def function(func): #定義了一個閉包def func_in(*args,**kwargs): #閉包內的函數,因為裝飾器運行的實則是閉包內的函數,所以這里將需要有形參用來接收原函數的參數。print('這里是需要裝飾的內容,就是需要添加的內容')num = func(*args,**kwargs) #調用實參函數,并傳入一致的實參,并且用變量來接收原函數的返回值,return num #將接受到的返回值再次返回到新的test()函數中。return func_in

帶有參數的裝飾器

def func(*args,**kwags):def function(func): #定義了一個閉包def func_in(*args,**kwargs): #閉包內的函數,因為裝飾器運行的實則是閉包內的函數,所以這里將需要有形參用來接收原函數的參數。print('這里是需要裝飾的內容,就是需要添加的內容')num = func(*args,**kwargs) #調用實參函數,并傳入一致的實參,并且用變量來接收原函數的返回值,return num #將接受到的返回值再次返回到新的test()函數中。return func_inreturn function@func(50) #這里會先運行函數func,并切傳入參數,之后會再次運行閉包函數進行裝飾, @func(50)>>@function,然后將由@function繼續進行裝飾修改。 def test(a,b):print('這是一個函數')return a+b
  • ?
class Test(object): #定義一個類def __init__(self,func):self.__func = funcdef __call__(self): #定義call方法,當直接調用類的時候,運行這里。print('這里是裝飾的功能')self.__func() t = Test() #實例化對象 t() #調用類,將會調用call方法。@Test #類裝飾器等于test = Test(test),將函數test當作參數傳入類中的init方法,并將函數名賦值給私有屬性__func,當函數test被調用的時候,其實是運行Test類中的call方法. def test():print('被裝飾的函數') test() #這里調用的不在是函數test,而是實例對象test的call方法,會先進行裝飾,然后再調用私有屬性__func(),__func 其實就是被裝飾的函數test。

動態語言添加屬性和方法

class Person(): #創建一個類def __init__(self,name): #定義初始化信息。self.name = name li = Person('李') #實例化Person('李'),給變量li li.age = 20 #再程序沒有停止下,將實例屬性age傳入。動態語言的特點。 Person.age = None #這里使用類名來創建一個屬性age給類,默認值是None。Python支持的動態屬性添加。 def eat(self): #定義一個方法,不過這個方法再類之外。print('%s正在吃東西。。'%self.name) import types #動態添加方法需要使用tpyes模塊。 li.eat = types.MethodType(eat,li) #使用types.MethodType,將函數名和實例對象傳入,進行方法綁定。并且將結果返回給li.eat變量。實則是使用一個和li.eat方法一樣的變量名用來調用。 li.eat() #調用外部方法eat()方法。@staticmethod #定義靜態方法。 def test(): #定義靜態方法,靜態方法可以不用self參數。print('這是一個靜態方法。') Person.test = test #使用類名.方法名 = test的形式來方便記憶和使用,Person.test其實只是一個變量名,沒有特殊的含義。 Person.test() #調用test方法。@classmethod #類方法 def test(cls): print('這是一個類方法。') Person.test = test #定義一個類屬性等于方法名。 Person.test() #調用方法。class test(object): #定義一個類。__slots__ = ('name','age') #使用slots來將屬性固定,不能進行動態添加修改。

元類

創建帶有類屬性的類

Test = type('Test',(object,),{'num':0} #元類是只使用type創建的類,使用type會有3個參數,第一個是類名,第二個小括號內是父類名,需要使用元組。第三個字典中是類屬性,使用type能夠快速的動態創建一個類。 class Test(object): #創建一個類,等價于上邊num = 0

創建帶有方法的類

def eat(self): #定義一個函數,self作為第一個參數。print ('%s正在吃飯。。'%self.name) Person = type('Person',(object,), {'eat':eat,'name':None} #使用type創建一個類,但是有兩個屬性,一個是eat,一個是name,但是eat的值是函數eat的引用。 p = Person() #實例化 p.name = 'Tom' #類屬性賦值 p.eat() #調用eat()方法。

內建屬性

__init__ #構造初始化函數,__new__之后運行 __new__ #創建實例所需的屬性 __class__ #實例所在的類,實例.__class__ __str__ #實例的字符串表示,可讀性高 __repr__ #實例的字符串表示,準確性高 __del__ #刪除實例引用 __dict__ #實力自定義屬性,vars(實例.__dict__) __doc__ #類文檔,help(類或者實例) __bases__ #當前類的所有父類 __getattribute__ #屬性訪問攔截器。

內建方法

range(start,stop,[,step]) #生成器 map(function, iterable, ...) # map() 會根據提供的函數對指定序列做映射。 filter(function, iterable) #filter() 函數用于過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。 reduce(function, iterable[, initializer]) #reduce() 函數會對參數序列中元素進行累積。 sorted(iterable[, cmp[, key[, reverse]]]) #sorted() 函數對所有可迭代的對象進行排序操作。sort 與 sorted 區別: sort 是應用在 list 上的方法,sorted 可以對所有可迭代的對象進行排序操作。 list 的 sort 方法返回的是對已經存在的列表進行操作,而內建函數 sorted 方法返回的是一個新的 list,而不是在原來的基礎上進行的操作。

PDB調試

1.python -m pdb xxx.py #在命令行輸入以上命令,進入pdb調試模式。XXX.py表示需要打開的文件。 2.import pdb pdb.run('func(*args)') #第二種方式,當程序在運行中調試。 3.pdb.set_trace() #第三種方法,當程序運行到這行代碼時,就會自動運行。 l(list) # 顯示全部代碼 n(next) # 向下執行一行代碼 c(contiune) # 執行余下的代碼 b(break) 10 # 設置斷點,b 10表示將斷點設置到第10行。clear 1,刪除第一個斷點 p(print) a,b #打印變量的值 a(args) #打印全部的形參數據 s(step) #進入到一個函數 r(return) #快速執行到函數的最后一行

進程和線程

進程

import os pid = os.fork() #這里將會創建一個子進程,返回值會是子進程PID值。 print('父子進程都會輸出。') #這里沒有判斷語句,將會運行兩次,一次是父進程,一次是子進程。 if pid > 0: #判斷,父進程的返回值會大于0。print('子進程的PID是%d,父進程的PID是%d'%(os.getpid(),os.getppid())) #getpid的獲取當前進程的pid,如果子進程getpid的時候,會得到子進程的值,再子進程使用getppid的時候能夠獲取到父進程的pid。 else: #子進程的返回值則會永遠是0print('父進程的PID是%d'%os.getpid()) #當父進程使用getpid的時候獲得的是父進程的pid。

**注意:**進程值PID是不能重復的,類似于端口。系統會為每個進程會分配不同的PID進行區分不同的軟件進程。并且父子進程會獨立運行,互不干擾。而且父子進程的調用需要系統來調度,沒有固定性。

import os pid = os.fork() #創建子進程,接收pid的返回值。 if pid > 0: #判斷是子進程還是父進程。print('父進程') #當pid的返回值是0的時候,會運行父進程 else:print('子進程') #否則就是子進程 pid =os.fork() #讓之前的父子進程再次創建各自的子進程 if pid > 0: #判斷父子進程print('父進程的子進程') #這里會運行2次父進程 else:print('子進程的子進程') #這里也會運行兩次子進程

windons中的fork()-Process

from multiprocessing import Process #導入模塊類,這是一個類 import time def test(): #定義一個函數while True:print('-1-')time.sleep(1) p = Process(target=test) #創建一個實例,就是一個新進程,并且執行的代碼就是test()函數 p.start() #調用start方法讓子進程開始運行。 p.join(10) #join表示延時時間,也就是等待子進程的時間,當10秒過了以后,則會運行主進程。 while True: #這里是主進程。print('-2-')time.sleep(1)

注意:Process需要自己創建進程,以及調用開始進程,fork則是全自動運行。后期最好以Process為主,可實現跨平臺運行。還有最主要的一點是Process的主進程會等待子進程。

Process實例

from multiprocessing import Process import timeclass Process_class(Process): #創建一個Process的子類。def run(self): #重寫run方法,當調用start方法時,則會默認調用run方法,所以不用再填寫target參數。while True:print('--1--')time.sleep(1) p = Process_class() #實例化一個子進程。 p.start() #運行子進程 p.join(5) #這里將會等待子進程單獨運行5秒。 while True: #主進程,當join等待結束收,則會父子進程一起運行。但是如果當父進程運行完,子進程還沒有結束,那么父進程會繼續等子進程。print('--main--')time.sleep(1)

進程池Pool

from multiprocessing import Pool #導入Pool模塊類 import os,time def work(num): #創建一個進程的工作函數。for i in range(2): #表示每次工作需要執行2次。print('進程的pid是%d,進程值是%d'%(os.getpid(),num)) #輸出兩次time.sleep(1)p = Pool(2) #實例化對象,參數2表示創建2個子進程,就是說每次只能執行2個進程。for i in range(6): print('--%d--'%i)p.apply_async(work,(i,)) #向實例對象添加6次任務,就是6個進程,但是實例對象的進程池只有2個,需要每次執行2個進程,當2個進程執行完以后則會再次執行下面2個。p.close() #關閉進程池,不再接收進程任務。 p.join() #當子進程工作結束后,則會運行主進程。

Queue隊列

Process的Queue用法

from multiprocessing import Process,Queue #導入Process和Queue import os,time,randomdef write(q): #定義函數,接收Queue的實例參數for v in range(10):print('Put %s to Queue'%v)q.put(v) #添加數據到Queuetime.sleep(1) def read(q): #定義函數,接收Queue的實例參數while True:if not q.empty(): #判斷,如果Queue不為空則進行數據取出。v = q.get(True) #取出Queue中的數據,并返回保存。print('Get %s from Queue'%v)time.sleep(1)else: #如果Queue內沒有數據則退出。breakif __name__ == '__main__':q = Queue() #實例化Queue括號內可選填,輸入數字表示有多少個存儲單位。以堵塞方式運行。必須等里邊有空余位置時,才能放入數據,或者只能等里邊有數據時才能取出數據,取不出數據,或者存不進數據的時候則會一直在等待狀態。pw = Process(target=write,args=(q,)) #實例化子進程pw,用來執行write函數,注意這里的函數不帶括號,只是傳遞引用,參數需要使用args參數以元組的方式進行接收。pr = Process(target=read,args=(q,)) #實例化子進程pr,用來執行read函數,注意這里的函數不帶括號,只是傳遞引用,參數需要使用args參數以元組的方式進行接收。pw.start() #開始執行pw。pr.start() #開始執行pr。pw.join() #等待pw結束pr.join() #等待pr結束print('Over') #主進程結束

Pool的Queue用法

from multiprocessing import Manager,Pool #這里注意導入的是Manager和Pool import os,time,randomdef write(q):for v in range(10):print('Put %s to Queue'%v)q.put(v)time.sleep(1) def read(q):while True:if not q.empty():v = q.get(True)print('Get %s from Queue'%v)time.sleep(1)else:breakif __name__ == '__main__':q = Manager().Queue() #這里實例化的時候是使用Manager的Queuep = Pool()p.apply_async(write,(q,)) #將任務加入Pool的進程池,注意這里的參數于Process不同。p.apply_async(read,(q,)) #將任務加入Pool的進程池,注意這里的參數于Process不同。p.close() #關閉進程池,不再接收進程。p.join() #子進程完畢,運行以下的主進程。print('Over')

線程

from threading import Thread #導入Thread線程類。 import timenum = 0 #定義全局變量def work(): #定義函數內容global num for i in range(1000000):num += 1print('work的num是%d'%num)def works(): #定義函數global numfor i in range(1000000):num += 1print('works的num是%d'%num)t = Thread(target=work) #創建第一個線程內置的self.name屬性為Thread-1,并指向work tt = Thread(target=works) #創建第二個線程內置的self.name屬性為Thread-2,并指向works t.start() #開始執行 tt.start() #開始執行 time.sleep(1) #主線程休息一秒 print('最后的num值是%d'%num) #輸出最后的結果。

注意:線程中的變量數據是可以共享的,進程與線程的區別在于,父子進程是兩個單獨的個體,子進程類似于直接拷貝的一份父進程的代碼獨立運行,相當于兩個文件。線程則是再主進程的內部分裂運行。舉例子來說一個工廠需要做100萬件衣服,但是工期太緊,自己做太慢,老板現在有兩個選擇,一個是雇傭另外一個同樣規模的工廠一起來做,兩個工廠一起做——進程,另外一個選擇就是在自己的工廠內大批量的招募工人用來趕工——線程。總得來說線程的消耗成本會比進程低很多。

互斥鎖

from threading import Thread,Lock #導入互斥鎖Locknum = 0def work():global numl.acquire() #這里表示調用互斥鎖上鎖方法,如果work函數先運行l.acquire的話,那么后邊的程序就不能再修改和使用變量num。直到將其解鎖后才能使用。for i in range(1000000):num += 1print('work的num是%d'%num)l.release() #這里表示調用互斥鎖解鎖方法。def works():global numl.acquire() #這里表示調用互斥鎖上鎖方法。for i in range(1000000):num += 1print('works的num是%d'%num)l.release() #這里表示調用互斥鎖解鎖方法。l = Lock() #實例化互斥鎖,互斥鎖是為了保護子線程不爭搶數據而使用的一個類。 t = Thread(target=work) tt = Thread(target=works) t.start() tt.start() print('最后的num值是%d'%num) #輸出最后的結果,如果實驗過的可能會發現這個結果并不是2000000,為什么呢? 這里需要明白,主線程和子線程是同時進行的,因為創建子進程在前,最后輸出再后,所以當最后線程輸出的時候,子線程還在運行,也就是說當子線程的加法運算加到95222的時候你的 主進程剛好運行到最后的輸出語句,所以就把95222拿過來進行輸出。你也可以試試將最后的輸出語句放到實例化的前邊,看看結果是不是0,因為子線程還沒有開始工作,所以并沒有進行加法運算。

注意:因為線程的數據是共享數據,不用Queue就能實現,所以也會存在一些弊端,因為線程是在進程間獨立運行的,所以共享數據會有一定的延時性和不準確性,舉例家里有10個饅頭,2個孩子,第一個孩子拿走一個會記得還剩下9個,第二個孩子去拿的時候會記得還剩下8個,但是當第一個孩子再去拿的時候會發現只剩下7個了,但是之前明明還剩下9個,這樣就會出現問題。互斥鎖的作用就是再廚房裝上一把鎖,當第一個孩子餓的時候就進去吃饅頭,將門反鎖,這樣第二個孩子就吃不到再門口等著,當第一個吃飽的時候第二個再進去,也把門鎖上。這樣一個一個的來避免沖突。

同步、異步

import threading import timeclass MyThread(threading.Thread):def run(self):global num time.sleep(1)if mutex.acquire(1): num = num+1msg = self.name+' set num to '+str(num)print msgmutex.release() num = 0 mutex = threading.Lock() def test():for i in range(5):t = MyThread()t.start() if __name__ == '__main__':test()
  • ?
Thread-3 set num to 1 Thread-4 set num to 2 Thread-5 set num to 3 Thread-2 set num to 4 Thread-1 set num to 5
  • ?

注意:這里就是一個簡單的同步,使用互斥鎖來實現,因為每個線程在創建運行的時候都是各自做各自的,如果沒有互斥鎖來約束步調,那么結果是1,2,3,4,5的概率是未知數,但是加上了互斥鎖以后,就會對線程的運行順序進行排隊,達到預期的結果。而異步則是各個線程獨立運行,誰先做完就休息,不用等待。

threadlocal

import threading #導入模塊l = threading.local() #實例化local,注意這個local和Lock互斥鎖的名稱不同。def work(name): #創建函數l.name = name #將參數name傳遞給local實例對象的name屬性。注意:這里的l.name是創建的對象屬性。works() #調用work函數def works(): #創建函數name = l.nameprint('hello,%s,線程的name是%s'%(name,threading.current_thread().name))t1 = threading.Thread(target=work,args=('小李',)) #實例化線程對象,并調用work,參數name是小李。 t2 = threading.Thread(target=work,args=('小王',))#實例化線程對象,并調用work,參數name是小王。 t1.start() t2.start() t1.join() t2.join()
  • ?

注意:threadlocal是比較方便的共享數據處理辦法,他的內部類似于一個字典,Thread.name作為Key,對應的屬性作為Value,當Thread-1儲存和取值的時候,對應的是它的值,從而避免多個線程對共有數據造成錯誤和丟失。

網絡編程

Tcp/Ip協議

早期的計算機網絡,都是由各廠商自己規定一套協議,IBM、Apple和Microsoft都有各自的網絡協議,互不兼容為了把全世界的所有不同類型的計算機都連接起來,就必須規定一套全球通用的協議,為了實現互聯網這個目標,互聯網協議簇(Internet ProtocolSuite)就是通用協議標準。

因為互聯網協議包含了上百種協議標準,但是最重要的兩個協議是TCP和IP協議,所以,大家把互聯網的協議簡稱TCP/IP協議

端口

知名端口

知名端口是眾所周知的端口號,范圍從0到1023
例如:
80端口分配給HTTP服務
21端口分配給FTP服務
一般情況下,如果一個程序需要使用知名端口的需要有root權限

動態端口

動態端口的范圍是從1024到65535
之所以稱為動態端口,是因為它一般不固定分配某種服務,而是動態分配。
動態分配是指當一個系統進程或應用程序進程需要網絡通信時,它向主機申請一個端口,主機從可用的端口號中分配一個供它使用。當這個進程關閉時,同時也就釋放了所占用的端口號。

小結
端口有什么作用?在兩臺計算機通信時,只發 IP 地址是不夠的,因為同一臺計算機上跑著多個網絡程序。一個 IP 包來了之后,到底是交給瀏覽器還是 QQ,就需要端口號來區分。每個網絡程序都向操作系統申請唯一的端口號,這樣,兩個進程在兩臺計算機之間建立網絡連接就需要各自的 IP 地址和各自的端口號。

Socket-套接字

udp-套接字

from socket import * #導入socket from threading import * #導入threadingudp = socket(AF_INET,SOCK_DGRAM) #創建套接字,基于UDP傳輸協議。相對于TCP比較快。AF_INET表示使用IPV4進行鏈接。如果使用IPV6則把參數修改為AF_INET6udp.bind(('',8080)) #綁定任意ip,和8080端口,如果不進行綁定,那么每創建一個套解字就會使用一個動態端口。sendip = input('輸入接收方的IP:') sendport = int(input('輸入接收方的端口:'))def sendinfo(): #定義發送函數while True:senddata = input('請輸入發送的內容:')udp.sendto(senddata.encode('utf-8'),(sendip,sendport)) #調用套解字的sendto方法,第一個參數為編碼后的數據,第二個參數為接收方的IP和端口。def receiveinfo(): #定義接收函數while True:recvdata = udp.recvfrom(1024) #調用recvfrom方法進行數據接收,并且以元祖的方式返回,第一個參數是數據,第二個參數為IP和端口。與發送格式一致。print(recvdata[1],recvdata[0].decode('utf-8')) #將接收到的數據進行打印,并將數據進行解碼。def main():ts = Thread(target=sendinfo) #創建一個線程運行發送函數。tr = Thread(target=receiveinfo) #創建一個線程運行接收函數。ts.start()tr.start()ts.join()tr.join()if __name__ == '__main__':main()

注意:socket套接字是用來再網絡間通信的模塊。

tcp-套接字

tcp-套接字 服務器

from socket import * #導入套接字tcp = socket(AF_INET,SOCK_STREAM) #創建tcp套接字tcp.bind(('',8800)) #綁定ip,和端口,客戶端需要連接這個ip和端口進行服務器連接。tcp.listen(5) #tcp監聽,參數為可連接的數量。newsocket,addr = tcp.accept() #接收客戶端的連接,并返回一個新的socket和客戶端地址。阻塞程序等待客戶端的接入。while 1: # 表示while True,只要條件類型不是空類型、0和None的False類型則就表示while True。socketDate = newsocket.recv(1024) #接收客戶端的數據。if len(socketDate)>0: #如果接收數據的長度大于0,則打印出接收到的信息,如果接收的數據長度為0,則表示客戶端使用close方法關閉了套接字。print(socketDate.decode('utf-8')) #將接收數據解碼為utf-8輸出else: #如果客戶端關閉了套接字,則跳出循環breaksendDate = input('請輸入要回復的內容:') #輸入需要回復的數據newsocket.send(sendDate.encode('utf-8')) #使用send將數據編碼為utf-8回復newsocket.close() #關閉與客戶端通信的套接字。 tcp.close() #關閉服務器的套接字,關閉后將不會再接收客戶端的連接。

注意:在linux系統中listen的參數可以忽略,因為系統會自動按照內核進行最大連接數的操作,即使填寫參數也沒有效果,但是windons和mac中則會有效。以上是單線程案例。

tcp-套接字 客戶端

from socket import * #導入模塊csocket = socket(AF_INET,SOCK_STREAM) #創建套接字serverIp = input('請輸入服務器的IP:') csocket.connect((serverIp,8800)) #連接服務器while 1:sendData = input('請輸入需要發送打內容:') #輸入發送的內容csocket.send(sendData.encode('utf-8')) #編碼發送recvData = csocket.recv(1024)print('recvData:%s'%recvData.decode('utf-8')) #解碼輸出csocket.close() #關閉套接字

注意:正常的編程工作中,會優先使用tcp套接字。

交換機、路由器

交換機

轉發過濾:當?個數據幀的?的地址在MAC地址表中有映射時,它被轉發到連接?的節點的端??不是所有端?(如該數據幀為?播幀則轉發?所有端?)

學習功能:以太?交換機了解每?端?相連設備的MAC地址,并將地址同相應的端?映射起來存放在交換機緩存中的MAC地址表中

交換機能夠完成多個電腦的鏈接每個數據包的發送都是以?播的形式進?的,容易堵塞?絡如果PC不知?標IP所對應的的MAC,那么可以看出,pc會先發送arp?播,得到對?的MAC然后,在進?數據的傳送當switch第?次收到arp?播數據,會把arp?播數據包轉發給所有端?(除來源端?);如果以后還有pc詢問此IP的MAC,那么只是向?標的端?進?轉發數據。

路由器

路由器(Router)?稱?關設備(Gateway)是?于連接多個邏輯上分開的?絡所謂邏輯?絡是代表?個單獨的?絡或者?個??。當數據從?個??傳輸到另?個??時,可通過路由器的路由功能來完成具有判斷?絡地址和選擇IP路徑的功能

不在同??段的pc,需要設置默認?關才能把數據傳送過去 通常情況下,都會把路由器默認?關當路由器收到?個其它?段的數據包時,會根據“路由表”來決定,把此數據包發送到哪個端?;路由表的設定有靜態和動態?法每經過?次路由器,那么TTL值就會減1

網段、ARP、DNS、MAC地址

網段

網段(network segment)一般指一個計算機網絡中使用同一物理層設備(傳輸介質,中繼器,集線器等)能夠直接通訊的那一部分。例如,從192.168.0.1到192.168.255.255這之間就是一個網段。

A類IP段  0.0.0.0 到127.255.255.255 A類的默認子網掩碼 255.0.0.0     一個子網最多可以容納1677萬多臺電腦
B類IP段  128.0.0.0 到191.255.255.255 B類的默認子網掩碼 255.255.0.0    一個子網最多可以容納6萬臺電腦
C類IP段  192.0.0.0 到223.255.255.255 C類的默認子網掩碼 255.255.255.0   一個子網最多可以容納254臺電腦

局域網保留地址:
A類:10.0.0.0/8 10.0.0.0-10.255.255.255
B類:172.16.0.0/12 172.16.0.0-172.31.255.255
C類:192.168.0.0/16 192.168.0.0~192.168.255.255

注意:C類地址必須前三位一致的才算是一個局域網,可以不使用路由器進行通信,例如192.168.1.1-192.168.1.254 是一個局域網,B類地址則必須前兩位一致才算是一個局域網。以此類推。即子網掩碼有幾位相同的則需要有幾位一致的。

ARP

地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到網絡上的所有主機,并接收返回消息,以此確定目標的物理地址;收到返回消息后將該IP地址和物理地址存入本機ARP緩存中并保留一定時間,下次請求時直接查詢ARP緩存以節約資源。地址解析協議是建立在網絡中各個主機互相信任的基礎上的,網絡上的主機可以自主發送ARP應答消息,其他主機收到應答報文時不會檢測該報文的真實性就會將其記入本機ARP緩存;由此攻擊者就可以向某一主機發送偽ARP應答報文,使其發送的信息無法到達預期的主機或到達錯誤的主機,這就構成了一個ARP欺騙。ARP命令可用于查詢本機ARP緩存中IP地址和MAC地址的對應關系、添加或刪除靜態對應關系等。相關協議有RARP、代理ARP。NDP用于在IPv6中代替地址解析協議。

工作過程
主機A的IP地址為192.168.1.1,MAC地址為0A-11-22-33-44-01;
主機B的IP地址為192.168.1.2,MAC地址為0A-11-22-33-44-02;
當主機A要與主機B通信時,地址解析協議可以將主機B的IP地址(192.168.1.2)解析成主機B的MAC地址,以下為工作流程:
第1步:根據主機A上的路由表內容,IP確定用于訪問主機B的轉發IP地址是192.168.1.2。然后A主機在自己的本地ARP緩存中檢查主機B的匹配MAC地址。
第2步:如果主機A在ARP緩存中沒有找到映射,它將詢問192.168.1.2的硬件地址,從而將ARP請求幀廣播到本地網絡上的所有主機。源主機A的IP地址和MAC地址都包括在ARP請求中。本地網絡上的每臺主機都接收到ARP請求并且檢查是否與自己的IP地址匹配。如果主機發現請求的IP地址與自己的IP地址不匹配,它將丟棄ARP請求。
第3步:主機B確定ARP請求中的IP地址與自己的IP地址匹配,則將主機A的IP地址和MAC地址映射添加到本地ARP緩存中。
第4步:主機B將包含其MAC地址的ARP回復消息直接發送回主機A。
第5步:當主機A收到從主機B發來的ARP回復消息時,會用主機B的IP和MAC地址映射更新ARP緩存。本機緩存是有生存期的,生存期結束后,將再次重復上面的過程。主機B的MAC地址一旦確定,主機A就能向主機B發送IP通信了。

DNS

DNS服務器是(Domain Name System或者Domain Name Service)域名系統或者域名服務,域名系統為Internet上的主機分配域名地址和IP地址。用戶使用域名地址,該系統就會自動把域名地址轉為IP地址。域名服務是運行域名系統的Internet工具。執行域名服務的服務器稱之為DNS服務器,通過DNS服務器來應答域名服務的查詢。

MAC地址

MAC(Media Access Control或者Medium Access Control)地址,意譯為媒體訪問控制,或稱為物理地址、硬件地址,用來定義網絡設備的位置。在OSI模型中,第三層網絡層負責 IP地址,第二層數據鏈路層則負責 MAC地址。因此一個主機會有一個MAC地址,而每個網絡位置會有一個專屬于它的IP地址。

MAC(Medium/Media Access Control)地址,用來表示互聯網上每一個站點的標識符,采用十六進制數表示,共六個字節(48位)。其中,前三個字節是由IEEE的注冊管理機構RA負責給不同廠家分配的代碼(高位24位),也稱為"編制上唯一的標識符"(Organizationally Unique Identifier),后三個字節(低位24位)由各廠家自行指派給生產的適配器接口,稱為擴展標識符(唯一性)。一個地址塊可以生成2個不同的地址。MAC地址實際上就是適配器地址或適配器標識符EUI-48[1]

注意:在真正的信息傳輸中,發送者的ip和接收方的ip和數據包內容是不變的,期間會通過各個路由器的mac地址進行傳輸。簡單可以理解為,在網上買了一件衣服,包裹的發送方是商家(可以理解為發送者的IP),包裹的接收方是自己(理解為接收者的IP),期間的各個快遞中轉站就可以理解為各個路由器的mac地址,最后由數據將會傳遞到自己手中。

TCP3次握手、4次揮手和10種狀態

TCP3次握手

在TCP/IP協議中,TCP協議提供可靠的連接服務,采用三次握手建立一個連接.
第一次握手:建立連接時,客戶端發送syn包(syn=j)到服務器,并進入SYN_SEND狀態,等待服務器確認; SYN:同步序列編號(Synchronize Sequence Numbers)
第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手.
完成三次握手,客戶端與服務器開始傳送數據

關閉連接(四次揮手)

第一次揮手:客戶端發送FIN+ACK包(序號為seq=a,確認序號ack=b)給服務端,用來關閉客戶端到服務端的數據傳送,客戶端進入FIN_WAIT_1狀態。
第二次揮手:服務端收到FIN+ACK包后,發送ACK包給客戶端進行確認,服務端進入CLOSE_WAIT狀態。客戶端收到ACK包后進入FIN_WAIT_2狀態。到這里,關閉一個單向通道。
第三次揮手:服務端發送FIN+ACK包給客戶端,服務端進入LAST_ACK狀態。
第四次揮手:客戶端收到FIN+ACK包后,發送ACK包給服務端進行確認,客戶端進入TIME_WAIT狀態,在等待30秒(可修改)后進入CLOSED狀態。服務端收到ACK包后進入CLOSED狀態,關閉另一個單向通道。

TCP十種狀態

CLOSED:表示關閉狀態(初始狀態)。
LISTEN:該狀態表示服務器端的某個SOCKET處于監聽狀態,可以接受連接。
SYN_SENT:這個狀態與SYN_RCVD遙相呼應,當客戶端SOCKET執行CONNECT連接時,它首先發送SYN報文,隨即進入到了SYN_SENT狀態,并等待服務端的發送三次握手中的第2個報文。SYN_SENT狀態表示客戶端已發送SYN報文。
SYN_RCVD: 該狀態表示接收到SYN報文,在正常情況下,這個狀態是服務器端的SOCKET在建立TCP連接時的三次握手會話過程中的一個中間狀態,很短暫。此種狀態時,當收到客戶端的ACK報文后,會進入到ESTABLISHED狀態。
ESTABLISHED:表示連接已經建立。
FIN_WAIT_1: FIN_WAIT_1和FIN_WAIT_2狀態的真正含義都是表示等待對方的FIN報文。區別是: FIN_WAIT_1狀態是當socket在ESTABLISHED狀態時,想主動關閉連接,向對方發送了FIN報文,此時該socket進入到FIN_WAIT_1狀態。 FIN_WAIT_2狀態是當對方回應ACK后,該socket進入到FIN_WAIT_2狀態,正常情況下,對方應馬上回應ACK報文,所以FIN_WAIT_1狀態一般較難見到,而FIN_WAIT_2狀態可用netstat看到。
FIN_WAIT_2:主動關閉鏈接的一方,發出FIN收到ACK以后進入該狀態。稱之為半連接或半關閉狀態。該狀態下的socket只能接收數據,不能發。
TIME_WAIT: 表示收到了對方的FIN報文,并發送出了ACK報文,等2MSL后即可回到CLOSED可用狀態。如果FIN_WAIT_1狀態下,收到對方同時帶 FIN標志和ACK標志的報文時,可以直接進入到TIME_WAIT狀態,而無須經過FIN_WAIT_2狀態。
CLOSE_WAIT: 此種狀態表示在等待關閉。當對方關閉一個SOCKET后發送FIN報文給自己,系統會回應一個ACK報文給對方,此時則進入到CLOSE_WAIT狀態。接下來呢,察看是否還有數據發送給對方,如果沒有可以 close這個SOCKET,發送FIN報文給對方,即關閉連接。所以在CLOSE_WAIT狀態下,需要關閉連接。
LAST_ACK: 該狀態是被動關閉一方在發送FIN報文后,最后等待對方的ACK報文。當收到ACK報文后,即可以進入到CLOSED可用狀態。

tcp第十一種狀態:
CLOSING:這種狀態較特殊,屬于一種較罕見的狀態。正常情況下,當你發送FIN報文后,按理來說是應該先收到(或同時收到)對方的ACK報文,再收到對方的FIN報文。但是CLOSING狀態表示你發送FIN報文后,并沒有收到對方的ACK報文,反而卻也收到了對方的FIN報文。什么情況下會出現此種情況呢?如果雙方幾乎在同時close一個SOCKET的話,那么就出現了雙方同時發送FIN報文的情況,也即會出現CLOSING狀態,表示雙方都正在關閉SOCKET連接。

TCP的2MSL

2MSL即兩倍的MSL,TCP的TIME_WAIT狀態也稱為2MSL等待狀態,
當TCP的?端發起主動關閉,在發出最后?個ACK包后,即第3次握 ?完成后發送了第四次握?的ACK包后就進?了TIME_WAIT狀態,必須在此狀態上停留兩倍的MSL時間,等待2MSL時間主要?的是怕最后?個 ACK包對?沒收到,那么對?在超時后將重發第三次握?的FIN包,主動關閉端接到重發的FIN包后可以再發?個ACK應答包。

在TIME_WAIT狀態 時兩端的端?不能使?,要等到2MSL時間結束才可繼續使?。當連接處于2MSL等待階段時任何遲到的報?段都將被丟棄。不過在實際應?中可以通過設置 SO_REUSEADDR選項達到不必等待2MSL時間結束再使?此端?。

TCP?連接和短連接

短鏈接

?連接

常見的網絡攻擊

DDOS攻擊

注意:簡單的理解DDOS攻擊就是使用TCP的三次握手協議,編寫代碼使用多線程或者多進程方式惡意的不發送第三次握手導致服務器listen隊列爆滿,使正常的客戶無法正常連接。

DNS攻擊

DNS欺騙就是攻擊者冒充域名服務器的一種欺騙行為。 原理:如果可以冒充域名服務器,然后把查詢的IP地址設為攻擊者的IP地址,這樣的話,用戶上網就只能看到攻擊者的主頁,而不是用戶想要取得的網站的主頁了,這就是DNS欺騙的基本原理。DNS欺騙其實并不是真的"黑掉"了對方的網站,而是冒名頂替、招搖撞騙罷了。

ARP攻擊

ARP攻擊就是通過偽造IP地址和MAC地址實現ARP欺騙,能夠在網絡中產生大量的ARP通信量使網絡阻塞,攻擊者只要持續不斷的發出偽造的ARP響應包就能更改目標主機ARP緩存中的IP-MAC條目,造成網絡中斷或中間人攻擊。
ARP攻擊主要是存在于局域網網絡中,局域網中若有一臺計算機感染ARP木馬,則感染該ARP木馬的系統將會試圖通過“ARP欺騙”手段截獲所在網絡內其它計算機的通信信息,并因此造成網內其它計算機的通信故障。
攻擊者向電腦A發送一個偽造的ARP響應,告訴電腦A:電腦B的IP地址192.168.0.2對應的MAC地址是00-aa-00-62-c6-03,電腦A信以為真,將這個對應關系寫入自己的ARP緩存表中,以后發送數據時,將本應該發往電腦B的數據發送給了攻擊者。同樣的,攻擊者向電腦B也發送一個偽造的ARP響應,告訴電腦B:電腦A的IP地址192.168.0.1對應的MAC地址是00-aa-00-62-c6-03,電腦B也會將數據發送給攻擊者。
至此攻擊者就控制了電腦A和電腦B之間的流量,他可以選擇被動地監測流量,獲取密碼和其他涉密信息,也可以偽造數據,改變電腦A和電腦B之間的通信內容。

客戶端:

?

1.Python面向對象

創建類

使用class語句來創建一個新類,class之后為類的名稱并以冒號結尾,如下實例:

class ClassName:'類的幫助信息' #類文檔字符串class_suite #類體

實例: class Employee:'所有員工的基類'empCount = 0def __init__(self, name, salary):self.name = nameself.salary = salaryEmployee.empCount += 1def displayCount(self):print "Total Employee %d" % Employee.empCountdef displayEmployee(self):print "Name : ", self.name, ", Salary: ", self.salary"創建 Employee 類的第一個對象" emp1 = Employee("Zara", 2000) "創建 Employee 類的第二個對象" emp2 = Employee("Manni", 5000) emp1.displayEmployee() emp2.displayEmployee() print "Total Employee %d" % Employee.empCount

輸出結果如下:

Name : Zara ,Salary: 2000 Name : Manni ,Salary: 5000 Total Employee 2 類的私有屬性:

__private_attrs:兩個下劃線開頭,聲明該屬性為私有,不能在類的外部被使用或直接訪問。在類內部的方法中使用時?self.__private_attrs

類的私有方法: __private_method:兩個下劃線開頭,聲明該方法為私有方法,不能在類地外部調用。在類的內部調用?self.__private_methods

class JustCounter:__secretCount = 0 # 私有變量publicCount = 0 # 公開變量def count(self):self.__secretCount += 1self.publicCount += 1print self.__secretCountcounter = JustCounter() counter.count() counter.count() print counter.publicCount print counter.__secretCount # 報錯,實例不能訪問私有變量

輸出結果如下:1 2 2 Traceback (most recent call last):File "test.py", line 17, in <module>print counter.__secretCount # 報錯,實例不能訪問私有變量 AttributeError: JustCounter instance has no attribute '__secretCount'單下劃線,雙下劃線,頭尾雙下劃線說明:
  • __foo__: 定義的是特列方法,類似?__init__()?之類的。

  • _foo: 以單下劃線開頭的表示的是 protected 類型的變量,即保護類型只能允許其本身與子類進行訪問,不能用于?from module import *

  • __foo: 雙下劃線的表示的是私有類型(private)的變量, 只能是允許這個類本身進行訪問了。

2.正則表達式

re.match只匹配字符串的開始,如果字符串開始不符合正則表達式,則匹配失敗,函數返回None;而re.search匹配整個字符串,直到找到一個匹配。

import reline = "Cats are smarter than dogs";matchObj = re.match( r'dogs', line, re.M|re.I) if matchObj:print "match --> matchObj.group() : ", matchObj.group() else:print "No match!!"matchObj = re.search( r'dogs', line, re.M|re.I) if matchObj:print "search --> matchObj.group() : ", matchObj.group() else:print "No match!!"

運行結果如下:

No match!! search --> matchObj.group() : dogs匹配和檢索:

Python 的 re 模塊提供了re.sub用于替換字符串中的匹配項。

語法:

re.sub(pattern, repl, string, count=0, flags=0)

參數:

  • pattern : 正則中的模式字符串。
  • repl : 替換的字符串,也可為一個函數。
  • string : 要被查找替換的原始字符串。
  • count : 模式匹配后替換的最大次數,默認 0 表示替換所有的匹配。

實例

import rephone = "2004-959-559 # 這是一個國外電話號碼"# 刪除字符串中的 Python注釋 num = re.sub(r'#.*$', "", phone) print "電話號碼是: ", num# 刪除非數字(-)的字符串 num = re.sub(r'\D', "", phone) print "電話號碼是 : ", num

以上實例執行結果如下: 電話號碼是: 2004-959-559 電話號碼是 : 2004959559下表列出了正則表達式模式語法中的特殊元素。如果你使用模式的同時提供了可選的標志參數,某些模式元素的含義會改變 模 ? ? ?式描述
^匹配字符串的開頭
$匹配字符串的末尾。
.匹配任意字符,除了換行符,當re.DOTALL標記被指定時,則可以匹配包括換行符的任意字符。
[...]用來表示一組字符,單獨列出:[amk] 匹配 'a','m'或'k'
[^...]不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。
re*匹配0個或多個的表達式。
re+匹配1個或多個的表達式。
re?匹配0個或1個由前面的正則表達式定義的片段,非貪婪方式
re{ n}?
re{ n,}精確匹配n個前面表達式。
re{ n, m}匹配 n 到 m 次由前面的正則表達式定義的片段,貪婪方式
a| b匹配a或b
(re)G匹配括號內的表達式,也表示一個組
(?imx)正則表達式包含三種可選標志:i, m, 或 x 。只影響括號中的區域。
(?-imx)正則表達式關閉 i, m, 或 x 可選標志。只影響括號中的區域。
(?: re)類似 (...), 但是不表示一個組
(?imx: re)在括號中使用i, m, 或 x 可選標志
(?-imx: re)在括號中不使用i, m, 或 x 可選標志
(?#...)注釋.
(?= re)

前向肯定界定符。如果所含正則表達式,以 ... 表示,在當前位置成功匹配時成功,否則失敗。

但一旦所含表達式已經嘗試,匹配引擎根本沒有提高;模式的剩余部分還要嘗試界定符的右邊。

(?! re)前向否定界定符。與肯定界定符相反;當所含表達式不能在字符串當前位置匹配時成功
(?> re)匹配的獨立模式,省去回溯。
\w匹配字母數字及下劃線
\W匹配非字母數字及下劃線
\s匹配任意空白字符,等價于 [\t\n\r\f].
\S匹配任意非空字符
\d匹配任意數字,等價于 [0-9].
\D匹配任意非數字
\A匹配字符串開始
\Z匹配字符串結束,如果是存在換行,只匹配到換行前的結束字符串。c
\z匹配字符串結束
\G匹配最后匹配完成的位置。
\b匹配一個單詞邊界,也就是指單詞和空格間的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。
\B匹配非單詞邊界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。
\n, \t, 等.匹配一個換行符。匹配一個制表符。等
\1...\9匹配第n個分組的內容。
\10匹配第n個分組的內容,如果它經匹配。否則指的是八進制字符碼的表達式。

python高級之面向對象高級

本節內容

  • 成員修飾符
  • 特殊成員
  • 類與對象
  • 異常處理
  • 反射/自省
  • 單例模式
  • 1.成員修飾符

    python的類中只有私有成員和公有成員兩種,不像c++中的類有公有成員(public),私有成員(private)和保護成員(protected).并且python中沒有關鍵字去修飾成員,默認python中所有的成員都是公有成員,但是私有成員是以兩個下劃線開頭的名字標示私有成員,私有成員不允許直接訪問,只能通過內部方法去訪問,私有成員也不允許被繼承。

    class a: # 說明父類的私有成員無法在子類中繼承def __init__(self):self.ge=123self.__gene=456class b(a):def __init__(self,name):self.name=nameself.__age=18super(b,self).__init__() # 這一行會報錯def show(self):print(self.name)print(self.__age)print(self.ge)print(self.__gene) # 這一行也會報錯 obj=b("xiaoming") print(obj.name) print(obj.ge) # print(obj.__gene) # 這個也會報錯 obj.show()

    上面就是類里面的私有成員了。

    2.特殊成員

    1.__init__

    __init__方法可以簡單的理解為類的構造方法(實際并不是構造方法,只是在類生成對象之后就會被執行),之前已經在上一篇博客中說明過了。

    2.__del__

    __del__方法是類中的析構方法,當對象消亡的時候(被解釋器的垃圾回收的時候會執行這個方法)這個方法默認是不需要寫的,不寫的時候,默認是不做任何操作的。因為你不知道對象是在什么時候被垃圾回收掉,所以,除非你確實要在這里面做某些操作,不然不要自定義這個方法。

    3.__call__

    __call__方法在類的對象被執行的時候(obj()或者 類()())會執行。

    4.__int__

    __int__方法,在對象被int()包裹的時候會被執行,例如int(obj)如果obj對象沒有、__int__方法,那么就會報錯。在這個方法中返回的值被傳遞到int類型中進行轉換。

    5.__str__

    __str__方法和int方法一樣,當對象被str(obj)包裹的時候,如果對象中沒有這個方法將會報錯,如果有這個方法,str()將接收這個方法返回的值在轉換成字符串。

    6.__add__

    __add__方法在兩個對象相加的時候,調用第一個對象的__add__方法,將第二個對象傳遞進來,至于怎么處理以及返回值,那是程序員自定義的,就如下面的例子:

    class abc:def __init__(self,age):self.age=agedef __add__(self,obj):return self.age+obj.age a1=abc(18) a2=abc(20) print(a1+a2) #執行結果:38

    7.__dict__

    __dict__方法在類里面有,在對象里面也有,這個方法是以字典的形式列出類或對象中的所有成員。就像下面的例子:

    class abc:def __init__(self,age):self.age=agedef __add__(self,obj):return self.age+obj.age a1=abc(18) print(abc.__dict__) print(a1.__dict__) #執行結果: {'__add__': <function abc.__add__ at 0x0000020666C9E2F0>, '__module__': '__main__', '__weakref__': <attribute '__weakref__' of 'abc' objects>, '__init__': <function abc.__init__ at 0x0000020666C9E268>, '__doc__': None, '__dict__': <attribute '__dict__' of 'abc' objects>} {'age': 18}

    8.__getitem__ __setitem__ __delitem__

    __getitem__方法匹配 對象[索引] 這種方式,__setitem__匹配 對象[索引]=value 這種方式,__delitem__匹配 del 對象[索引] 這種方式,例子如下:

    class Foo:def __init__(self,name,age):self.name=nameself.age=agedef __getitem__(self, item): # 匹配:對象[item]這種形式return item+10def __setitem__(self, key, value): # 匹配:對象[key]=value這種形式print(key,value)def __delitem__(self, key): # 匹配:del 對象[key]這種形式print(key)li=Foo("alex",18) print(li[10]) li[10]=100 del li[10] 執行結果: 20 10 100 10

    9.__getslice__ __setslice__ __delslice__

    這三種方式在python2.7中還存在,用來對對象進行切片的,但是在python3之后,將這些特殊方法給去掉了,統一使用上面的方式對對象進行切片,因此在使用__getitem__ __setitem__ 這兩個方法之前要先判斷傳遞進參數的類型是不是slice對象。例子如下:

    class Foo:def __init__(self,name,age):self.name=nameself.age=ageself.li=[1,2,3,4,5,6,7]def __getitem__(self, item): # 匹配:對象[item]這種形式if isinstance(item,slice): # 如果是slice對象,返回切片后的結果return self.li[item] # 返回切片結果elif isinstance(item,int): # 如果是整形,說明是索引return item+10def __setitem__(self, key, value): # 匹配:對象[key]=value這種形式print(key,value)def __delitem__(self, key): # 匹配:del 對象[key]這種形式print(key)def __getslice__(self,index1,index2):print(index1,index2)li=Foo("alex",18) print(li[3:5]) #執行結果: [4, 5]

    10. __iter__

    類的對象如果想要變成一個可迭代對象,那么對象中必須要有__iter__方法,并且這個方法返回的是一個迭代器。

    for 循環的對象如果是一個可迭代的對象,那么會先執行對象中的__iter__方法,獲取到迭代器,然后再執行迭代器中的__next__方法獲取數據。如果for循環的是一個迭代器,那么直接執行迭代器中的__next__方法。

    class Foo:def __init__(self,name,age):self.name=nameself.age=agedef __iter__(self):return iter([1,2,3,4,5]) # 返回的是一個迭代器 li=Foo("alex",18)# 1.如果類中有__iter__方法,他的對象就是可迭代對象 # 2.對象.__iter()的返回值是一個迭代器 # 3.for循環的如果是迭代器,直接執行.next方法 # 4.for循環的如果是可迭代對象,先執行對象.__iter(),獲取迭代器再執行nextfor i in li:print(i) #執行結果: 1 2 3 4 5

    11.isinstance和issubclass

    之前講過isinstance可以判斷一個變量是否是某一種數據類型,其實,isinstance不只可以判斷數據類型,也可以判斷對象是否是這個類的對象或者是這個類的子類的對象,代碼如下:

    class Foo:def __init__(self,name,age):self.name=nameself.age=age class Son(Foo):pass obj=Son("xiaoming",18) print(isinstance(obj,Foo)) 執行結果:True

    issubclass用來判斷一個類是否是某個類的子類,返回的是一個bool類型數據,代碼如下:

    class Foo:def __init__(self,name,age):self.name=nameself.age=age class Son(Foo):pass obj=Son("xiaoming",18) print(issubclass(Son,Foo)) 執行結果:True

    3.類與對象

    __new__和__metaclass__

    在python中,一切皆對象,我們定義的類其實。。。也是一個對象,那么,類本身是誰的對象呢?在python2.2之前(或者叫經典類中),所有的類,都是class的對象,但是在新式類中,為了將類型(int,str,float等)和類統一,所以,所有的類都是type類型的對象。當然,這個規則可以被修改,在類中有一個屬性 __metaclass__ 可以指定當前類該由哪個類進行實例化。而創建對象過程中,其實構造器不是__init__方法,而是__new__方法,這個方法會返回一個對象,這才是對象的構造器。下面是一個解釋類實例化對象內部實現過程的代碼段:

    class Mytype(type):def __init__(self, what, bases=None, dict=None):super(Mytype,self).__init__(what, bases, dict)def __call__(self, *args, **kwargs):obj=self.__new__(self)self.__init__(obj, *args, **kwargs)return obj class Foo:__metaclass__=Mytypedef __init__(self,name,age):self.name=nameself.age=agedef __new__(cls, *args, **kwargs):return object.__new__(cls) obj=Foo("xiaoming",18) print(obj.name,obj.age) 執行結果:xiaoming 18

    4.異常處理

    python中使用try except finally組合來實現異常撲捉,不像java中是使用try catch finally......其中,except中的Exception是所有異常的父類,下面是一個異常處理的示例:

    try:int("aaa") #可能出現異常的代碼 except IndexError as e: # 捕捉索引異常的子異常,注意,這里的as e在老版本的py中可以寫成,e但是新版本中用as e,",e"未來可能會淘汰print("IndexError:",e) except ValueError as e: # 捕捉value錯誤的子異常print("ValueError:",e) except Exception as e: # 如果上面兩個異常沒有捕獲到,那么使用Exception捕獲,Exception能夠捕獲所有的異常print("Exception:",e) else: # 如果沒有異常發生,執行else中的代碼塊print("true") finally: # 不管是否發生異常,在最后都會執行finally中的代碼,假如try里面的代碼正常執行,先執行else中的代碼,再執行finally中的代碼print("finally") 執行結果: ValueError: invalid literal for int() with base 10: 'aaa' finally

    那么既然Exception是所有異常的父類,我們可以自已定義Exception的子類,實現自定義異常處理,下面就是實現例子:

    class OldBoyError(Exception): # 自定義錯誤類型def __init__(self,message):self.message=messagedef __str__(self): # 打印異常的時候會調用對象里面的__str__方法返回一個字符串return self.message try:raise OldBoyError("我錯了...") # raise是主動拋出異常,可以調用自定義的異常拋出異常 except OldBoyError as e:print(e) 執行結果:我錯了...

    異常處理里面還有一個斷言,一般用在判斷執行環境上面,只要斷言后面的條件不滿足,那么就拋出異常,并且后面的代碼不執行了。

    print(123) assert 1==2 # 斷言,故意拋出異常,做環境監測用,環境監測不通過,報錯并結束程序 print("456") 執行結果:assert 1==2 # 斷言,故意拋出異常,做環境監測用,環境監測不通過,報錯并結束程序 123 AssertionError

    5.反射/自省

    python中的反射/自省的實現,是通過hasattr、getattr、setattr、delattr四個內置函數實現的,其實這四個內置函數不只可以用在類和對象中,也可以用在模塊等其他地方,只是在類和對象中用的很多,所以單獨提出來進行解釋。

  • hasattr(key)返回的是一個bool值,判斷某個成員或者屬性在不在類或者對象中
  • getattr(key,default=xxx)獲取類或者對象的成員或屬性,如果不存在,則會拋出AttributeError異常,如果定義了default那么當沒有屬性的時候會返回默認值。
  • setattr(key,value)假如有這個屬性,那么更新這個屬性,如果沒有就添加這個屬性并賦值value
  • delattr(key)刪除某個屬性
  • 注意,上面的key都是字符串,而不是變量,也就是說可以通過字符串處理類中的成員或者對象中的屬性。下面是一個例子代碼:

    class Foo:def __init__(self,name,age):self.name=nameself.age=agedef show(self):return self.name,self.age obj=Foo("xiaoming",18) print(getattr(obj,"name")) setattr(obj,"k1","v1") print(obj.k1) print(hasattr(obj,"k1")) delattr(obj,"k1") show_fun=getattr(obj,"show") print(show_fun()) 執行結果: xiaoming v1 True ('xiaoming', 18)

    反射/自省能夠直接訪問以及修改運行中的類和對象的成員和屬性,這是一個很強大的功能,并且并不像java中效率很低,所以用的很多。

    下面是一個反射/自省用在模塊級別的例子:

    import s2 operation=input("請輸入URL:") if operation in s2.__dict__:getattr(s2,operation)() else:print("404")#模塊s2中的代碼: def f1():print("首頁") def f2():print("新聞") def f3():print("精選") 執行結果: 請輸入URL:f1 首頁

    6.單例模式

    這里介紹一個設計模式,設計模式在程序員寫了兩三年代碼的時候,到一定境界了,才會考慮到設計模式對于程序帶來的好處,從而使用各種設計模式,這里只是簡單的介紹一個簡單的設計模式:單例模式。在面向對象中的單例模式就是一個類只有一個對象,所有的操作都通過這個對象來完成,這就是面向對象中的單例模式,下面是實現代碼:

    class Foo: # 單例模式__v=None@classmethoddef ge_instance(cls):if cls.__v:return cls.__velse:cls.__v=Foo()return cls.__v obj1=Foo.ge_instance() print(obj1) obj2=Foo.ge_instance() print(obj2) obj3=Foo.ge_instance() print(obj3) 執行結果: <__main__.Foo object at 0x000001D2ABA01860> <__main__.Foo object at 0x000001D2ABA01860> <__main__.Foo object at 0x000001D2ABA01860>

    可以看到,三個對象的內存地址都是一樣的,其實,這三個變量中存儲的都是同一個對象的內存地址,這樣有什么好處呢?能夠節省資源,就比如在數據庫連接池的時候就可以使用單例模式,只創建一個類的對象供其他程序調用,還有在web服務中接收請求也可以使用單例模式來實現,節省資源。

    總結

    以上是生活随笔為你收集整理的python进阶到高阶大全(强烈推荐)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    国产性生大片免费观看性 | 欧美精品无码一区二区三区 | 偷窥村妇洗澡毛毛多 | 少妇无码吹潮 | 狂野欧美性猛xxxx乱大交 | 国产精品人人妻人人爽 | 国产精品手机免费 | 色婷婷av一区二区三区之红樱桃 | 亚洲精品久久久久久一区二区 | 少妇的肉体aa片免费 | 人人爽人人爽人人片av亚洲 | 亚洲国产成人av在线观看 | 国产无av码在线观看 | 国内精品人妻无码久久久影院蜜桃 | 无码人妻精品一区二区三区下载 | 俺去俺来也www色官网 | 久久亚洲a片com人成 | 欧美日韩视频无码一区二区三 | 日欧一片内射va在线影院 | 西西人体www44rt大胆高清 | 粗大的内捧猛烈进出视频 | 亚洲综合无码一区二区三区 | 4hu四虎永久在线观看 | 领导边摸边吃奶边做爽在线观看 | 国产成人无码av在线影院 | 大地资源网第二页免费观看 | 美女极度色诱视频国产 | 日韩精品a片一区二区三区妖精 | 欧美日韩人成综合在线播放 | 内射后入在线观看一区 | 又紧又大又爽精品一区二区 | 狠狠亚洲超碰狼人久久 | 呦交小u女精品视频 | 少妇激情av一区二区 | 国产亚洲人成a在线v网站 | 亚洲爆乳精品无码一区二区三区 | 免费无码一区二区三区蜜桃大 | 亚洲の无码国产の无码影院 | 亚洲精品国偷拍自产在线麻豆 | 婷婷综合久久中文字幕蜜桃三电影 | 欧美人与物videos另类 | 亚洲中文字幕在线无码一区二区 | 久久 国产 尿 小便 嘘嘘 | 国产精品久久久av久久久 | 无码人妻精品一区二区三区下载 | 人妻熟女一区 | 99精品国产综合久久久久五月天 | 奇米影视7777久久精品 | 亚洲精品中文字幕久久久久 | 欧美日韩视频无码一区二区三 | 久久99国产综合精品 | 熟女少妇在线视频播放 | 欧美人与物videos另类 | 久久精品视频在线看15 | 色 综合 欧美 亚洲 国产 | 欧美野外疯狂做受xxxx高潮 | 国产精品毛片一区二区 | 亚洲国产精品美女久久久久 | 国产精品久久久av久久久 | 久久亚洲中文字幕精品一区 | 国产人妻精品一区二区三区不卡 | 岛国片人妻三上悠亚 | √8天堂资源地址中文在线 | 亚洲精品国产第一综合99久久 | 久久人人爽人人人人片 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国产成人一区二区三区在线观看 | 国内精品人妻无码久久久影院蜜桃 | 欧美黑人性暴力猛交喷水 | 永久免费精品精品永久-夜色 | 中文字幕无码日韩专区 | 丰满人妻被黑人猛烈进入 | 国产精品内射视频免费 | 成 人影片 免费观看 | 亚洲熟妇色xxxxx亚洲 | 女人被爽到呻吟gif动态图视看 | 无套内谢的新婚少妇国语播放 | 国产乱子伦视频在线播放 | 久久午夜夜伦鲁鲁片无码免费 | 国产激情艳情在线看视频 | 成人一区二区免费视频 | 亚洲精品久久久久avwww潮水 | 欧美自拍另类欧美综合图片区 | 爱做久久久久久 | 欧美人妻一区二区三区 | 丰满人妻翻云覆雨呻吟视频 | 国产成人亚洲综合无码 | 理论片87福利理论电影 | 色综合久久久久综合一本到桃花网 | 蜜桃视频韩日免费播放 | 特黄特色大片免费播放器图片 | 自拍偷自拍亚洲精品10p | 任你躁在线精品免费 | 欧美精品免费观看二区 | 中文字幕日韩精品一区二区三区 | 精品无码国产自产拍在线观看蜜 | а天堂中文在线官网 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产免费观看黄av片 | 国语自产偷拍精品视频偷 | 国产成人亚洲综合无码 | 人妻互换免费中文字幕 | 老太婆性杂交欧美肥老太 | 自拍偷自拍亚洲精品被多人伦好爽 | 男女下面进入的视频免费午夜 | 精品人妻人人做人人爽 | 国产精品亚洲lv粉色 | 亚洲 另类 在线 欧美 制服 | 全黄性性激高免费视频 | 亚洲中文字幕在线观看 | 精品人人妻人人澡人人爽人人 | 日产精品99久久久久久 | 精品乱子伦一区二区三区 | 国产另类ts人妖一区二区 | 国产人妻精品一区二区三区不卡 | 装睡被陌生人摸出水好爽 | 乱人伦人妻中文字幕无码 | 东京热一精品无码av | 亚洲精品中文字幕 | 性生交大片免费看女人按摩摩 | 理论片87福利理论电影 | 国产亚洲精品久久久久久国模美 | 久久人人爽人人爽人人片ⅴ | 中文字幕久久久久人妻 | 亚洲精品午夜国产va久久成人 | 日韩人妻系列无码专区 | 亚洲自偷精品视频自拍 | 欧美日韩一区二区免费视频 | 成人亚洲精品久久久久软件 | a在线亚洲男人的天堂 | 日本爽爽爽爽爽爽在线观看免 | 亚洲成熟女人毛毛耸耸多 | 亚洲日韩av片在线观看 | 国产精品无码永久免费888 | 天堂亚洲2017在线观看 | 免费无码肉片在线观看 | 香蕉久久久久久av成人 | 欧美人与禽zoz0性伦交 | 国产黑色丝袜在线播放 | 亚洲一区二区三区偷拍女厕 | 一二三四社区在线中文视频 | 国产精品无码一区二区桃花视频 | 亚洲精品久久久久中文第一幕 | 在线看片无码永久免费视频 | av无码不卡在线观看免费 | 国产一区二区三区精品视频 | 亚洲爆乳大丰满无码专区 | 亚洲无人区午夜福利码高清完整版 | 国产另类ts人妖一区二区 | 亚洲天堂2017无码中文 | 色综合久久久无码中文字幕 | 国产精品a成v人在线播放 | 成人精品天堂一区二区三区 | 中文字幕av日韩精品一区二区 | 综合人妻久久一区二区精品 | 欧美大屁股xxxxhd黑色 | 国产精品多人p群无码 | 亚洲人成影院在线观看 | 18禁止看的免费污网站 | 色综合久久久久综合一本到桃花网 | 无码一区二区三区在线观看 | 久久久久久国产精品无码下载 | 国产精品沙发午睡系列 | 国产香蕉97碰碰久久人人 | 国产精品无码永久免费888 | 娇妻被黑人粗大高潮白浆 | a片在线免费观看 | 亚洲а∨天堂久久精品2021 | 人人爽人人澡人人高潮 | 久久久久亚洲精品中文字幕 | 国产乱人偷精品人妻a片 | 色五月五月丁香亚洲综合网 | 国产精品国产三级国产专播 | 国产片av国语在线观看 | 国产精品内射视频免费 | 无码一区二区三区在线 | 欧美日本日韩 | 亚洲中文字幕无码中字 | 综合网日日天干夜夜久久 | 中文精品久久久久人妻不卡 | 国产卡一卡二卡三 | 国产片av国语在线观看 | 国产成人精品视频ⅴa片软件竹菊 | 亚洲の无码国产の无码步美 | 天天躁日日躁狠狠躁免费麻豆 | 色窝窝无码一区二区三区色欲 | 国产在线一区二区三区四区五区 | 亚洲综合久久一区二区 | 三上悠亚人妻中文字幕在线 | 午夜丰满少妇性开放视频 | 亚洲码国产精品高潮在线 | 亚洲成色www久久网站 | 漂亮人妻洗澡被公强 日日躁 | 乱人伦人妻中文字幕无码 | 嫩b人妻精品一区二区三区 | 欧美国产日产一区二区 | 一本色道久久综合狠狠躁 | 天天燥日日燥 | 亚洲熟女一区二区三区 | 色欲av亚洲一区无码少妇 | 扒开双腿疯狂进出爽爽爽视频 | 久久伊人色av天堂九九小黄鸭 | 久久精品人人做人人综合 | 无码精品国产va在线观看dvd | 学生妹亚洲一区二区 | 精品亚洲成av人在线观看 | 国产精品美女久久久 | 免费视频欧美无人区码 | 亚洲第一网站男人都懂 | 男女下面进入的视频免费午夜 | 成人片黄网站色大片免费观看 | 2019nv天堂香蕉在线观看 | 亚洲一区二区三区偷拍女厕 | 精品 日韩 国产 欧美 视频 | 色综合久久中文娱乐网 | 三级4级全黄60分钟 | 香港三级日本三级妇三级 | 久久人人97超碰a片精品 | 日韩欧美中文字幕公布 | 99久久婷婷国产综合精品青草免费 | 小sao货水好多真紧h无码视频 | 伊人久久大香线蕉av一区二区 | 蜜桃视频韩日免费播放 | 成人毛片一区二区 | 亚洲gv猛男gv无码男同 | 一本久久a久久精品vr综合 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 国产av一区二区三区最新精品 | 国产在线精品一区二区三区直播 | 成人aaa片一区国产精品 | 国产精品久久久午夜夜伦鲁鲁 | 亚洲日韩中文字幕在线播放 | 一本久道高清无码视频 | 国产乡下妇女做爰 | av人摸人人人澡人人超碰下载 | 日韩少妇内射免费播放 | 久久人人爽人人爽人人片av高清 | 狠狠色丁香久久婷婷综合五月 | 亚洲一区二区三区无码久久 | 日韩精品无码免费一区二区三区 | 天天做天天爱天天爽综合网 | 又大又硬又爽免费视频 | 久久无码专区国产精品s | 一本精品99久久精品77 | 中文字幕av伊人av无码av | 国产一精品一av一免费 | av人摸人人人澡人人超碰下载 | 在线 国产 欧美 亚洲 天堂 | 人人妻人人澡人人爽精品欧美 | 女人被男人爽到呻吟的视频 | 精品国产一区二区三区四区在线看 | 夜精品a片一区二区三区无码白浆 | 日韩精品久久久肉伦网站 | 中文字幕av日韩精品一区二区 | 欧美熟妇另类久久久久久不卡 | 日本熟妇乱子伦xxxx | 日本精品高清一区二区 | 亚洲一区二区三区播放 | 丰满人妻翻云覆雨呻吟视频 | 亚洲国精产品一二二线 | 欧美精品无码一区二区三区 | 人妻无码久久精品人妻 | 天天爽夜夜爽夜夜爽 | 国产偷国产偷精品高清尤物 | 国产真人无遮挡作爱免费视频 | 亚洲日韩中文字幕在线播放 | 98国产精品综合一区二区三区 | 又粗又大又硬毛片免费看 | 亚洲综合精品香蕉久久网 | 丝袜 中出 制服 人妻 美腿 | 久久久久99精品成人片 | 欧美日韩人成综合在线播放 | 人妻无码αv中文字幕久久琪琪布 | 少妇人妻av毛片在线看 | 国产尤物精品视频 | 久久99国产综合精品 | 日韩欧美群交p片內射中文 | 超碰97人人射妻 | 亚洲色无码一区二区三区 | 亚洲国产精品久久久久久 | 国产精品毛片一区二区 | 黑人玩弄人妻中文在线 | 在线欧美精品一区二区三区 | 少妇性l交大片 | 18禁黄网站男男禁片免费观看 | 国产精品香蕉在线观看 | 正在播放老肥熟妇露脸 | 国产午夜亚洲精品不卡下载 | 性生交片免费无码看人 | √8天堂资源地址中文在线 | 色一情一乱一伦一视频免费看 | 亚洲精品一区三区三区在线观看 | 99国产欧美久久久精品 | 亚洲欧美日韩国产精品一区二区 | 国产精品办公室沙发 | 少妇无码av无码专区在线观看 | 狠狠色噜噜狠狠狠7777奇米 | 国产极品美女高潮无套在线观看 | 夜夜夜高潮夜夜爽夜夜爰爰 | 九九久久精品国产免费看小说 | 中国女人内谢69xxxx | 国产精品无码永久免费888 | 又色又爽又黄的美女裸体网站 | 国产真实夫妇视频 | 精品久久久中文字幕人妻 | 亚洲大尺度无码无码专区 | 久久伊人色av天堂九九小黄鸭 | 精品人妻人人做人人爽 | 亚洲欧美综合区丁香五月小说 | 67194成是人免费无码 | 久久99精品久久久久婷婷 | 撕开奶罩揉吮奶头视频 | 亚洲国产精品成人久久蜜臀 | 国产欧美亚洲精品a | 午夜无码区在线观看 | 国产成人人人97超碰超爽8 | 亚洲欧洲中文日韩av乱码 | 国产精品久久久午夜夜伦鲁鲁 | 少妇无码一区二区二三区 | 老熟女重囗味hdxx69 | 国产亚洲视频中文字幕97精品 | 图片区 小说区 区 亚洲五月 | 成人av无码一区二区三区 | 中文字幕亚洲情99在线 | 18精品久久久无码午夜福利 | 亚洲综合无码久久精品综合 | 熟妇人妻无码xxx视频 | 国产精品久久福利网站 | 日韩av无码一区二区三区不卡 | 九九久久精品国产免费看小说 | 麻豆精品国产精华精华液好用吗 | 成人欧美一区二区三区黑人免费 | 亚洲精品美女久久久久久久 | 久久精品人人做人人综合试看 | 乱人伦人妻中文字幕无码 | 亚洲精品国产精品乱码视色 | 露脸叫床粗话东北少妇 | 欧美午夜特黄aaaaaa片 | 偷窥日本少妇撒尿chinese | 少妇久久久久久人妻无码 | 中文字幕乱码人妻无码久久 | 国内丰满熟女出轨videos | 老熟女乱子伦 | 97色伦图片97综合影院 | 99久久久无码国产精品免费 | 国产人妻久久精品二区三区老狼 | 日日天日日夜日日摸 | а天堂中文在线官网 | 国产精品久久久一区二区三区 | 亚洲狠狠色丁香婷婷综合 | 麻豆精品国产精华精华液好用吗 | 久久综合久久自在自线精品自 | 日本精品人妻无码77777 天堂一区人妻无码 | 一本色道久久综合狠狠躁 | 人妻aⅴ无码一区二区三区 | 国产精品美女久久久网av | 亚洲成色在线综合网站 | 久久久久久久久888 | 精品偷自拍另类在线观看 | 欧美freesex黑人又粗又大 | 欧美野外疯狂做受xxxx高潮 | 国产亚洲精品久久久久久久久动漫 | 久久aⅴ免费观看 | 欧美亚洲国产一区二区三区 | 中文字幕无线码免费人妻 | 高潮毛片无遮挡高清免费 | 国产成人无码av一区二区 | 国产无av码在线观看 | 岛国片人妻三上悠亚 | 熟妇人妻无乱码中文字幕 | 狠狠色色综合网站 | 狂野欧美激情性xxxx | 捆绑白丝粉色jk震动捧喷白浆 | 精品成人av一区二区三区 | 麻豆精产国品 | 黑人巨大精品欧美黑寡妇 | 成年美女黄网站色大免费全看 | 国产在线aaa片一区二区99 | 精品国产一区二区三区四区在线看 | 丰满少妇女裸体bbw | 少妇厨房愉情理9仑片视频 | 男女性色大片免费网站 | 亚洲中文字幕成人无码 | 在线观看国产午夜福利片 | 中文字幕精品av一区二区五区 | 天天摸天天透天天添 | 久久久精品欧美一区二区免费 | www国产亚洲精品久久久日本 | 亚洲一区二区三区播放 | 少妇无码吹潮 | 国产成人无码av片在线观看不卡 | 亚洲成av人片天堂网无码】 | 樱花草在线社区www | 性做久久久久久久免费看 | 少妇激情av一区二区 | 久久久久成人精品免费播放动漫 | 亚洲色www成人永久网址 | 在线成人www免费观看视频 | 精品国产aⅴ无码一区二区 | 亚洲精品午夜无码电影网 | 国产精华av午夜在线观看 | 在线а√天堂中文官网 | 久久久久久国产精品无码下载 | 99视频精品全部免费免费观看 | 狠狠cao日日穞夜夜穞av | 久久 国产 尿 小便 嘘嘘 | 四虎影视成人永久免费观看视频 | 少妇无码一区二区二三区 | 内射欧美老妇wbb | 久久午夜无码鲁丝片 | 乌克兰少妇性做爰 | av在线亚洲欧洲日产一区二区 | 一本色道久久综合狠狠躁 | 欧美日韩久久久精品a片 | 欧美日韩视频无码一区二区三 | 性色欲网站人妻丰满中文久久不卡 | 亚无码乱人伦一区二区 | 久久99精品久久久久婷婷 | 99riav国产精品视频 | 无码人妻久久一区二区三区不卡 | 青草视频在线播放 | 樱花草在线社区www | 99久久精品无码一区二区毛片 | 无码播放一区二区三区 | 激情内射亚州一区二区三区爱妻 | 国产精品国产自线拍免费软件 | 国产成人人人97超碰超爽8 | 中文字幕无码免费久久99 | 国产午夜手机精彩视频 | 国产成人无码av片在线观看不卡 | 在线精品国产一区二区三区 | 久久精品国产一区二区三区肥胖 | 无码人妻久久一区二区三区不卡 | 成熟妇人a片免费看网站 | 国产美女极度色诱视频www | 四十如虎的丰满熟妇啪啪 | 欧美35页视频在线观看 | 天堂久久天堂av色综合 | 嫩b人妻精品一区二区三区 | 日韩亚洲欧美精品综合 | 国产亚洲视频中文字幕97精品 | 扒开双腿吃奶呻吟做受视频 | 日韩av无码中文无码电影 | 奇米影视7777久久精品人人爽 | 中文字幕无码热在线视频 | 成人无码视频在线观看网站 | 国产亚洲精品久久久闺蜜 | 青青草原综合久久大伊人精品 | 国产三级久久久精品麻豆三级 | 国产精品香蕉在线观看 | 熟女少妇人妻中文字幕 | 精品亚洲成av人在线观看 | 18精品久久久无码午夜福利 | 一本大道久久东京热无码av | 日韩 欧美 动漫 国产 制服 | 欧美一区二区三区 | a在线亚洲男人的天堂 | 国产精品无码久久av | 欧美高清在线精品一区 | 亚洲成熟女人毛毛耸耸多 | 久久国产精品萌白酱免费 | 久久久久久久久888 | 正在播放东北夫妻内射 | 欧美日韩人成综合在线播放 | 国产口爆吞精在线视频 | 牛和人交xxxx欧美 | 扒开双腿疯狂进出爽爽爽视频 | 俺去俺来也www色官网 | 国产 精品 自在自线 | 白嫩日本少妇做爰 | 日本丰满护士爆乳xxxx | 欧美兽交xxxx×视频 | 国产av无码专区亚洲a∨毛片 | 国精品人妻无码一区二区三区蜜柚 | 久久精品女人天堂av免费观看 | 天堂一区人妻无码 | 乱人伦人妻中文字幕无码 | 国产无av码在线观看 | 日本大香伊一区二区三区 | 亚洲男人av天堂午夜在 | 精品厕所偷拍各类美女tp嘘嘘 | 国产猛烈高潮尖叫视频免费 | 国产激情无码一区二区 | 高清无码午夜福利视频 | 久在线观看福利视频 | 亚洲经典千人经典日产 | 人妻少妇精品视频专区 | 欧美肥老太牲交大战 | 国产精品怡红院永久免费 | 亚洲人交乣女bbw | 呦交小u女精品视频 | 精品欧洲av无码一区二区三区 | 日韩人妻无码中文字幕视频 | 国产人妻精品一区二区三区不卡 | 亚洲国产成人a精品不卡在线 | 成人无码精品一区二区三区 | 乌克兰少妇性做爰 | 欧美人与动性行为视频 | 又色又爽又黄的美女裸体网站 | 中文字幕无码日韩专区 | 天堂亚洲2017在线观看 | 国产无av码在线观看 | 亚洲人交乣女bbw | 色婷婷欧美在线播放内射 | 奇米影视888欧美在线观看 | 日本va欧美va欧美va精品 | 国产精品视频免费播放 | 久久久精品成人免费观看 | 四虎4hu永久免费 | 亚洲精品鲁一鲁一区二区三区 | 久久久精品欧美一区二区免费 | 亚洲精品久久久久中文第一幕 | 未满成年国产在线观看 | 国产精品丝袜黑色高跟鞋 | 欧洲vodafone精品性 | 久久综合九色综合97网 | 欧美日韩亚洲国产精品 | 小泽玛莉亚一区二区视频在线 | 亚洲成a人片在线观看无码3d | 国产精品免费大片 | 国产精品亚洲а∨无码播放麻豆 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 国产精品理论片在线观看 | 无套内谢的新婚少妇国语播放 | 亚洲精品一区二区三区在线观看 | 国产亚洲精品精品国产亚洲综合 | 日韩欧美群交p片內射中文 | 欧美性猛交xxxx富婆 | 国产黄在线观看免费观看不卡 | 中文字幕无码视频专区 | 国产乱人伦偷精品视频 | 久久久久久亚洲精品a片成人 | 少妇一晚三次一区二区三区 | 亚洲成a人一区二区三区 | 成人精品视频一区二区 | 亚洲国产欧美在线成人 | 樱花草在线播放免费中文 | 中文字幕人成乱码熟女app | 国产精品成人av在线观看 | 日日鲁鲁鲁夜夜爽爽狠狠 | 国产片av国语在线观看 | 国产一区二区三区日韩精品 | 精品一区二区三区波多野结衣 | 国产真人无遮挡作爱免费视频 | 99国产欧美久久久精品 | 国产亚洲精品久久久久久 | 一本久久伊人热热精品中文字幕 | 国产精品资源一区二区 | 国产成人无码av一区二区 | 奇米影视7777久久精品 | 精品欧洲av无码一区二区三区 | 亚洲国产av美女网站 | 国产精品资源一区二区 | 又湿又紧又大又爽a视频国产 | 东京无码熟妇人妻av在线网址 | 亚洲最大成人网站 | 亚洲人成影院在线观看 | 亚洲va中文字幕无码久久不卡 | 国产区女主播在线观看 | 天堂亚洲免费视频 | 1000部啪啪未满十八勿入下载 | 国产成人无码一二三区视频 | 99精品无人区乱码1区2区3区 | 久久综合久久自在自线精品自 | 亚洲国产精品久久久天堂 | 强辱丰满人妻hd中文字幕 | 欧美丰满少妇xxxx性 | 精品国产麻豆免费人成网站 | 国产成人精品三级麻豆 | 国产精品毛片一区二区 | 黑人粗大猛烈进出高潮视频 | 三级4级全黄60分钟 | 日韩欧美中文字幕公布 | 日韩精品一区二区av在线 | 无码帝国www无码专区色综合 | 51国偷自产一区二区三区 | 国产美女精品一区二区三区 | 亚洲精品午夜无码电影网 | 精品人妻人人做人人爽夜夜爽 | 清纯唯美经典一区二区 | 国产小呦泬泬99精品 | 亚洲成a人片在线观看无码3d | 天堂а√在线中文在线 | 无码人妻出轨黑人中文字幕 | 国产无套内射久久久国产 | 国产 浪潮av性色四虎 | 国产成人综合在线女婷五月99播放 | 亚洲色偷偷男人的天堂 | 青青久在线视频免费观看 | 正在播放老肥熟妇露脸 | 131美女爱做视频 | 日本在线高清不卡免费播放 | 性啪啪chinese东北女人 | 精品成在人线av无码免费看 | 日本乱偷人妻中文字幕 | 国产成人精品必看 | 中文字幕+乱码+中文字幕一区 | 99久久无码一区人妻 | 国产黄在线观看免费观看不卡 | 99久久婷婷国产综合精品青草免费 | 亚洲一区二区三区国产精华液 | 精品国偷自产在线 | 亚洲精品国产第一综合99久久 | а√天堂www在线天堂小说 | 午夜福利试看120秒体验区 | 久久精品中文字幕一区 | 久久国内精品自在自线 | 四虎4hu永久免费 | 久久精品99久久香蕉国产色戒 | 亚洲日韩中文字幕在线播放 | 99精品无人区乱码1区2区3区 | 亚洲欧美日韩国产精品一区二区 | 天堂无码人妻精品一区二区三区 | 国产后入清纯学生妹 | 亚洲小说图区综合在线 | 亚洲 日韩 欧美 成人 在线观看 | 国产麻豆精品一区二区三区v视界 | 国产偷抇久久精品a片69 | 久久精品国产精品国产精品污 | 无码吃奶揉捏奶头高潮视频 | 午夜福利电影 | 国产一区二区三区精品视频 | 午夜精品久久久久久久久 | 人人爽人人澡人人高潮 | 久久久久久亚洲精品a片成人 | 亚洲阿v天堂在线 | 久久亚洲日韩精品一区二区三区 | 久久久久国色av免费观看性色 | 人人妻人人澡人人爽精品欧美 | 久久久www成人免费毛片 | 中文字幕人妻丝袜二区 | 女人被男人躁得好爽免费视频 | 中文字幕无码av激情不卡 | 偷窥村妇洗澡毛毛多 | 国产精品资源一区二区 | 天天做天天爱天天爽综合网 | 亚洲国产欧美在线成人 | 色综合久久久无码中文字幕 | 亚洲精品鲁一鲁一区二区三区 | 亚洲精品一区二区三区在线 | 人人妻人人澡人人爽欧美一区 | 狂野欧美性猛xxxx乱大交 | 扒开双腿疯狂进出爽爽爽视频 | 婷婷色婷婷开心五月四房播播 | 99久久精品午夜一区二区 | 97夜夜澡人人双人人人喊 | 亚洲色偷偷偷综合网 | 一二三四社区在线中文视频 | 呦交小u女精品视频 | 国产一区二区三区精品视频 | 成人欧美一区二区三区黑人 | 久久综合九色综合欧美狠狠 | 亚洲gv猛男gv无码男同 | 激情亚洲一区国产精品 | 国内老熟妇对白xxxxhd | 永久免费精品精品永久-夜色 | 午夜精品久久久久久久 | 夜夜影院未满十八勿进 | 无码吃奶揉捏奶头高潮视频 | 国产精品亚洲lv粉色 | 国产午夜亚洲精品不卡 | 特黄特色大片免费播放器图片 | 无码人妻丰满熟妇区毛片18 | 国精产品一区二区三区 | 久久久久成人片免费观看蜜芽 | 亚洲精品一区二区三区大桥未久 | 99久久人妻精品免费二区 | 少妇无码吹潮 | 久久zyz资源站无码中文动漫 | 欧美激情一区二区三区成人 | а天堂中文在线官网 | 国产精品自产拍在线观看 | 久久国产精品精品国产色婷婷 | 欧洲精品码一区二区三区免费看 | 无码av最新清无码专区吞精 | 在线精品亚洲一区二区 | 久热国产vs视频在线观看 | 国产真实乱对白精彩久久 | 正在播放老肥熟妇露脸 | 久久久成人毛片无码 | 一本久久伊人热热精品中文字幕 | 一本久久a久久精品vr综合 | 超碰97人人做人人爱少妇 | 日产国产精品亚洲系列 | 亚洲综合在线一区二区三区 | 内射欧美老妇wbb | 中文字幕无码免费久久9一区9 | 99re在线播放 | 日韩在线不卡免费视频一区 | 成人性做爰aaa片免费看不忠 | 亚洲精品一区二区三区婷婷月 | 国产香蕉尹人视频在线 | 蜜桃臀无码内射一区二区三区 | 国产午夜无码视频在线观看 | 亚洲精品欧美二区三区中文字幕 | 免费无码av一区二区 | 九九综合va免费看 | 性史性农村dvd毛片 | 精品无码国产一区二区三区av | 老熟妇乱子伦牲交视频 | 欧美野外疯狂做受xxxx高潮 | 无码乱肉视频免费大全合集 | 国产麻豆精品精东影业av网站 | 偷窥日本少妇撒尿chinese | 国内揄拍国内精品少妇国语 | 人妻人人添人妻人人爱 | 久久午夜夜伦鲁鲁片无码免费 | 国产黑色丝袜在线播放 | 无码福利日韩神码福利片 | 伊人久久大香线焦av综合影院 | 激情内射日本一区二区三区 | 精品乱子伦一区二区三区 | 中文字幕av伊人av无码av | 精品成人av一区二区三区 | 久久人妻内射无码一区三区 | 少妇被黑人到高潮喷出白浆 | 亚洲色欲色欲欲www在线 | 无码人中文字幕 | 亚洲 日韩 欧美 成人 在线观看 | 精品欧洲av无码一区二区三区 | 青草青草久热国产精品 | 国产亚洲人成在线播放 | 国模大胆一区二区三区 | 中文字幕人妻丝袜二区 | 97久久超碰中文字幕 | 思思久久99热只有频精品66 | 天堂亚洲2017在线观看 | 最新版天堂资源中文官网 | 色欲av亚洲一区无码少妇 | 欧美熟妇另类久久久久久多毛 | 人人妻人人藻人人爽欧美一区 | 学生妹亚洲一区二区 | 亚洲国产精品毛片av不卡在线 | 国产精品久久久久7777 | 成人无码视频免费播放 | www国产精品内射老师 | 成年美女黄网站色大免费视频 | 四虎国产精品一区二区 | 精品久久久无码人妻字幂 | 国产网红无码精品视频 | 日日摸夜夜摸狠狠摸婷婷 | 国产婷婷色一区二区三区在线 | 青草视频在线播放 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲爆乳精品无码一区二区三区 | 一个人看的视频www在线 | 夜夜高潮次次欢爽av女 | 男女超爽视频免费播放 | 亚洲国产欧美在线成人 | 中文字幕乱码中文乱码51精品 | 亚洲精品成a人在线观看 | 少妇性荡欲午夜性开放视频剧场 | 97人妻精品一区二区三区 | 日日橹狠狠爱欧美视频 | 中文字幕日韩精品一区二区三区 | 成人无码精品1区2区3区免费看 | 国产成人久久精品流白浆 | 婷婷五月综合激情中文字幕 | 欧美国产日产一区二区 | 国产三级久久久精品麻豆三级 | 久久精品国产大片免费观看 | 欧美野外疯狂做受xxxx高潮 | 精品人妻人人做人人爽夜夜爽 | 亚洲色无码一区二区三区 | 伊人久久大香线蕉午夜 | а√资源新版在线天堂 | 色欲久久久天天天综合网精品 | 四十如虎的丰满熟妇啪啪 | 国产无套粉嫩白浆在线 | 色爱情人网站 | 亚洲精品无码国产 | 成年美女黄网站色大免费全看 | 在线观看国产午夜福利片 | 日本熟妇浓毛 | 小鲜肉自慰网站xnxx | 精品久久久久久人妻无码中文字幕 | 亚洲一区二区三区偷拍女厕 | 99精品久久毛片a片 | 欧美日韩人成综合在线播放 | 国产精品久久久久久久影院 | 国产免费久久久久久无码 | 人妻无码αv中文字幕久久琪琪布 | 动漫av网站免费观看 | 日日麻批免费40分钟无码 | 久久天天躁夜夜躁狠狠 | 纯爱无遮挡h肉动漫在线播放 | 国产精品久久久一区二区三区 | 中文精品久久久久人妻不卡 | 人妻少妇精品无码专区二区 | 亚洲精品一区二区三区大桥未久 | 国产精品久久久午夜夜伦鲁鲁 | 亚洲精品久久久久中文第一幕 | 香港三级日本三级妇三级 | 亚洲中文字幕在线无码一区二区 | 国产成人无码区免费内射一片色欲 | 国产精品美女久久久网av | 久久国内精品自在自线 | 久久久精品人妻久久影视 | 人妻少妇精品无码专区动漫 | 久久99精品国产麻豆蜜芽 | 国产精品欧美成人 | 98国产精品综合一区二区三区 | 色老头在线一区二区三区 | 美女毛片一区二区三区四区 | 少妇人妻偷人精品无码视频 | 美女黄网站人色视频免费国产 | 久久国产自偷自偷免费一区调 | 亚洲精品一区二区三区婷婷月 | 国产综合色产在线精品 | 永久免费观看国产裸体美女 | 国产后入清纯学生妹 | 久久综合香蕉国产蜜臀av | 亲嘴扒胸摸屁股激烈网站 | 色综合久久久久综合一本到桃花网 | 无码成人精品区在线观看 | 东京热一精品无码av | 97资源共享在线视频 | 波多野42部无码喷潮在线 | а√资源新版在线天堂 | 亚洲国产精品一区二区第一页 | 夜夜夜高潮夜夜爽夜夜爰爰 | 久久精品中文字幕大胸 | 欧美人与牲动交xxxx | 免费观看黄网站 | 久久综合九色综合欧美狠狠 | 亚洲国产精品无码一区二区三区 | 少妇的肉体aa片免费 | 激情爆乳一区二区三区 | 欧美人与善在线com | 成人无码视频在线观看网站 | 中文字幕 人妻熟女 | 亚洲综合另类小说色区 | 国产精品对白交换视频 | 国产熟女一区二区三区四区五区 | 欧美性生交xxxxx久久久 | 波多野结衣av一区二区全免费观看 | 久久伊人色av天堂九九小黄鸭 | 亚洲熟妇色xxxxx欧美老妇y | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 大乳丰满人妻中文字幕日本 | 精品成人av一区二区三区 | 丰满人妻精品国产99aⅴ | 国产精品va在线播放 | 亚洲高清偷拍一区二区三区 | 欧洲vodafone精品性 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲一区二区三区播放 | 国产乱人无码伦av在线a | 国产精品亚洲专区无码不卡 | 国产一区二区三区影院 | 无码乱肉视频免费大全合集 | 国产av无码专区亚洲a∨毛片 | 欧美 丝袜 自拍 制服 另类 | 色综合久久中文娱乐网 | 任你躁国产自任一区二区三区 | 欧美三级不卡在线观看 | 中文字幕无线码免费人妻 | 中文字幕无码av激情不卡 | 噜噜噜亚洲色成人网站 | 99久久精品午夜一区二区 | 日日麻批免费40分钟无码 | 性欧美大战久久久久久久 | 国产va免费精品观看 | 欧美一区二区三区视频在线观看 | 又粗又大又硬毛片免费看 | 日欧一片内射va在线影院 | 日日碰狠狠丁香久燥 | 午夜性刺激在线视频免费 | 国产极品美女高潮无套在线观看 | 特级做a爰片毛片免费69 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 亚洲综合另类小说色区 | 强辱丰满人妻hd中文字幕 | 一区二区三区乱码在线 | 欧洲 | 18无码粉嫩小泬无套在线观看 | 国产精品va在线观看无码 | 天堂无码人妻精品一区二区三区 | 麻豆果冻传媒2021精品传媒一区下载 | 一本久道久久综合婷婷五月 | 99久久人妻精品免费二区 | 偷窥村妇洗澡毛毛多 | 免费人成网站视频在线观看 | 久久综合久久自在自线精品自 | 久久99精品久久久久婷婷 | 亚洲 激情 小说 另类 欧美 | 亚洲码国产精品高潮在线 | 99久久人妻精品免费二区 | 99麻豆久久久国产精品免费 | 一本久道久久综合婷婷五月 | 国产激情无码一区二区app | 日日碰狠狠躁久久躁蜜桃 | 天天综合网天天综合色 | 精品 日韩 国产 欧美 视频 | 日韩 欧美 动漫 国产 制服 | 天天躁夜夜躁狠狠是什么心态 | 啦啦啦www在线观看免费视频 | 未满成年国产在线观看 | 少妇人妻偷人精品无码视频 | 久久久久久久久蜜桃 | 国产内射老熟女aaaa | 国产黑色丝袜在线播放 | 国产疯狂伦交大片 | 综合激情五月综合激情五月激情1 | 好男人www社区 | 国产乱人伦av在线无码 | 中文字幕乱码人妻二区三区 | 伦伦影院午夜理论片 | 中文无码精品a∨在线观看不卡 | 亚洲经典千人经典日产 | 成人欧美一区二区三区黑人免费 | 人妻互换免费中文字幕 | 亚洲中文字幕va福利 | 一本大道伊人av久久综合 | 国产成人亚洲综合无码 | 欧美丰满少妇xxxx性 | 未满成年国产在线观看 | 日韩视频 中文字幕 视频一区 | 精品偷自拍另类在线观看 | 六月丁香婷婷色狠狠久久 | 欧美激情内射喷水高潮 | a片在线免费观看 | 亚洲天堂2017无码 | 亚洲爆乳精品无码一区二区三区 | 麻花豆传媒剧国产免费mv在线 | 少妇愉情理伦片bd | 爆乳一区二区三区无码 | 无码国产色欲xxxxx视频 | 夜夜夜高潮夜夜爽夜夜爰爰 | 一区二区传媒有限公司 | 国产亚洲精品久久久久久大师 | 国产97色在线 | 免 | 久久精品国产精品国产精品污 | 亚洲一区二区三区在线观看网站 | 性生交大片免费看l | 永久免费观看美女裸体的网站 | 一本加勒比波多野结衣 | 亚洲精品综合一区二区三区在线 | 无码人妻出轨黑人中文字幕 | 久久综合给合久久狠狠狠97色 | 国产午夜福利100集发布 | 国产农村乱对白刺激视频 | 男女作爱免费网站 | 三上悠亚人妻中文字幕在线 | 最新国产乱人伦偷精品免费网站 | 免费观看黄网站 | 午夜理论片yy44880影院 | 中文字幕乱码亚洲无线三区 | 日本精品高清一区二区 | 日韩欧美成人免费观看 | 亚洲成av人片在线观看无码不卡 | 亚洲国产精品毛片av不卡在线 | 一个人看的www免费视频在线观看 | 亚洲精品成人福利网站 | 真人与拘做受免费视频一 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲中文字幕乱码av波多ji | 人人妻人人澡人人爽欧美一区九九 | 欧美日韩精品 | 欧美35页视频在线观看 | 牲交欧美兽交欧美 | 野外少妇愉情中文字幕 | 特黄特色大片免费播放器图片 | 97资源共享在线视频 | 国产人妻精品午夜福利免费 | 日韩 欧美 动漫 国产 制服 | 日韩欧美中文字幕在线三区 | 亚洲国产精品毛片av不卡在线 | 国产精华av午夜在线观看 | 樱花草在线社区www | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产亚洲人成在线播放 | 中文字幕久久久久人妻 | 亚洲国产精品一区二区美利坚 | 妺妺窝人体色www婷婷 | 中文字幕久久久久人妻 | 无码人妻久久一区二区三区不卡 | av无码电影一区二区三区 | 亚洲日韩av一区二区三区四区 | 香蕉久久久久久av成人 | 成人一区二区免费视频 | 久久五月精品中文字幕 | 国产后入清纯学生妹 | 欧美国产日韩亚洲中文 | 国产黄在线观看免费观看不卡 | 国产人妻精品午夜福利免费 | 亚洲综合精品香蕉久久网 | 高清无码午夜福利视频 | 无码一区二区三区在线 | 国产精品亚洲专区无码不卡 | 成人无码视频在线观看网站 | 给我免费的视频在线观看 | 久久久久久久人妻无码中文字幕爆 | 精品国产一区二区三区四区在线看 | 国产suv精品一区二区五 | 欧美日本免费一区二区三区 | 国产在线无码精品电影网 | 久久精品国产一区二区三区肥胖 | 国产亚洲精品久久久闺蜜 | 精品 日韩 国产 欧美 视频 | 97夜夜澡人人双人人人喊 | 人妻少妇精品无码专区二区 | 国产乱人伦av在线无码 | 国产精品多人p群无码 | 亚洲国产日韩a在线播放 | 樱花草在线播放免费中文 | 国产又爽又猛又粗的视频a片 | 国产精品久久久一区二区三区 | 精品一区二区三区波多野结衣 | 性欧美熟妇videofreesex | 国产福利视频一区二区 | 亚洲 日韩 欧美 成人 在线观看 | 熟妇女人妻丰满少妇中文字幕 | 少妇性l交大片欧洲热妇乱xxx | 色一情一乱一伦一区二区三欧美 | 日韩精品久久久肉伦网站 | 少妇高潮一区二区三区99 | 亚洲色大成网站www | 欧美老人巨大xxxx做受 | 国产综合在线观看 | 少妇厨房愉情理9仑片视频 | 国产极品美女高潮无套在线观看 | 蜜臀aⅴ国产精品久久久国产老师 | 无码人妻少妇伦在线电影 | 亚洲 欧美 激情 小说 另类 | 偷窥日本少妇撒尿chinese | 中文字幕无码乱人伦 | 欧美一区二区三区视频在线观看 | 久久精品国产一区二区三区 | 人妻aⅴ无码一区二区三区 | 成 人影片 免费观看 | 熟女俱乐部五十路六十路av | 好男人社区资源 | 久久精品一区二区三区四区 | 亚洲经典千人经典日产 | 无码一区二区三区在线观看 | 精品国产青草久久久久福利 | 牲欲强的熟妇农村老妇女 | 人妻少妇精品无码专区动漫 | 无人区乱码一区二区三区 | 国语精品一区二区三区 | 曰韩少妇内射免费播放 | 久热国产vs视频在线观看 | 水蜜桃色314在线观看 | 成人精品视频一区二区三区尤物 | 精品欧美一区二区三区久久久 | 日日麻批免费40分钟无码 | 黑人巨大精品欧美黑寡妇 | 国产无套内射久久久国产 | 无码av最新清无码专区吞精 | 一本精品99久久精品77 | 亚洲精品一区二区三区在线观看 | 欧美国产亚洲日韩在线二区 | 亚洲理论电影在线观看 | 一二三四在线观看免费视频 | 亚洲一区二区三区香蕉 | 国产午夜手机精彩视频 | 99久久久国产精品无码免费 | 亚洲一区二区三区四区 | 亚洲人交乣女bbw | 成人欧美一区二区三区 | 日韩精品无码免费一区二区三区 | 国产av剧情md精品麻豆 | 中文字幕人成乱码熟女app | 精品一二三区久久aaa片 | 欧美性猛交xxxx富婆 | 日韩欧美群交p片內射中文 | 2020久久香蕉国产线看观看 | 狠狠亚洲超碰狼人久久 | 任你躁国产自任一区二区三区 | 国产精品丝袜黑色高跟鞋 | 人人妻人人藻人人爽欧美一区 | 波多野结衣高清一区二区三区 | 一本久道高清无码视频 | 亚洲精品成a人在线观看 | 国产精品美女久久久久av爽李琼 | 丰满护士巨好爽好大乳 | 亚洲人成网站免费播放 | 97久久国产亚洲精品超碰热 | 成人精品视频一区二区 | 最新版天堂资源中文官网 | 国产极品视觉盛宴 | 亚洲精品成人av在线 | 日日鲁鲁鲁夜夜爽爽狠狠 | 蜜桃臀无码内射一区二区三区 | 国产三级精品三级男人的天堂 | 无码av免费一区二区三区试看 | 亚洲一区二区三区四区 | 成人精品视频一区二区三区尤物 | 国产热a欧美热a在线视频 | 日本熟妇乱子伦xxxx | 中文字幕乱码中文乱码51精品 | 国产亚洲欧美在线专区 | 女人被爽到呻吟gif动态图视看 | 性生交片免费无码看人 | av在线亚洲欧洲日产一区二区 | 日日夜夜撸啊撸 | 男女作爱免费网站 | 国产无av码在线观看 | 人人妻人人藻人人爽欧美一区 | 色欲人妻aaaaaaa无码 | 久久国产精品偷任你爽任你 | 亚洲色偷偷男人的天堂 | 狠狠亚洲超碰狼人久久 | 久久国产精品二国产精品 | 大色综合色综合网站 | 无码国产色欲xxxxx视频 | 在线 国产 欧美 亚洲 天堂 | 无码国产乱人伦偷精品视频 | 国产成人精品视频ⅴa片软件竹菊 | 国产色xx群视频射精 | 午夜无码区在线观看 | 久久久久se色偷偷亚洲精品av | 久久国语露脸国产精品电影 | 牲交欧美兽交欧美 | 台湾无码一区二区 | 色婷婷香蕉在线一区二区 | 亚洲成av人影院在线观看 | 国内精品久久毛片一区二区 | 国产人妖乱国产精品人妖 | 久久久久久久女国产乱让韩 | 精品成人av一区二区三区 | 国产在线精品一区二区高清不卡 | 免费无码午夜福利片69 | av人摸人人人澡人人超碰下载 | 国精产品一品二品国精品69xx | 久久久av男人的天堂 | 欧美老妇交乱视频在线观看 | 久久久久成人精品免费播放动漫 | 嫩b人妻精品一区二区三区 | 丰满少妇弄高潮了www | 无码人妻出轨黑人中文字幕 | 国产猛烈高潮尖叫视频免费 | 亚洲中文字幕在线无码一区二区 | 青草青草久热国产精品 | 午夜福利一区二区三区在线观看 | 午夜理论片yy44880影院 | 人妻尝试又大又粗久久 | 极品嫩模高潮叫床 | 国产97人人超碰caoprom | 永久免费精品精品永久-夜色 | 国产av一区二区三区最新精品 | 在教室伦流澡到高潮hnp视频 | 久久久久久久久蜜桃 | 无码精品人妻一区二区三区av | www一区二区www免费 | 免费国产成人高清在线观看网站 | 亚洲伊人久久精品影院 | 小sao货水好多真紧h无码视频 | 久久www免费人成人片 | 成人av无码一区二区三区 | 97无码免费人妻超级碰碰夜夜 | 亚洲综合色区中文字幕 | 亚洲男人av天堂午夜在 | 国产精品亚洲五月天高清 | 国产一区二区三区四区五区加勒比 | 亚洲va欧美va天堂v国产综合 | 在线亚洲高清揄拍自拍一品区 | 久久天天躁狠狠躁夜夜免费观看 | 亚洲日韩av一区二区三区中文 | 真人与拘做受免费视频一 | 成熟女人特级毛片www免费 | 色妞www精品免费视频 | 强伦人妻一区二区三区视频18 | 2020最新国产自产精品 | 丰满人妻翻云覆雨呻吟视频 | 西西人体www44rt大胆高清 | 理论片87福利理论电影 | 狠狠色丁香久久婷婷综合五月 | 亚洲国产精品成人久久蜜臀 | 乌克兰少妇xxxx做受 | 亚洲综合精品香蕉久久网 | 丰满少妇弄高潮了www | 中文字幕无码视频专区 | 18精品久久久无码午夜福利 | 精品人妻人人做人人爽 | 小泽玛莉亚一区二区视频在线 | 国产精品美女久久久网av | 日本一卡2卡3卡四卡精品网站 | 欧美午夜特黄aaaaaa片 | 欧美激情一区二区三区成人 | а√天堂www在线天堂小说 | 久久精品人人做人人综合试看 | 日韩av无码一区二区三区 | 欧美激情一区二区三区成人 | 亚洲狠狠色丁香婷婷综合 | 亚洲人交乣女bbw | 性生交大片免费看女人按摩摩 | 一个人看的www免费视频在线观看 | 无遮挡啪啪摇乳动态图 | 中文精品无码中文字幕无码专区 | 国产亚洲美女精品久久久2020 | 国产精品无码一区二区桃花视频 | 亚洲无人区一区二区三区 | 一二三四在线观看免费视频 | 丰满护士巨好爽好大乳 | 天堂亚洲免费视频 | 一本久道久久综合婷婷五月 | 国产va免费精品观看 | 欧美人与牲动交xxxx | 牲交欧美兽交欧美 | 国产精品a成v人在线播放 | 久久人人爽人人人人片 | 午夜免费福利小电影 | 国产人妻精品午夜福利免费 | 久久久久久久久蜜桃 | 一本大道伊人av久久综合 | 精品水蜜桃久久久久久久 | 樱花草在线播放免费中文 | 国产精品a成v人在线播放 | 99久久99久久免费精品蜜桃 | 国产猛烈高潮尖叫视频免费 | 一本久道高清无码视频 | 嫩b人妻精品一区二区三区 | 国产激情综合五月久久 | 国产莉萝无码av在线播放 | 日韩av无码一区二区三区不卡 | 久久99热只有频精品8 | 亚洲一区二区三区国产精华液 | 国产口爆吞精在线视频 | 妺妺窝人体色www在线小说 | 男人的天堂2018无码 | 男女猛烈xx00免费视频试看 | 无码人妻av免费一区二区三区 | 精品国产麻豆免费人成网站 | 国产无遮挡又黄又爽免费视频 | 国产精华av午夜在线观看 | 午夜成人1000部免费视频 | 亚洲欧洲日本综合aⅴ在线 | 久久久中文字幕日本无吗 | 亚洲色欲色欲天天天www | 久久99国产综合精品 | 无码人妻精品一区二区三区不卡 | 国产偷抇久久精品a片69 | 啦啦啦www在线观看免费视频 | 午夜性刺激在线视频免费 | 四虎国产精品一区二区 | 无遮挡国产高潮视频免费观看 | 中国女人内谢69xxxx | 中文字幕无码日韩欧毛 | 在教室伦流澡到高潮hnp视频 | 亚洲国产精品无码一区二区三区 | 东京热一精品无码av | 国产无遮挡吃胸膜奶免费看 | 99精品国产综合久久久久五月天 | 麻花豆传媒剧国产免费mv在线 | 麻豆国产人妻欲求不满谁演的 | 欧美第一黄网免费网站 | 青草视频在线播放 | 国语精品一区二区三区 | 中文亚洲成a人片在线观看 | 国产精品鲁鲁鲁 | 红桃av一区二区三区在线无码av | 精品无码成人片一区二区98 | 大屁股大乳丰满人妻 | 天干天干啦夜天干天2017 | 妺妺窝人体色www婷婷 | 岛国片人妻三上悠亚 | 天天躁夜夜躁狠狠是什么心态 | 国产av久久久久精东av | 国产性生交xxxxx无码 | 日本精品人妻无码77777 天堂一区人妻无码 | 亚洲国产精品一区二区美利坚 | 亚洲精品无码国产 | 成人精品天堂一区二区三区 | 亚洲爆乳精品无码一区二区三区 | 麻豆精品国产精华精华液好用吗 | 国内精品久久毛片一区二区 | 免费无码肉片在线观看 | 亚洲国产精品一区二区美利坚 | 男人和女人高潮免费网站 | 熟女体下毛毛黑森林 | 亚洲色偷偷偷综合网 | 人妻插b视频一区二区三区 | 麻豆国产97在线 | 欧洲 | 日本又色又爽又黄的a片18禁 | 午夜精品久久久内射近拍高清 | 国产无套内射久久久国产 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产两女互慰高潮视频在线观看 | 免费国产黄网站在线观看 | 亚洲 a v无 码免 费 成 人 a v | 亚洲 另类 在线 欧美 制服 | 亚洲日本va中文字幕 | 国产97人人超碰caoprom | 久久99热只有频精品8 | 无码国模国产在线观看 | 一二三四在线观看免费视频 | 男女超爽视频免费播放 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 欧美激情综合亚洲一二区 | 成 人影片 免费观看 | 野外少妇愉情中文字幕 | 国产午夜手机精彩视频 | 亚洲精品一区二区三区婷婷月 | 奇米影视7777久久精品 | 成人免费无码大片a毛片 | 国产亚洲人成在线播放 | 人妻互换免费中文字幕 | 波多野结衣高清一区二区三区 | 亚洲人亚洲人成电影网站色 | 久久人人爽人人爽人人片av高清 | 精品无码国产一区二区三区av | 丰满肥臀大屁股熟妇激情视频 | 国产精品无码久久av | 天下第一社区视频www日本 | 在线播放无码字幕亚洲 | 久久亚洲a片com人成 | 四虎国产精品一区二区 | 久久久国产精品无码免费专区 | 亚洲国产精品无码一区二区三区 | 三上悠亚人妻中文字幕在线 | 乱人伦人妻中文字幕无码 | 日韩精品一区二区av在线 | 麻豆国产97在线 | 欧洲 | 久久精品女人天堂av免费观看 | 精品国产成人一区二区三区 | 免费网站看v片在线18禁无码 | 久久综合给合久久狠狠狠97色 | 亚洲中文字幕无码一久久区 | 强开小婷嫩苞又嫩又紧视频 | 日日碰狠狠躁久久躁蜜桃 | 日韩亚洲欧美中文高清在线 | 无码人妻久久一区二区三区不卡 | 激情综合激情五月俺也去 | 少妇的肉体aa片免费 | 一本色道久久综合亚洲精品不卡 | 男人扒开女人内裤强吻桶进去 | 欧美日韩在线亚洲综合国产人 | 女人被男人爽到呻吟的视频 | 久久久久久亚洲精品a片成人 | 亚洲国产精品毛片av不卡在线 | 国产一区二区三区日韩精品 | 无码人妻出轨黑人中文字幕 | 国产又粗又硬又大爽黄老大爷视 | 三上悠亚人妻中文字幕在线 | 日韩av激情在线观看 | av无码不卡在线观看免费 | 久久五月精品中文字幕 | 色婷婷av一区二区三区之红樱桃 | 爆乳一区二区三区无码 | 国产成人精品一区二区在线小狼 | 人妻aⅴ无码一区二区三区 | 性欧美videos高清精品 | 131美女爱做视频 | 日本一区二区更新不卡 | 中文字幕人妻无码一夲道 | av小次郎收藏 | 国产亲子乱弄免费视频 | 久久综合香蕉国产蜜臀av | 久久久久久久人妻无码中文字幕爆 | 国产熟女一区二区三区四区五区 | 欧美兽交xxxx×视频 | 丝袜人妻一区二区三区 | a在线观看免费网站大全 | 无码人妻精品一区二区三区不卡 | 亚洲精品午夜国产va久久成人 | 国产农村乱对白刺激视频 | 国产人成高清在线视频99最全资源 | 水蜜桃亚洲一二三四在线 | 少妇一晚三次一区二区三区 | 四虎影视成人永久免费观看视频 | 久久精品国产日本波多野结衣 | 色老头在线一区二区三区 | 久久99精品久久久久婷婷 | 又粗又大又硬又长又爽 | 四虎影视成人永久免费观看视频 | 亚洲综合另类小说色区 | 国产精品人人爽人人做我的可爱 | 久久精品无码一区二区三区 | 欧美日韩一区二区综合 | 小泽玛莉亚一区二区视频在线 | 国产电影无码午夜在线播放 | 久久综合香蕉国产蜜臀av | 午夜福利试看120秒体验区 | 国产精品手机免费 | 欧美xxxx黑人又粗又长 | 欧美黑人巨大xxxxx | 少妇被粗大的猛进出69影院 | 性欧美疯狂xxxxbbbb | 装睡被陌生人摸出水好爽 | 国产精品无码久久av | 国产精品亚洲综合色区韩国 | 亚洲精品久久久久久一区二区 | 亲嘴扒胸摸屁股激烈网站 | 帮老师解开蕾丝奶罩吸乳网站 | 中文字幕av伊人av无码av | 欧洲极品少妇 | 亚洲区小说区激情区图片区 | 亚洲最大成人网站 | 日韩精品乱码av一区二区 | 无遮挡国产高潮视频免费观看 | 久久婷婷五月综合色国产香蕉 | 亚洲日本一区二区三区在线 | 牲欲强的熟妇农村老妇女视频 | 一本色道婷婷久久欧美 | 国色天香社区在线视频 | 人人澡人人妻人人爽人人蜜桃 | 国产精品办公室沙发 | 欧美阿v高清资源不卡在线播放 | 国产亚洲精品久久久闺蜜 | 精品一区二区不卡无码av | 图片区 小说区 区 亚洲五月 | 麻豆国产97在线 | 欧洲 | 亚洲国产高清在线观看视频 | 中文字幕无码免费久久99 | 玩弄中年熟妇正在播放 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 久久熟妇人妻午夜寂寞影院 | 久久成人a毛片免费观看网站 | 日本精品高清一区二区 | 丰满人妻被黑人猛烈进入 | 国产热a欧美热a在线视频 | 国产精品爱久久久久久久 | 久久国产精品_国产精品 | 国产精品多人p群无码 | 97无码免费人妻超级碰碰夜夜 | 人妻aⅴ无码一区二区三区 | 日本高清一区免费中文视频 | 成人毛片一区二区 | 性开放的女人aaa片 | 国产高潮视频在线观看 | 午夜福利试看120秒体验区 | 久久99精品国产麻豆 | 日本肉体xxxx裸交 | 扒开双腿吃奶呻吟做受视频 | 国产艳妇av在线观看果冻传媒 | www国产精品内射老师 | 日韩欧美成人免费观看 | 色欲人妻aaaaaaa无码 | 四虎永久在线精品免费网址 | 内射后入在线观看一区 | 亚洲一区二区三区无码久久 | 国产国语老龄妇女a片 | 九月婷婷人人澡人人添人人爽 | 国产精华av午夜在线观看 | 久久亚洲国产成人精品性色 | 99久久精品无码一区二区毛片 | 久久久久成人精品免费播放动漫 | 国产精品18久久久久久麻辣 | 日韩欧美群交p片內射中文 | 色欲av亚洲一区无码少妇 | 欧美丰满老熟妇xxxxx性 | 日本成熟视频免费视频 | 又粗又大又硬又长又爽 | 日本护士xxxxhd少妇 | 欧美黑人巨大xxxxx | 男女爱爱好爽视频免费看 | 亚洲精品中文字幕久久久久 | 东京热无码av男人的天堂 | 国产av无码专区亚洲a∨毛片 | 99国产精品白浆在线观看免费 | 一本色道久久综合亚洲精品不卡 | 樱花草在线播放免费中文 | 亚洲а∨天堂久久精品2021 | 无码人妻精品一区二区三区不卡 | 国产网红无码精品视频 | 久久亚洲中文字幕无码 | 成 人 免费观看网站 | 午夜嘿嘿嘿影院 | 女人高潮内射99精品 | 丝袜美腿亚洲一区二区 | 性做久久久久久久久 | 精品成人av一区二区三区 | 日日夜夜撸啊撸 | 精品人妻人人做人人爽夜夜爽 | 99久久精品无码一区二区毛片 | 四十如虎的丰满熟妇啪啪 | 一本大道久久东京热无码av | 亚洲色在线无码国产精品不卡 | 中文字幕中文有码在线 | 少妇性l交大片欧洲热妇乱xxx | 久久亚洲国产成人精品性色 | 性欧美牲交在线视频 | av无码不卡在线观看免费 | 久久久www成人免费毛片 | 天堂一区人妻无码 | a片免费视频在线观看 | 久久五月精品中文字幕 | 亚洲欧洲日本无在线码 | 成人毛片一区二区 | 亚洲成a人片在线观看无码3d | 国产综合在线观看 | 久热国产vs视频在线观看 | 亚洲熟妇色xxxxx亚洲 | 无码av免费一区二区三区试看 | 精品久久久无码人妻字幂 | 中文字幕乱码人妻二区三区 | 国产黄在线观看免费观看不卡 | 欧美 日韩 亚洲 在线 | 成 人 免费观看网站 | aa片在线观看视频在线播放 | 黑人巨大精品欧美黑寡妇 | 亚洲七七久久桃花影院 | 国产69精品久久久久app下载 | 天堂一区人妻无码 | 久久国产精品_国产精品 | 人妻体内射精一区二区三四 | 一本久久伊人热热精品中文字幕 | 色欲av亚洲一区无码少妇 | 曰本女人与公拘交酡免费视频 | 免费无码午夜福利片69 | 内射白嫩少妇超碰 | 精品久久久无码中文字幕 | 亚洲精品成人福利网站 | 中文字幕av无码一区二区三区电影 | 日韩av无码一区二区三区不卡 | 女人色极品影院 | 久久综合久久自在自线精品自 | 国产特级毛片aaaaaa高潮流水 | 久久久久成人片免费观看蜜芽 | 人人妻人人澡人人爽人人精品 | 伊人久久婷婷五月综合97色 | 人妻中文无码久热丝袜 | 国内精品一区二区三区不卡 | 国产精品视频免费播放 | 波多野结衣乳巨码无在线观看 | 人妻熟女一区 | 亚洲精品久久久久中文第一幕 | 色五月丁香五月综合五月 | 日本一卡2卡3卡四卡精品网站 | 无码av最新清无码专区吞精 | 亚洲无人区一区二区三区 | 亚洲中文字幕av在天堂 | 国产福利视频一区二区 | 大地资源中文第3页 | 国产精品人人爽人人做我的可爱 | 国产婷婷色一区二区三区在线 | 老熟妇仑乱视频一区二区 | 欧美成人家庭影院 | 国产麻豆精品一区二区三区v视界 | 精品国产一区二区三区av 性色 | 精品人妻人人做人人爽 | 天天综合网天天综合色 | 乱人伦中文视频在线观看 | 亚洲一区二区三区播放 | 永久免费观看美女裸体的网站 | 亚洲国产午夜精品理论片 | 亚洲国产高清在线观看视频 | 国产高清av在线播放 | 久久99精品久久久久久 | 精品偷拍一区二区三区在线看 | 亚洲a无码综合a国产av中文 | 18黄暴禁片在线观看 | av无码久久久久不卡免费网站 | 国内丰满熟女出轨videos | 欧美精品无码一区二区三区 | 丝袜 中出 制服 人妻 美腿 | 国产精品99久久精品爆乳 | 300部国产真实乱 | 国产精品福利视频导航 | 疯狂三人交性欧美 | 国产色在线 | 国产 | 最近的中文字幕在线看视频 | 天天躁日日躁狠狠躁免费麻豆 | 国产精品久久久久久久9999 | 色婷婷香蕉在线一区二区 | 无码人妻出轨黑人中文字幕 | 亚洲区欧美区综合区自拍区 | 小鲜肉自慰网站xnxx | 亚洲国产精品一区二区第一页 | 亚洲人亚洲人成电影网站色 | 婷婷丁香六月激情综合啪 | 国产精品久久久久无码av色戒 | 亚洲精品中文字幕乱码 | 亚洲熟悉妇女xxx妇女av | 性欧美牲交xxxxx视频 | 丰满少妇人妻久久久久久 | 久久人人爽人人爽人人片ⅴ | 久久人人爽人人爽人人片av高清 | 久久久久久久人妻无码中文字幕爆 | 日本欧美一区二区三区乱码 | 日日干夜夜干 | 综合激情五月综合激情五月激情1 | 国产麻豆精品精东影业av网站 | 亚洲国产精品美女久久久久 | 欧美 亚洲 国产 另类 | 精品一区二区三区无码免费视频 | a国产一区二区免费入口 | 亚洲综合伊人久久大杳蕉 | 人妻少妇精品视频专区 | 日本又色又爽又黄的a片18禁 | 2019午夜福利不卡片在线 | 亚洲自偷自偷在线制服 | 国产特级毛片aaaaaaa高清 | 亚洲精品午夜无码电影网 | 一本加勒比波多野结衣 | 人人爽人人澡人人高潮 | 国模大胆一区二区三区 | 国产成人无码区免费内射一片色欲 | 一区二区传媒有限公司 | 久久精品视频在线看15 | 欧美日本免费一区二区三区 | 亚洲娇小与黑人巨大交 | 国产高潮视频在线观看 | 在线播放免费人成毛片乱码 | 荫蒂被男人添的好舒服爽免费视频 | 高清无码午夜福利视频 | 国产成人精品无码播放 | 色狠狠av一区二区三区 | 老头边吃奶边弄进去呻吟 | 中国女人内谢69xxxxxa片 | 亚洲春色在线视频 | 国产激情一区二区三区 | 亚洲色大成网站www | 久久精品女人天堂av免费观看 | 精品无码成人片一区二区98 | 国模大胆一区二区三区 | 国产亚洲精品精品国产亚洲综合 | 麻豆md0077饥渴少妇 | √8天堂资源地址中文在线 | 国产真实乱对白精彩久久 | 欧美性猛交内射兽交老熟妇 | 少妇被黑人到高潮喷出白浆 | 欧美阿v高清资源不卡在线播放 | 国产成人无码a区在线观看视频app | 国产亚洲精品久久久久久国模美 | 亚洲成在人网站无码天堂 | 国产人妻精品一区二区三区 | 国产真人无遮挡作爱免费视频 | 亚洲精品久久久久久久久久久 | 亚洲一区二区三区无码久久 | 亚洲日本一区二区三区在线 | 成人精品一区二区三区中文字幕 | 国产在线无码精品电影网 | 麻豆国产丝袜白领秘书在线观看 | 天天躁日日躁狠狠躁免费麻豆 | 中文字幕日韩精品一区二区三区 | 乱人伦中文视频在线观看 | 亚洲欧美日韩国产精品一区二区 | 六月丁香婷婷色狠狠久久 | 激情爆乳一区二区三区 | 亚洲午夜无码久久 | 偷窥村妇洗澡毛毛多 | 少妇邻居内射在线 | 国产免费无码一区二区视频 | 人人妻人人澡人人爽欧美一区九九 | 偷窥日本少妇撒尿chinese | 无码纯肉视频在线观看 | 无码人妻丰满熟妇区毛片18 | 帮老师解开蕾丝奶罩吸乳网站 | 久久亚洲a片com人成 | 成人试看120秒体验区 | 精品国产一区av天美传媒 | 国产精品久久久久7777 | 欧美真人作爱免费视频 | 丰满少妇女裸体bbw | 秋霞成人午夜鲁丝一区二区三区 | 亚洲综合无码一区二区三区 | 永久免费观看国产裸体美女 | 国产精品99久久精品爆乳 | 亚洲精品无码人妻无码 | 在线播放免费人成毛片乱码 | 永久免费观看国产裸体美女 | 国产成人无码a区在线观看视频app | 日日碰狠狠丁香久燥 | 亚洲小说春色综合另类 | 最新国产乱人伦偷精品免费网站 | 丝袜足控一区二区三区 | 国产香蕉尹人视频在线 | 中文字幕无码av激情不卡 | 少妇高潮一区二区三区99 | 久久国产劲爆∧v内射 | 国产又粗又硬又大爽黄老大爷视 | 高潮喷水的毛片 | 97久久超碰中文字幕 | 一本无码人妻在中文字幕免费 | 装睡被陌生人摸出水好爽 | 夜精品a片一区二区三区无码白浆 | 性生交片免费无码看人 | 国产成人无码午夜视频在线观看 | 国产在线一区二区三区四区五区 | 中文字幕色婷婷在线视频 | 日本免费一区二区三区最新 | 国精产品一区二区三区 | 欧美第一黄网免费网站 | 纯爱无遮挡h肉动漫在线播放 |