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

歡迎訪問 生活随笔!

生活随笔

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

python

《简明Python教程》学习笔记

發布時間:2023/12/20 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《简明Python教程》学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本知識

第一個Python程序:

print("hello world")

如何退出Python的解釋器提示符:

? 在Linux或OS X的shell程序中,可以通過按下[ctrl+d]或輸入exit()。

? 在windows命令提示符中,可以按下[ctrl+z]組合鍵,然后敲擊[center]鍵來退出。

注意:

Python 是區分大小寫的,如 print 和 Print 是不同的——注意前者的 p 是小寫的,而后者的 P 是大寫的。此外,你需要確保每一行的第一個字符前面都沒有任何空格或制表格。

注釋

? 注釋 是任何存在于 # 號右側的文字,其主要用作寫給程序讀者看的筆記。

? 舉個例子:

print('hello world') #注意到 print 是一個函數

? 或者:

# 注意到 print 是一個函數 print('hello world')

字面常量

? 可以直接表示其字面意思的量,例如5、1.23這樣的數字或字符串文本。

數字

? 數字主要分為兩種類型——整數(Integers)與浮點數(Floats)。

? 針對有經驗的程序員的提示
? 沒有單獨的 long 類型。 int 類型可以指任何大小的整數。

字符串

? 一串字符串(String)是 字符(Characters) 的 序列(Sequence)。基本上,字符串就是一串詞匯。

? 單引號和雙引號的作用差不多,都是指定字符串:

? '我是一個字符串’和“我是一個字符串”的效果一樣。

? 三引號,主要用于多行字符串,在三引號中可以任意使用單引號和雙引號。例如:

'''這是一段多行字符串。這是它的第一行。 This is the second line. "What's your name?," I asked. He said "Bond, James Bond." '''

? 字符串是不可變的。

? format可以使用內容填充字符串中的占位符(格式)。

? print輸出字符串時,會在末尾自動加上換行符“\n”,可以使用end參數替換掉換行符。例如:

print('a',end='') print('b',end='')

? 輸出結果如下:

ab

? 轉義序列

? 對于有特殊含義的字符出現在字符串中,需要使用轉義序列""來進行轉義,例如’What’s your name’在python中會報錯,你需要對其中的但引號進行轉義,‘What’s your name’。

? 最重要的轉義序列:\n代表換行,\t代表制表符

? 在一個字符串中,一個放置在末尾的反斜杠表示字符串將在下一行繼續,但不會添加新的一行。來看看例子:

"This is the first sentence. \ This is the second sentence."

相當于:

"This is the first sentence. This is the second sentence."

原始字符串

在字符串前面使用r或R可以表示這個字符串沒有經過任何處理,也就是原樣輸出。

r"Newlines are indicated by \n"

在使用正則表達式時,應該全程使用原樣字符串。舉例說明的話,反向引用可以通過 ‘\1’ 或 r’\1’ 來實現。

變量

? 可以存儲任何信息,并且也能夠操作它們。

標識符命名

? 就是給某些東西一個名稱。標識符命名規則和C語言、Java的一樣,標識符中只能有字母、數字、下劃線,并且開頭只能是字母或數字。

數據類型

? 變量可以將各種形式的值保存為不同的數據類型(Data Type)。基本的類型是我們已經討論過的數字與字符串。

對象

? Python將程序中的任何內容統稱為對象(Object)。

? 針對面向對象編程語言用戶的提示:
? Python 是強(Strongly)面向對象的,因為所有的一切都是對象, 包括數字、字符串與
? 函數。

? 針對靜態編程語言程序員的提示:變量只需被賦予某一值。不需要聲明或定義數據類型。

物理行與邏輯行

? 在編輯器中看到的一行代碼就是物理行,Python所讀到的一個語句就是一個邏輯行。

? Python隱藏的期望是在一行中只寫一個語句,也就是盡量不要使用分號。

? 如果一行代碼實在是太長了,可以使用反斜杠""將其拆分成多個物理行,這被稱作顯式行連接。

? 例如:

i=\ 5 #等價于 i=5

? 在某些情況下,會存在一個隱含的假設,允許你不使用反斜杠。這一情況即邏輯行以括號開始,它可以是方括號或花括號,但不能是右括號。

縮進

? 每個語句 前面的空白區就是縮進,空白區可以確定邏輯行的縮進級別,而縮進級別又可以用于確定語句的分組。

? 有一件事你需要記住:錯誤的縮進可能會導致錯誤。

? Python官方的建議是使用四個空格來縮進。

運算符與表達式

? 表達式可以拆分成運算符(Operators)與操作數(Operands)。

? 各個操作符的詳細信息參考《簡明Python教程》的p45-46的運算符的速覽。

? 基本的操作符都和Java的一樣,需要注意的是邏輯非用“not”、邏輯與用“and”、邏輯或用“or”。

數值運算與賦值的快捷方式

? 其實就是Python的數值運算支持乘賦“*=”等快捷操作。例如:

a=2 a=a*3 #等價于 a=2 a *= 3

求值順序

? Python中對于運算符的優先級也是有規定的,《簡明Python教程》中有說明,在P47頁,也可以參考Python的手冊。最好是使用圓括號對運算符和表達式進行分組。

控制流

? 在Python中有三種控制流語句——if、for和while。

if 語句

示例:

number = 23 guess = int(input('Enter an integer : '))if guess == number : # 我們借助這個冒號向Python指定接下來會有一塊語句在后頭# 新塊從這里開始print('Congratulations, you guessed it.')print('(but you do not win any prizes!)') elif guess < number :# 另一代碼塊print('No, it is a little higher than that ')# 你可以在此做任何你希望在改代碼塊內進行的事情 else :print('No, it is a little lower than that')# 你必須通過猜測一個大于(>)設置數的數字來到達這里。print('Done') # 這最后一句話將在 if 語句執行完畢后執行

輸出:

$ python if.py Enter an integer : 50 No, it is a little lower than that Done $ python if.py Enter an integer : 22 No, it is a little higher than that Done $ python if.py Enter an integer : 23 Congratulations, you guessed it. (but you do not win any prizes!) Done

針對 C/C++ 程序員的提示
Python 中不存在 switch 語句。你可以通過使用 if…elif…else 語句來實現同樣的事情(在某些情況下,使用一部字典能夠更快速地完成)。

while 語句

? while語句是循環語句的一種。while語句同樣可以擁有else子句作為可選項。

number = 23 running = Truewhile running :guess = int(input('Enter an integer : '))if guess == number :print('Congratulations, you guessed it. ')# 這將導致while循環終止running = Falseelif guess < number :print('No, it is a little higher than that. ')else :print('No, it is a little lower than that. ') else : # 用冒號告訴Python下面有語句塊print('The while loop is over. ')# 在這里你可以做你想做的任何事情print('Done')

輸出:

$ python while.py Enter an integer : 50 No, it is a little lower than that. Enter an integer : 22 No, it is a little higher than that. Enter an integer : 23 Congratulations, you guessed it. The while loop is over. Done

? 如果 while 循環中存在一個 else 代碼塊,它將總是被執行,除非你通過 break 語句來中斷這一循環。

針對 C/C++ 程序員的提示
你可以在 while 循環中使用 else 從句。

for 循環

? for…in 語句是另一種循環語句,其特點是會在一系列對象上進行迭代(Iterates),意即它會遍歷序列中的每一個項目。

案例:

for i in range(1, 5) :print(i) else:print('The for loop is over')

輸出:

$ python for.py 1 2 3 4 The for loop is over

? 要記住, else 部分是可選的。當循環中包含他時,它總會在 for 循環結束后開始執行,除非程序遇到了 break 語句。

break 語句

? break語句用以中斷循環語句,即使循環條件沒有變成False,也可以被終止。

? 需要注意的是,如果你中斷了一個For或while循環,任何相應循環中的else塊都將不會被執行。

示例:

while True :s = input('Enter something : ')if s == 'quit' : #zhg: 注意字符串判斷相等的方式breakprint('Length of the string is', len(s)) print('Done')

輸出:

$ python break.py Enter something : Programming is fun Length of the string is 18 Enter something : When the work is done Length of the string is 21 Enter something : if you wanna make your work also fun: Length of the string is 37 Enter something : use Python! Length of the string is 11 Enter something : quit Done

? 記住, break 語句同樣可以適用于 for 循環。

Continue語句

? continue 語句用以告訴 Python 跳過當前循環塊中的剩余語句,并繼續該循環的下一次迭代。

示例:

while True :s = input('Enter something : ')if s == 'quit' :breakif len(s) < 3 :print('Too small')continueprint('Input is of sufficient length')# 自此處起繼續進行其它任何處理

輸出:

$ python continue.py Enter something : a Too small Enter something : 12 Too small Enter something : abc Input is of sufficient length Enter something : quit

? 要注意 continue 語句同樣能用于 for 循環。

函數

? 函數(Functions)是指可重復使用的程序片段。

? 函數可以通過關鍵字 def 來定義。這一關鍵字后跟一個函數的標識符名稱,再跟一對圓括號,其中可以包括一些變量的名稱,再以冒號結尾,結束這一行。隨后而來的語句塊是函數的一部分。下面的案例將會展示出這其實非常簡單:

def say_hello() :# 該塊屬于這一函數print('hello world') # 函數結束say_hello() # 調用函數 say_hello() # 再次調用函數

輸出:

$ python function1.py hello world hello world

函數參數

? 函數的參數就是定義在那個圓括號中變量,通過它們可以向函數傳遞信息。

? 在定義函數時給定的名稱稱作“形參”(Parameters),在調用函數時你所提供給函數的值稱作“實參”(Arguments)。
? 案例:

def print_max(a, b) :if a > b :print(a, 'is maximum')elif a == b :print(a, 'is equal to', b)else :print(b, 'is maximum')#直接傳遞字面值 print_max(3,4)x=5 y=7# 以參數的形式傳遞變量 print_max(x, y)

輸出:

$ python function_param.py 4 is maximum 7 is maximum

局部變量

? 在函數定義中聲明的變量就是局部變量,它們不會以任何形式與函數外的同名變量發生聯系。

? 所有變量的作用域是它們被定義的塊,從定義它們的名字的定義點開始。

? 示例:

x = 50def func(x) :print('x is', x)x = 2print('changed local x to', x)func(x) print('x is still', x)

輸出:

$ python function_local.py x is 50 Changed local x to 2 x is still 50

zhg: python的函數也是遵從值傳遞規則,即傳遞給函數參數的是值,而不是地址。

global 語句

? 使用global語句可以使用并更改函數之外的變量的值。

? 案例:

x = 50def func() :global xprint('x is', x)x = 2print('changed global x to', x)func() print('value of x is', x)

輸出:

$ python function_global.py x is 50 Changed global x to 2 Value of x is 2

? global 語句用以聲明 x 是一個全局變量——因此,當我們在函數中為 x 進行賦值時,這一改動將影響到我們在主代碼塊中使用的 x 的值。

? 你可以在同一句 global 語句中指定不止一個的全局變量,例如 global x, y, z 。

默認參數值

? 你可以通過在函數定義時附加一個賦值運算符( = )來為參數指定默認參數值。

? 默認參數值應該是常量,即是不可變的。

? 示例:

def say(message, times=1):print(message * times)say('Hello') say('World', 5)

輸出:

$ python function_default.py Hello WorldWorldWorldWorldWorld

注意
只有那些位于參數列表末尾的參數才能被賦予默認參數值,意即在函數的參數列表中擁
有默認參數值的參數不能位于沒有默認參數值的參數之前。
這是因為值是按參數所處的位置依次分配的。舉例來說, def func(a, b=5) 是有效的,
但 def func(a=5, b) 是無效的。

關鍵字參數

? 可以通過命名的防止給制定參數賦值。

? 示例:

def func(a, b=5, c=10):print('a is', a, 'and b is', b, 'and c is', c)func(3, 7) func(25, c=24) func(c=50, a=100)

? 輸出:

$ python function_keyword.py a is 3 and b is 7 and c is 10 a is 25 and b is 5 and c is 24 a is 100 and b is 5 and c is 50

可變參數

? 可以通過星號來實現任意數量的變量

? 示例:

def total(a=5, *numbers, **phonebook):print('a', a)#遍歷元組中的所有項目for single_item in numbers :print('single_item', single_item)#遍歷字典中的所有項目for first_part, second_part in phonebook.items() :print(first_part, second_part)print(total(10, 1, 2, 3, Jack=1123, John=2231, Inge=1560))

? 輸出:

$ python function_varargs.py a 10 single_item 1 single_item 2 single_item 3 Inge 1560 John 2231 Jack 1123 None

? 當我們聲明一個諸如 *param 的星號參數時,從此處開始直到結束的所有位置參數(Positional Arguments)都將被收集并匯集成一個稱為“param”的元組(Tuple)。

? 類似地,當我們聲明一個諸如 **param 的雙星號參數時,從此處開始直至結束的所有關鍵字參數都將被收集并匯集成一個名為 param 的字典(Dictionary)。

return 語句

? return語句用于在函數中返回,我們可以選擇從函數中返回一個值。

? 示例:

def maximum(x, y):if x > y :return xelif x == y :return 'The numbers are equal'else :return yprint(maximum(2, 3))

? 輸出:

$ python function_return.py 3

? 如果return語句沒有搭配任何一個值,則代表返回None。None在Python中是一個特殊的類型,代表著虛無。

? 每一個函數都在其末尾隱含了一句 return None ,除非你寫了你自己的 return 語句。你可以運行 print(some_function()) ,其中 some_function 函數不使用 return 語句,就像這樣:

def some_function(): pass

? Python 中的 pass 語句用于指示一個沒有內容的語句塊。

提示:有一個名為 max 的內置函數已經實現了“找到最大數”這一功能,所以盡可能地使
用這一內置函數。

DocStrings

? 文檔字符串就是對函數的一個說明,其實和Java的類似,就是位置和規范不同。

? 示例:

def print_max(x, y) :'''打印兩個數值中的最大數這兩個數都應該是整數'''# 如果可能,將其轉換成整數類型x = int(x)y = int(y)if x > y :print(x, 'is maximum')else :print(y, 'is maximum')print_max(3, 5) print(print_max.__doc__)

? 輸出:

$ python function_docstring.py 5 is maximum 打印兩個數值中的最大數。這兩個數都應該是整數

? 函數的第一行邏輯行中的字符串是該函數的 文檔字符串(DocString)。

? 該文檔字符串所約定的是一串多行字符串,其中第一行以某一大寫字母開始,以句號結束。第二行為空行,后跟的第三行開始是任何詳細的解釋說明。在此強烈建議你在你所有重要功能的所有文檔字符串中都遵循這一約定。

? 我們可以通過使用函數的 doc (注意其中的雙下劃綫)屬性(屬于函數的名稱)來獲取函數 print_max 的文檔字符串屬性。Python將所有東西都視為一個對象,其中包括函數。

? help()函數所做的便是獲取函數的 doc 屬性并以一種整潔的方式將其呈現給你。

? Python發行版中附帶的pydoc 命令與 help() 使用文檔字符串的方式類似。

模塊

? 模塊就是在不同程序間復用代碼的手段。

? 編寫模塊有很多種方法,其中最簡單的一種便是創建一個包含函數與變量、以 .py 為后綴的文件。
? 另一種方法是使用撰寫 Python 解釋器本身的本地語言來編寫模塊。

? 一個模塊可以被其它程序導入并運用其功能。

? 案例:

import sysprint('The command line arguments are:') for i in sys.argv:print(i)print('\n\nThe PYTHONPATH is', sys.path, '\n')

? 輸出:

$ python module_using_sys.py we are arguments The command line arguments are: module_using_sys.py we are argumentsThe PYTHONPATH is ['/tmp/py', # many entries here, not shown here '/Library/Python/2.7/site-packages', '/usr/local/lib/python2.7/site-packages']

需要注意的是,運行的腳本名稱在 sys.argv 的列表中總會位列第一。

按字節碼編譯的 .pyc 文件

? 可以將Python文件按字節編譯成中間文件,這樣有利于模塊的加載速度。

from…import語句

? from…import語句可以避免每次使用argv時都要輸入"sys.",即使用from sys import argv 語句來實現這一點。

? 示例:

from math import sqrt print("Square root of 16 is", sqrt(16))

模塊的__name__

? 每個模塊都有一個名稱,可以通過模塊的名稱來確定它是獨立運行的還是被導入進來的,這可以通過使用模塊的__name__ 屬性來實現。。

? 案例:

if __name__ == '__main__' :print('This program is being run by itself') else:print('I am being imported from another module')

? 輸出:

$ python module_using_name.py This program is being run by itself $ python >>> import module_using_name I am being imported from another module >>>

? 每一個 Python 模塊都定義了它的 name 屬性。如果它與 main 屬性相同則代表這一模塊是由用戶獨立運行的。

編寫你自己的模塊

? 每一個 Python 程序同時也是一個模塊。你只需要保證它以 .py 為擴展名即可。

? 案例:

def say_hi():print('Hi, this is mymodule speaking.')__version__ = '0.1'

? 注意:自己定義的模塊要放在要導入該模塊的程序的所在目錄,或者在sys.path所列出的某個目錄下。

? 另一個模塊:

import mymodulemymodule.say_hi() print('Version', mymodule.__version__)

? 輸出:

$ python mymodule_demo.py Hi, this is mymodule speaking. Version 0.1

? 下面是一個使用 from…import 語法的范本:

from mymodule import say_hi, __version__say_hi() print('Version', __version__)

? 你還可以使用:

from mymodule import *

? 這將導入諸如 say_hi 等所有公共名稱,但不會導入 __version__ 名稱,因為后者以雙下劃線開頭。

? 警告:盡量不要使用from…import形式,容易引起變量名沖突。

dir 函數

? 內置的 dir() 函數能夠返回由對象所定義的名稱列表。

? 該函數接受參數。 如果參數是模塊名稱,函數將返回這一指定模塊的名稱列表。 如果沒有提供參數,函數將返回當前模塊的名稱列表。

案例:

$ python >>> import sys # 給出 sys 模塊中的屬性名稱 >>> dir(sys) ['__displayhook__', '__doc__', 'argv', 'builtin_module_names', 'version', 'version_info'] # 此處只展示部分條目 # 給出當前模塊的屬性名稱 >>> dir() ['__builtins__', '__doc__', '__name__', '__package__','sys'] # 創建一個新的變量 'a' >>> a = 5 >>> dir() ['__builtins__', '__doc__', '__name__', '__package__', 'a'] # 刪除或移除一個名稱 >>> del a >>> dir() ['__builtins__', '__doc__', '__name__','__package__']

? 關于 del 的一個小小提示——這一語句用于刪除一個變量或名稱,當這一語句運行后,在本例中即 del a ,你便不再能訪問變量 a ——它將如同從未存在過一般。

? 包是指一個包含模塊與一個特殊的 __init__.py 文件的文件夾,后者向 Python 表明這一文件夾是特別的,因為其包含了 Python 模塊。

? 讓我們這樣設想:你想創建一個名為“world”的包,其中還包含著 “asia”、“africa”等其它子包,同時這些子包都包含了諸如“india”、 “madagascar”等模塊。

? 下面是你會構建出的文件夾的結構:

- <some folder present in the sys.path>/- world/- __init__.py- asia/- __init__.py- india/- __init__.py- foo.py- africa/- __init__.py- madagascar/- __init__.py- bar.py

? 包是一種能夠方便地分層組織模塊的方式。你將在 標準庫 中看到許多有關于此的實例。

總結

? 如同函數是程序中的可重用部分那般,模塊是一種可重用的程序。包是用以組織模塊的另一種層次結構。Python 所附帶的標準庫就是這樣一組有關包與模塊的例子。

數據結構

? 數據結構是用來存儲一系列相關數據的集合。

? Python 中有四種內置的數據結構——列表(List)、元組(Tuple)、字典(Dictionary)和集合(Set)。

列表

? 列表 是一種用于保存一系列有序項目的集合。項目的列表應該用方括號括起來,這樣 Python 才能理解到你正在指定一張列表。

? 列表對應的類型是list

? 示例:

# This is my shopping list shoplist = ['apple', 'mango', 'carrot', 'banana']print('I have', len(shoplist), 'item to purchase.')print('These items are:', end=' ') for item in shoplist :print(item, end=' ')print('\nI also have to buy rice.') shoplist.append('rice') print('My shopping list is now', shoplist)print('I will sort my list now') shoplist.sort() print('Sorted shopping list is', shoplist)print('The first item I will buy is', shoplist[0]) olditem = shoplist[0] del shoplist[0] print('I bought the', olditem) print('My shopping list is now', shoplist)

? 輸出:

$ python ds_using_list.py I have 4 items to purchase. These items are: apple mango carrot banana I also have to buy rice. My shopping list is now ['apple', 'mango', 'carrot', 'banana', 'rice'] I will sort my list now Sorted shopping list is ['apple', 'banana', 'carrot', 'mango', 'rice'] The first item I will buy is apple I bought the apple My shopping list is now ['banana', 'carrot', 'mango', 'rice']

元組

? 元組(Tuple)用于將多個對象保存到一起。元組的一大特征類似于字符串,它們是不可變的,也就是說,你不能編輯或更改元組。

? 元組對應的類型是tuple

? 案例:

# 我會推薦你總是使用括號 # 來指明元組的開始與結束 # 盡管括號是一個可選選項。 # 明了勝過晦澀,顯式優于隱式。 zoo = ('python', 'elephant', 'penguin') print('Number of animals in the zoo is', len(zoo))new_zoo = 'monkey', 'camel', zoo print('Number of cages in the new zoo is', len(new_zoo)) print('All animals in new zoo are', new_zoo) print('Animals brought from old zoo are', new_zoo[2]) print('Last animal brought from old zoo is', new_zoo[2][2]) print('Number of animals in the new zoo is',len(new_zoo)-1+len(new_zoo[2]))

? 輸出:

$ python ds_using_tuple.py Number of animals in the zoo is 3 Number of cages in the new zoo is 3 All animals in new zoo are ('monkey', 'camel', ('python', 'elephant', 'penguin')) Animals brought from old zoo are ('python', 'elephant', 'penguin') Last animal brought from old zoo is penguin Number of animals in the new zoo is 5

包含 0 或 1 個項目的元組
一個空的元組由一對圓括號構成,就像 myempty = () 這樣。然而,一個只擁有一個項目的元組并不像這樣簡單。你必須在第一個(也是唯一一個)項目的后面加上一個逗號來指定它,如此一來 Python 才可以識別出在這個表達式想表達的究竟是一個元組還是只是一個被括號所環繞的對象,也就是說,如果你想指定一個包含項目 2 的元組,你必須指定 singleton = (2, ) 。

字典

? 字典其實就是一個映射。在字典中鍵不能重復,并且鍵必須是不可變的對象,而對應的值可以是可變的或不可變的。

? 另外需要記住,字典中的成對的鍵—值配對不會以任何方式進行排序。

? 下面使用的字典是屬于dict類下的實例或對象。

# “ab”是地址(Address)簿(Book)的縮寫ab = {'Swaroop':'swaroop@swaroopch.com','Larry' : 'larry@qq.com','Matsumoto':'matz@163.com','Spammer':'spammer@hotmail.com' }print("Swaroop's address is", ab['Swaroop'])# 刪除一對鍵值—值配對 del ab['Spammer']print('\nThere are {} contacts in the address-book\n'.format(len(ab)))for name, address in ab.items() :print('Contact {} at {} '.format(name, address))# 添加一堆鍵——值配對 ab['Guido']='guido@python.org'if 'Guido' in ab :print("\nGuido's address is", ab['Guido'])

? 輸出:

$ python ds_using_dict.py Swaroop's address is swaroop@swaroopch.comThere are 3 contacts in the address-bookContact Swaroop at swaroop@swaroopch.com Contact Matsumoto at matz@ruby-lang.org Contact Larry at larry@wall.orgGuido's address is guido@python.org

序列

? 序列的主要功能就是判斷是否存在和索引操作。

? 列表、元組和字符串都是序列,它們都擁有切片操作。切片操作可以獲取序列中的一部分。

? 案例:

shoplist = ['apple', 'mango', 'carrot', 'banana'] name = 'swaroop'# Indexing or 'Subscription' operation # # 索引或“下標(Subscription)”操作符 # print('Item 0 is', shoplist[0]) print('Item 1 is', shoplist[1]) print('Item 2 is', shoplist[2]) print('Item 3 is', shoplist[3]) print('Item -1 is', shoplist[-1]) print('Item -2 is', shoplist[-2]) print('Character 0 is', name[0])# Slicing on a list # print('Item 1 to 3 is', shoplist[1:3]) print('Item 2 to end is', shoplist[2:]) print('Item 1 to -1 is', shoplist[1:-1]) print('Item start to end is', shoplist[:])# 從某一字符串中切片 # print('characters 1 to 3 is', name[1:3]) print('characters 2 to end is', name[2:]) print('characters 1 to -1 is', name[1:-1]) print('characters start to end is', name[:])

? 輸出:

$ python ds_seq.py Item 0 is apple Item 1 is mango Item 2 is carrot Item 3 is banana Item -1 is banana Item -2 is carrot Character 0 is s Item 1 to 3 is ['mango', 'carrot'] Item 2 to end is ['carrot', 'banana'] Item 1 to -1 is ['mango', 'carrot'] Item start to end is ['apple', 'mango', 'carrot', 'banana'] characters 1 to 3 is wa characters 2 to end is aroop characters 1 to -1 is waroo characters start to end is swaroop

? 切片時可以提供第三個數字,這數字就是步長,如果不提供的話就默認為1。

? 案例:

>>> shoplist = ['apple', 'mango', 'carrot', 'banana'] >>> shoplist[::1] ['apple', 'mango', 'carrot', 'banana'] >>> shoplist[::2] ['apple', 'carrot'] >>> shoplist[::3] ['apple', 'banana'] >>> shoplist[::-1] ['banana', 'carrot', 'mango', 'apple']

? 你會注意到當步長為 2 時,我們得到的是第 0、2、4…… 位項目。當步長為 3 時,我們得到的是第 0、3……位項目。

集合

? 集合(Set)是簡單對象的無序集合(Collection)。集合中元素無序且唯一,集合主要是用來測試項目是否存在,子集判斷和交集運算等。

? 案例:

>>> bri = set(['brazil', 'russia', 'india']) >>> 'india' in bri True >>> 'usa' in bri False >>> bric = bri.copy() >>> bric.add('china') >>> bric.issuperset(bri) True >>> bri.remove('russia') >>> bri & bric # OR bri.intersection(bric) {'brazil', 'india'}

引用

? 就是將一個變量綁定到一個對象。這個變量不是代表那個對象本身,只是指向了內存中存儲相應對象的那一部分。

? 案例:

print('Simple Assignment') shoplist = ['apple', 'mango', 'carrot', 'banana'] # mylist 只是指向同一對象的另一種名稱 mylist = shoplist# 我購買了第一項項目,所以我將其從列表中刪除 del shoplist[0]print('shoplist is', shoplist) print('mylist is', mylist) # 注意到 shoplist 和 mylist 二者都 # 打印出了其中都沒有 apple 的同樣的列表,以此我們確認 # 它們指向的是同一個對象print('Copy by making a full slice') # 通過生成一份完整的切片制作一份列表的副本 mylist = shoplist[:] # 刪除第一個項目 del mylist[0]print('shoplist is', shoplist) print('mylist is', mylist)

? 輸出:

$ python ds_reference.py Simple Assignment shoplist is ['mango', 'carrot', 'banana'] mylist is ['mango', 'carrot', 'banana'] Copy by making a full slice shoplist is ['mango', 'carrot', 'banana'] mylist is ['carrot', 'banana']

有關字符串的更多內容

? 你在程序中使用的所有字符串都是 str 類下的對象。可以查閱help(str)獲得更多關于字符串的信息。

? 案例:

# 這是一個字符串對象 name = 'Swaroop'if name.startswith('Swa') :print('Yes, the string starts with "Swa"')if 'a' in name :print('Yes, it contains the string "a"')if name.find('war') != -1 :print('Yes, it contains the string "war"')delimiter = '_*_' mylist = ['Brazil', 'Russia', 'India', 'China'] print(delimiter.join(mylist))

? 輸出:

$ python ds_str_methods.py Yes, the string starts with "Swa" Yes, it contains the string "a" Yes, it contains the string "war" Brazil_*_Russia_*_India_*_China

? startswith 方法用于查找字符串是否以給定的字符串內容開頭。 in 運算符用以檢查給定的字符串是否是查詢的字符串中的一部分。
? find 方法用于定位字符串中給定的子字符串的位置。如果找不到相應的子字符串, find會返回 -1。 str 類同樣還擁有一個簡潔的方法用以 聯結(Join) 序列中的項目,其中字符串將會作為每一項目之間的分隔符,并以此生成并返回一串更大的字符串。

解決問題

待解決的問題:

我想要一款程序來備份我所有的重要文件。

《簡明Python教程》解決問題的方式:

  • 先分析問題,提出一些需要解決的問題。

  • 設計穩定的方案,確定步驟

  • 進行編碼實現

  • 進行測試

  • 解決方案:

    import os import time# 1. 需要備份的文件與目錄將被 # 指定在一個列表中。 # 例如在 Windows 下: # source = ['"C:\\My Documents"', 'C:\\Code'] # 又例如在 Mac OS X 與 Linux 下: source = ['/Users/swa/notes'] # 在這里要注意到我們必須在字符串中使用雙引號 # 用以括起其中包含空格的名稱。#2. 備份文件必須存儲在一個 #主備份目錄中 #例如在 Windows 下: # target_dir = 'E:\\Backup' # 又例如在 Mac OS X 和 Linux 下: target_dir = '/Users/swa/backup' # 要記得將這里的目錄地址修改至你將使用的路徑# 3. 備份文件將打包壓縮成 zip 文件。 # 4. zip 壓縮文件的文件名由當前日期與時間構成。 target = target_dir + os.sep + \ time.strftime('%Y%m%d%H%M%S') + '.zip'# 如果目標目錄還不存在,則進行創建 if not os.path.exists(target_dir): os.mkdir(target_dir) # 創建目錄# 5. 我們使用 zip 命令將文件打包成 zip 格式 zip_command = 'zip -r {0} {1}'.format(target, ' '.join(source))# 運行備份 print('Zip command is:') print(zip_command) print('Running:') if os.system(zip_command) == 0: print('Successful backup to', target) else: print('Backup FAILED')

    ? 輸出:

    $ python backup_ver1.py Zip command is: zip -r /Users/swa/backup/20140328084844.zip /Users/swa/notes Running: adding: Users/swa/notes/ (stored 0%) adding: Users/swa/notes/blah1.txt (stored 0%) adding: Users/swa/notes/blah2.txt (stored 0%) adding: Users/swa/notes/blah3.txt (stored 0%) Successful backup to /Users/swa/backup/20140328084844.zip

    針對 Windows 用戶的提示
    除了使用雙反斜杠轉義序列,你還可以使用原始字符串。例如使用 ‘C:\Documents’ 或
    r’C:\Documents’ 。然而,不要使用 ‘C:\Documents’ ,因為它將被識別為你使用了一個
    未知的轉義序列 \D 來結束路徑的輸入。

    可以對上述的程序持續的改進,參照《簡明Python教程》的P94.

    軟件開發流程

    ? 我們已經經歷了開發一款軟件的流程中的各個 階段(Phases) 。現在可以將這些階段總結如下:

  • What/做什么(分析)
  • How/怎么做(設計)
  • Do It/開始做(執行)
  • Test/測試(測試與修復錯誤)
  • Use/使用(操作或開發)
  • Maintain/維護(改進)
  • ? 編寫程序時推薦的一種方式是遵循我們在編寫備份腳本時所經歷的步驟:進行分析與設計;開始實現一個簡單版本;測試并修復錯誤;開始使用以確保工作狀況皆如期望那般。現在,你可以添加任何你所希望擁有的功能,并繼續去重復這一“開始做—測試—使用”循環,需要做多少次就去做多少次。

    要記住:

    程序是成長起來的,不是搭建出來的。 (Software is grown, not built.) ——Bill dehóra

    zhg: 這一章節非常的重要,強烈建議看一下《簡明Python教程》的“解決問題”章節。

    面向對象編程

    ? 類與對象是面向對象編程的兩個主要方面。一個類(Class)能夠創建一種新的類型(Type),其中對象(Object)就是類的實例(Instance)。可以這樣來類比:你可以擁有類型 int 的變量,也就是說存儲整數的變量是 int 類的實例(對象)。

    ? 需要注意的是:在Python中int也是一個類型,整數也會被視為對象。

    ? 在對象中存儲數據的普通變量稱作“字段”。對象可以調用類的函數來實現功能,這些函數叫做“方法”。

    ? 總之,字段與方法通稱類的屬性(Attribute)。

    ? 字段有兩種類型——它們屬于某一類的各個實例或對象,或是從屬于某一類本身。它們被分別稱作實例變量(Instance Variables)與類變量(Class Variables)。

    ? 通過 class 關鍵字可以創建一個類。這個類的字段與方法可以在縮進代碼塊中予以列出。

    self

    ? 類方法與普通函數只有一種特定的區別——前者必須多加一個參數在參數列表開頭,這個名字必須添加到參數列表的開頭,但是你不用在你調用這個功能時為這個參數賦值,Python 會為它提供。這種特定的變量引用的是對象本身,按照慣例,它被賦予 self 這一名稱。

    ? 上述參數也可以指定為其他的名稱,但是強烈建議使用self,方便其他人識別,也有利于IDE提供編程提示。

    ? 你一定會在想 Python 是如何給 self 賦值的,以及為什么你不必給它一個值。一個例子或許會讓這些疑問得到解答。假設你有一個 MyClass 的類,這個類下有一個實例 myobject 。當你調用一個這個對象的方法,如 myobject.method(arg1, arg2) 時,Python 將會自動將其轉換成 MyClass.method(myobject, arg1, arg2) ——這就是 self 的全部特殊之處所在。

    ? 這同時意味著,如果你有一個沒有參數的方法,你依舊必須擁有一個參數—— self 。

    ? 最簡單的類如下:

    class Person:pass # 一個空的代碼塊p = Person() print(p)

    ? 輸出:

    $ python oop_simplestclass.py <__main__.Person instance at 0x10171f518>

    方法

    ? 類和對象都可以帶有方法,但是需要多一個額外的參數。

    ? 案例:

    class Person:def say_hi(self):print('Hello, how are you?')p = Person() p.say_hi() # 前面兩行同樣可以寫作 # Person().say_hi()

    ? 輸出:

    $ python oop_method.py Hello, how are you?

    ? 要注意到 say_hi 這一方法不需要參數,但是依舊在函數定義中擁有 self 變量。

    __init__方法

    ? 這個方法會在對象被示例化的時候被調用,其實就相當于是構造函數。

    ? 案例:

    class Person:def __init__(self, name):self.name = namedef say_hi(self):print('Hello, my name is', self.name)p = Person('Swaroop') p.say_hi() # 前面兩行同時也能寫作 # Person('Swaroop').say_hi()

    ? 輸出:

    $ python oop_init.py Hello, my name is Swaroop

    ? self.name 中的點號意味著這個叫作“name”的東西是某個叫作“self”的對象的一部分,而另一個 name 則是一個局部變量。

    ? zhg: 注意上面這個案例中創建對象字段的方式,根本就沒先定義,而是直接就開始賦值了。

    類變量與對象變量

    ? 數據部分——也就是字段——只不過是綁定(Bound)到類與對象的命名空間(Namespace)的普通變量。這些名稱僅在這些類與對象所在的上下文中有效,這就是它們被稱作“命名空間”的原因。

    ? 字段有兩種類型——類變量和對象變量。

    ? 類變量是屬于類的,所有類的實例可以共享這個變量,類變量只有一個副本,當一個類的實例對類變量進行改變時,其他的實例都可以看到這種改變。

    ? 對象變量是屬于實例或對象的,每個實例都會有對象變量的一個單獨副本,在一個實例中對對象變量進行改變時,其他實例中的同名對象變量不會有任何的變化。

    ? 案例:

    # coding=UTF-8 class Robot:"""表示有一個帶名字的機器人"""# 一個類變量, 用來計數機器人的數量population = 0def __init__(self, name):"""初始化數據"""self.name = nameprint("(Initializing {})".format(self.name))# 當有人被創建時,機器人# 將會增加人口數量Robot.population += 1def die(self):"""我掛了"""print("{} is being destroyed!".format(self.name))Robot.population -= 1if Robot.population == 0:print("{} was the last one.".format(self.name))else:print("There are still {:d} robots working.".format(Robot.population))def say_hi(self):"""來自機器人的誠摯問候沒問題,你做得到。"""print("Greetings, my masters call me {}.".format(self.name))@classmethoddef how_many(cls):"""打印出當前的人口數量"""print("We have {:d} robots.".format(cls.population))droid1 = Robot("R2-D2") droid1.say_hi() Robot.how_many()droid2 = Robot("C-3P0") droid2.say_hi() Robot.how_many()print("\nRobots can do some work here.\n")print("Robots have finished their work. So let's destroy them.") droid1.die() droid2.die()Robot.how_many()

    ? 輸出:

    $ python oop_objvar.py (Initializing R2-D2) Greetings, my masters call me R2-D2. We have 1 robots. (Initializing C-3PO) Greetings, my masters call me C-3PO. We have 2 robots.Robots can do some work here.Robots have finished their work. So let's destroy them. R2-D2 is being destroyed! There are still 1 robots working. C-3PO is being destroyed! C-3PO was the last one. We have 0 robots.

    ? 除了 Robot.popluation ,我們還可以使用 self.__class__.population ,因為每個對象都通過
    self.__class__ 屬性來引用它的類。

    ? 我們使用裝飾器(Decorator)將 how_many 方法標記為類方法。

    ? 你可以將裝飾器想象為調用一個包裝器(Wrapper)函數的快捷方式,因此啟用@classmethod 裝飾器等價于調用:

    how_many = classmethod(how_many)

    ? 你需要記住你只能使用 self 來引用同一對象的變量與方法。這被稱作屬性引用(Attribute Reference)。

    ? 所有的類成員都是公開的,但是如果使用雙下劃線作為名稱前綴,例如__privatevar,那么Python 會使用名稱調整(Namemangling)來使其有效地成為一個私有變量。

    針對 C++/Java/C# 程序員的提示
    所有類成員(包括數據成員)都是公開的,并且 Python 中所有的方法都是虛擬的(Virtual)。

    繼承

    ? 面向對象編程的一大優點是對代碼的重用(Reuse),重用的一種實現方法就是通過繼承(Inheritance)機制。繼承最好是想象成在類之間實現類型與子類型(Type and Subtype)關系的工具。

    ? 對于基類的改動會自動反映到子類型中。在某些情況下可以將子類型對象看作是基類對象,這叫做多態性。

    ? 案例:

    # coding=UTF-8class SchoolMember:'''代表任何學校里的成員'''def __init__(self, name, age):self.name = nameself.age = ageprint('(Initialized SchoolMember: {})'.format(self.name))def tell(self):'''告訴我有關我的細節'''print('Name:"{}" Age:"{}"'.format(self.name, self.age), end=" ")class Teacher(SchoolMember) :'''代表一位老師。'''def __init__(self, name, age, salary):SchoolMember.__init__(self, name, age)self.salary = salaryprint('(Initialized Teacher: {})'.format(self.name))def tell(self):SchoolMember.tell(self)print('Salary: "{:d}"'.format(self.salary))class Student(SchoolMember):'''代表一位學生'''def __init__(self, name, age, marks):SchoolMember.__init__(self, name, age)self.marks = marksprint('(Initialized Student: {})'.format(self.name))def tell(self):SchoolMember.tell(self)print('Marks: "{:d}"'.format(self.marks))t = Teacher('Mrs.Shrividya', 40, 30000) s =Student('Swaroop', 25, 75)#打印一行空白行 print()members = [t, s] for member in members :#對全體師生工作member.tell()

    ? 輸出:

    $ python oop_subclass.py (Initialized SchoolMember: Mrs. Shrividya) (Initialized Teacher: Mrs. Shrividya) (Initialized SchoolMember: Swaroop) (Initialized Student: Swaroop)Name:"Mrs. Shrividya" Age:"40" Salary: "30000" Name:"Swaroop" Age:"25" Marks: "75"

    ? 下面這一點很重要,需要牢記——因為我們在 Teacher 和 Student 子類中定義了__init__ 方法,Python 不會自動調用基類 SchoolMember 的構造函數,你必須自己顯式地調用它。

    ? 相反,如果我們沒有在一個子類中定義一個 init 方法,Python 將會自動調用基類的構造函數。

    ? 定義子類時,子類名稱后的括號是一個元組,稱作繼承元組。

    ? 這里有一條有關術語的注釋——如果繼承元組(Inheritance Tuple)中有超過一個類,這種情況就會被稱作多重繼承(Multiple Inheritance)。

    總結:

    ? Python是高度面向對象,所有的東西都可以看作是對象,包括函數。所以有必要清楚的知道類與對象的知識。

    輸入與輸出

    ? 可以用input()獲取用戶輸入,print()打印輸出。

    ? 對于輸入,我們還可以使用 str (String,字符串)類的各種方法。

    ? 下面主要是探討文件的輸入與輸出。

    用戶輸入內容

    ? 案例:

    def reverse(text):return text[::-1]def is_palindrome(text): # 判斷是否是回文return text == reverse(text)something = input('Enter text: ') if is_palindrome(something) :print('Yes, it is a palindrome') else:print('No, it is not a palindrome')

    ? 輸出:

    $ python3 io_input.py Enter text: sir No, it is not a palindrome$ python3 io_input.py Enter text: madam Yes, it is a palindrome$ python3 io_input.py Enter text: racecar Yes, it is a palindrome

    ? input() 函數可以接受一個字符串作為參數,并將其展示給用戶。爾后它將等待用戶輸入內容或敲擊返回鍵。一旦用戶輸入了某些內容并敲下返回鍵, input() 函數將返回用戶輸入的文本。

    文件

    ? 你可以通過創建一個屬于 file 類的對象并適當使用它的 read 、 readline 、 write 方法來打開或使用文件,并對它們進行讀取或寫入。讀取或寫入文件的能力取決于你指定以何種方式打開文件。

    ? 當完成文件操作后,要調用close()方法關閉文件。

    ? 案例:

    poem = '''\ Programming is fun When the work is done if you wanna make your work also fun:use Python! '''# 打開文件以編輯('w'riting) f = open('poem.txt', 'w') # 向文件中編寫文本 f.write(poem) # 關閉文件 f.close()# 如果沒有特別指定, # 將假定啟用默認的閱讀('r'ead)模式 f = open('poem.txt') while True :line = f.readline()# 零長度指示 EOFif len(line) == 0:break# 每行(`line`)的末尾# 都已經有了換行符#因為它是從一個文件中進行讀取的print(line, end='')#關閉文件 f.close()

    ? 輸出:

    $ python3 io_using_file.py Programming is fun When the work is done if you wanna make your work also fun:use Python!

    ? open()函數會以指定的模式打開文件,有關更多詳細的模式,可以用help(open)進行查看。

    Pickle

    ? 可以將Python對象輸出到文件中,并且稍后可以取回。這叫作持久地存儲對象。

    ? 案例:

    import pickle# 我們存儲相關對象的文件的名稱 shoplistfile = 'shoplist.data' # 需要購買的物品清單 shoplist = ['apple', 'mango', 'carrot']# 準備寫入文件 f = open(shoplistfile, 'wb') # 轉儲對象至文件 pickle.dump(shoplist, f) f.close()# 清除 shoplist 變量 del shoplist# 重新打開存儲文件 f = open(shoplistfile, 'rb') # 從文件中載入對象 storedlist = pickle.load(f) print(storedlist)

    ? 輸出:

    $ python io_pickle.py ['apple', 'mango', 'carrot']

    ? 要想將一個對象存儲到一個文件中,我們首先需要通過 open 以寫入(write)二進制(binary)模式打開文件,然后調用 pickle 模塊的 dump 函數。這一過程被稱作封裝(Pickling)。

    ? 接著,我們通過 pickle 模塊的 load 函數接收返回的對象。這個過程被稱作拆封(Unpickling)。

    Unicode

    ? 前面使用和操作字符串的時候都沒關關注編碼問題。

    注意:如果你正在使用 Python 2,我們又希望能夠讀寫其它非英語語言,我們需要使用
    unicode 類型,它全都以字母 u 開頭,例如 u"hello world"

    >>> "hello world" 'hello world' >>> type("hello world") <class 'str'> >>> u"hello world" 'hello world' >>> type(u"hello world") <class 'str'>

    ? zhg: 上述案例中,type()可以查看對象的類型。

    ? 若需要制定打開文件的編碼是UTF-8,則在open()函數中添加一個關鍵字參數就可以完成。

    ? 案例:

    # encoding=utf-8 import io f = io.open("abc.txt", "wt", encoding="utf-8") f.write(u"Imagine non-English language here") f.close() text = io.open("abc.txt", encoding="utf-8").read() print(text)

    ? 每當我們諸如上面那番使用 Unicode 字面量編寫一款程序時,我們必須確保 Python 程序已經被告知我們使用的是 UTF-8,因此我們必須將 # encoding=utf-8 這一注釋放置在我們程序的頂端。

    異常

    ? 當程序發生錯誤的時候,Python就會通過異常來告訴你哪兒出現了錯誤。

    錯誤

    >>> Print("Hello World") Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'Print' is not defined >>> print("Hello World") Hello World

    ? 你會注意到一個 NameError 錯誤被拋出,同時 Python 還會打印出檢測到的錯誤發生的位置。這就是一個錯誤錯誤處理器(Error Handler) 為這個錯誤所做的事情。

    異常

    ? 我們將嘗試(Try)去讀取用戶的輸入內容。按下 [ctrl-d] 來看看會發生什么事情。

    >>> s = input('Enter something --> ') Enter something --> Traceback (most recent call last): File "<stdin>", line 1, in <module> EOFError

    處理異常

    ? 可以通過使用 try…except 來處理異常狀況。一般來說我們會把通常的語句放在 try 代碼塊中,將我們的錯誤處理器代碼放置在 except 代碼塊中。

    ? 類似于Java的try{}catch(){}機制。

    ? 案例:

    try:text = input('Enter something --> ') except EOFError:print('why did you do an EOF on me?') except KeyboardInterrupt:print('You cancelled the operation. ') else: # 沒有異常發生print('You entered {}'.format(text))

    ? 輸出:

    # Press ctrl + d windows下是ctrl + z代表輸入結束 $ python exceptions_handle.py Enter something --> Why did you do an EOF on me? # Press ctrl + c $ python exceptions_handle.py Enter something --> ^CYou cancelled the operation. $ python exceptions_handle.py Enter something --> No exceptions You entered No exceptions

    ? 將所有可能引發異常或錯誤的語句放在 try 代碼塊中,并將相應的錯誤或異常的處理器(Handler)放在 except 子句或代碼塊中。 except 子句可以處理某種特定的錯誤或異常,或者是一個在括號中列出的錯誤或異常。如果沒有提供錯誤或異常的名稱,它將處理所有錯誤與異常。

    ? 必須至少有一句 except 字句與每一句 try 字句相關聯。不然,有一個 try 代碼塊又有什么意義?

    拋出異常

    ? 可以通過 raise 語句來引發一次異常。

    ? 你能夠引發的錯誤或異常必須是直接或間接從屬于 Exception (異常) 類的派生類。

    ? 案例:

    # encoding=utf-8class ShortInputException(Exception):'''一個由用戶定義的異常類'''def __init__(self, length, atleast):Exception.__init__(self)self.length = lengthself.atleast = atleasttry:text = input('Enter something -->')if len(text) < 3:raise ShortInputException(len(text), 3)# 其他工作能在此處繼續正常運行 except EOFError:print('Why did you do an EOF on me?') except ShortInputException as ex: # 注意這兒的asprint(('ShortInputException: The input was '+'{0} long, expected ad least {1}').format(ex.length, ex.atleast)) else:print('No exception was raised.')

    ? 輸出:

    $ python exceptions_raise.py Enter something --> a ShortInputException: The input was 1 long, expected at least 3$ python exceptions_raise.py Enter something --> abc No exception was raised.

    Try … Finally

    ? Try…Finally塊可以確保打開的文件一定被正常的關閉,也就是說無論是否發生異常,finally子句中的代碼塊都會被執行。

    ? 案例:

    import sys import timef = None try:f = open("poem.txt")# 我們常用的文件閱讀風格while True:line = f.readline()if len(line) == 0:breakprint(line, end='')sys.stdout.flush()print("Press ctrl+c now")# 為了確保它能運行一段時間time.sleep(3) except IOError:print("Could not find file poem.txt") except KeyboardInterrupt:print("!! You cancelled the reading from the file.") finally:if f:f.close()print("(Cleaning up: closed the file)")

    ? 輸出:

    $ python exceptions_finally.py Programming is fun Press ctrl+c now ^C!! You cancelled the reading from the file. (Cleaning up: Closed the file)

    with語句

    ? 在 try 塊中獲取資源,然后在 finally 塊中釋放資源是一種常見的模式。因此,還有一個with 語句使得這一過程可以以一種干凈的姿態得以完成。

    ? 案例:

    with open("poem.txt") as f :for line in f:print(line, end='')

    ? 我們使用的是 open 函數與 with 語句——我們將關閉文件的操作交由 with open 來自動完成。

    ? 其實是with使用了一個協議,總會在代碼塊開始之前調用 thefile.__enter__ 函數,并且總會在代碼塊執行完畢之后調用 thefile.__exit__ 。

    標準庫

    ? Python 標準庫(Python Standrad Library)中包含了大量有用的模塊,同時也是每個標準的Python 安裝包中的一部分。

    Sys模塊

    ? sys 模塊包括了一些針對特定系統的功能。我們已經了解過 sys.argv 列表中包括了命令行參數。

    日志模塊

    ? logging 模塊可以記錄日志。

    ? 案例:

    import os import platform import loggingif platform.platform().startswith('Windows'):logging_file = os.path.join(os.getenv('HOMEDRIVE'),os.getenv('HOMEPATH'),'test.log') else:logging_file = os.path.join(os.getenv('HOME'),'test.log')print("logging to", logging_file)logging.basicConfig(level=logging.DEBUG,format='%(asctime)s : %(levelname)s : %(message)s',filename=logging_file,filemode='w', )logging.debug("Start of the program") logging.info("Doing something") logging.warning("Dying now")

    ? 輸出:

    $ python stdlib_logging.py Logging to /Users/swa/test.log$ cat /Users/swa/test.log 2014-03-29 09:27:36,660 : DEBUG : Start of the program 2014-03-29 09:27:36,660 : INFO : Doing something 2014-03-29 09:27:36,660 : WARNING : Dying now

    ? 我們使用了三款標準庫中的模塊—— os 模塊用以和操作系統交互, platform 模塊用以獲取平臺——操作系統——的信息, logging 模塊用來記錄(Log)信息。

    每周模塊系列:標準庫中還有非常多的有用模塊,可以閱讀Doug Hellmann撰寫的優秀的Python Module of the Week或者閱讀Python的官方文檔。

    更多

    ? 前面的部分涵蓋了將使用到的Python的大部分方面,下面介紹一些其他部分,使得對Python的認識更加全面。

    傳遞元組

    ? 你可曾希望從一個函數中返回兩個不同的值?你能做到的。只需要使用一個元組。

    >>> def get_error_details(): ... return (2, 'details') ... >>> errnum, errstr = get_error_details() >>> errnum 2 >>> errstr 'details'

    ? 要注意到 a, b = <some expression> 的用法會將表達式的結果解釋為具有兩個值的一個元組。

    ? 這也意味著在 Python 中交換兩個變量的最快方法是:

    >>> a = 5; b = 8 >>> a, b (5, 8) >>> a, b = b, a >>> a, b (8, 5)

    特殊方法

    ? 諸如 __init__ 和 __del__ 等一些方法對于類來說有特殊意義。

    ? 特殊方法用來模擬內置類型的某些行為。如果你希望為你的類使用 x[key] 索引操作(就像你在列表與元組中使用的那樣),那么你所需要做的只不過是實現__getitem__() 方法,然后你的工作就完成了。如果你試圖理解它,就想想 Python 就是對list 類這樣做的!

    ? 如果想了解更多的特殊方法,可以參閱Python手冊

    單語句塊

    ? 每個語句塊都是由其自身的縮進級別與其他部分進行區分。如果你的語句塊只有單獨的一句,那么你可以在同一行指定它,例如條件語句與循環語句。

    ? 案例:

    >>> flag = True >>> if flag: print('Yes') ... Yes

    ? 注意,單個語句是在原地立即使用的,它不會被看作一個單獨的塊。雖然這個方式可以使得程序更加小巧,但是除非是為了檢查錯誤,建議避免使用這種快捷方式。

    Lambda表格

    ? lambda 語句可以創建一個新的函數對象。從本質上說, lambda 需要一個參數,后跟一個表達式作為函數體,這一表達式執行的值將作為這個新函數的返回值。

    ? 案例:

    points = [{'x': 2, 'y': 3},{'x': 4, 'y': 1}] points.sort(key=lambda i : i['y']) print(points)

    ? 輸出:

    $ python more_lambda.py [{'y': 1, 'x': 4}, {'y': 3, 'x': 2}]

    ? 要注意到一個 list 的 sort 方法可以獲得一個 key 參數,用以決定列表的排序方式(通常我們只知道升序與降序)。在我們的案例中,我們希望進行一次自定義排序,為此我們需要編寫一個函數,但是又不是為函數編寫一個獨立的 def 塊,只在這一個地方使用,因此我們使用 Lambda 表達式來創建一個新函數。

    列表推導

    ? 列表推導(List Comprehension)用于從一份現有的列表中得到一份新列表。想象一下,現在你已經有了一份數字列表,你想得到一個相應的列表,其中的數字在大于 2 的情況下將乘以2。列表推導就是這類情況的理想選擇。

    ? 案例:

    listone = [2, 3, 4] listtwo = [2*i for i in listone if i > 2] print(listtwo)

    ? 輸出:

    $ python more_list_comprehension.py [6, 8]

    ? 在本案例中,當滿足了某些條件時( if i > 2 ),我們進行指定的操作( 2*i ),以此來獲得一份新的列表。要注意到原始列表依舊保持不變。

    ? 使用列表推導的優點在于可以減少代碼。

    在函數中接收元組與字典

    ? 有一種特殊方法,即分別使用 * 或 ** 作為元組或字典的前綴,來使它們作為一個參數為函數所接收。當函數需要一個可變數量的實參時,這將頗為有用。

    >>> def powersum(power, *args): ... '''Return the sum of each argument raised to the specified power.''' ... total = 0 ... for i in args: ... total += pow(i, power) ... return total ... >>> powersum(2, 3, 4) 25 >>> powersum(2, 10) 100

    ? 我們在 args 變量前添加了一個 * 前綴,函數的所有其它的額外參數都將傳遞到args 中,并作為一個元組予以儲存。如果采用的是 ** 前綴,則額外的參數將被視為字典的鍵值—值配對。

    assert語句

    ? assert 語句用以斷言(Assert)某事是真的。

    ? 當assert判斷事實為真時,則會繼續執行后續代碼,如果判斷其不是真的,那么就會拋出一個錯誤。當語句斷言失敗時,將會拋出 AssertionError 。

    ? 案例:

    >>> mylist = ['item'] >>> assert len(mylist) >= 1 >>> mylist.pop() 'item' >>> assert len(mylist) >= 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError

    ? zhg: 自己的理解,這個assert就是用來驗證自己的猜測和假設的,如果猜測和假設是真的,那么后續的基于假設和猜測的邏輯就不會有有問題,那么assert會通過,并繼續執行后續代碼;如果猜測和假設是錯誤的,那么后續的基于假設和猜測的邏輯就是有問題的,那么assert就不會通過,則會拋出錯誤,進而阻止后續代碼的運行。

    裝飾器

    ? 裝飾器(Decorators)是應用包裝函數的快捷方式。這有助于將某一功能與一些代碼一遍又一遍地“包裝”。

    ? 案例:

    from time import sleep from functools import wraps import logginglogging.basicConfig() log = logging.getLogger("retry")def retry(f):@wraps(f)def wrapped_f(*args, **kwargs):MAX_ATTEMPS = 5for attempt in range(1, MAX_ATTEMPS + 1):try:return f(*args, **kwargs)except:log.exception("Attemp %s/%s failed :%s",attempt,MAX_ATTEMPS,(args, kwargs))sleep(10 * attempt)log.critical("All %s attemps failed : %s",MAX_ATTEMPS,(args, kwargs))return wrapped_fcounter = 0@retry def save_to_database(arg):print("Write to a database or make a network call or etc.")print("This will be automatically retried if exception is thrown.")global countercounter += 1# 這將在第一次調用時拋出異常# 在第二次運行時將正常工作(也就是重試)if counter < 2:raise ValueError(arg)if __name__ == '__main__':save_to_database("Some bad value")

    ? 輸出:

    $ python more_decorator.py Write to a database or make a network call or etc. This will be automatically retried if exception is thrown. ERROR:retry:Attempt 1/5 failed : (('Some bad value',), {}) Traceback (most recent call last):File "more_decorator.py", line 14, in wrapped_freturn f(*args, **kwargs)File "more_decorator.py", line 39, in save_to_databaseraise ValueError(arg) ValueError: Some bad value Write to a database or make a network call or etc. This will be automatically retried if exception is thrown.

    總結

    以上是生活随笔為你收集整理的《简明Python教程》学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    亚洲国产精品无码一区二区三区 | 少妇激情av一区二区 | 欧美老妇与禽交 | 久久久久久久久888 | 亚洲欧美日韩国产精品一区二区 | 日韩精品无码一区二区中文字幕 | 帮老师解开蕾丝奶罩吸乳网站 | 性色欲情网站iwww九文堂 | 欧美国产日韩亚洲中文 | 亚洲精品鲁一鲁一区二区三区 | 亚洲自偷自偷在线制服 | www国产亚洲精品久久网站 | 丰满少妇高潮惨叫视频 | 亚洲精品成人福利网站 | 激情内射日本一区二区三区 | 日韩欧美中文字幕公布 | 欧洲熟妇精品视频 | 日韩人妻系列无码专区 | 免费看男女做好爽好硬视频 | 国产欧美精品一区二区三区 | 99久久99久久免费精品蜜桃 | 又大又黄又粗又爽的免费视频 | 国产午夜福利亚洲第一 | 女人和拘做爰正片视频 | 在线看片无码永久免费视频 | 国产婷婷色一区二区三区在线 | 中文字幕日产无线码一区 | 亚洲国产精品久久久天堂 | 一本色道久久综合亚洲精品不卡 | 性做久久久久久久久 | 国产亚av手机在线观看 | 日韩av无码一区二区三区不卡 | 双乳奶水饱满少妇呻吟 | 国产成人精品三级麻豆 | 人人妻人人藻人人爽欧美一区 | 欧美 日韩 亚洲 在线 | 亚洲熟熟妇xxxx | 日韩av无码中文无码电影 | 人妻尝试又大又粗久久 | 最近中文2019字幕第二页 | 亚洲成色在线综合网站 | 国产成人精品一区二区在线小狼 | 精品国产青草久久久久福利 | 小泽玛莉亚一区二区视频在线 | 中文字幕人妻无码一夲道 | 中文字幕乱码人妻二区三区 | 无套内谢的新婚少妇国语播放 | 蜜臀aⅴ国产精品久久久国产老师 | 欧美日韩人成综合在线播放 | 欧美黑人巨大xxxxx | 亚洲成在人网站无码天堂 | 亚洲欧美精品伊人久久 | 中文字幕乱码人妻无码久久 | 在线亚洲高清揄拍自拍一品区 | 天天摸天天透天天添 | 欧美一区二区三区视频在线观看 | 午夜精品一区二区三区的区别 | 国产在线无码精品电影网 | 亚洲一区二区观看播放 | 久久精品人人做人人综合 | 国产午夜手机精彩视频 | 九月婷婷人人澡人人添人人爽 | 内射巨臀欧美在线视频 | 久久无码中文字幕免费影院蜜桃 | 国产亚洲精品久久久久久大师 | 亚洲欧洲日本综合aⅴ在线 | 任你躁国产自任一区二区三区 | 亚洲国产精品毛片av不卡在线 | www成人国产高清内射 | 一本色道婷婷久久欧美 | 欧美成人午夜精品久久久 | 国产精品久久精品三级 | aⅴ亚洲 日韩 色 图网站 播放 | 香蕉久久久久久av成人 | 亚洲色欲色欲欲www在线 | 乱人伦人妻中文字幕无码久久网 | aⅴ亚洲 日韩 色 图网站 播放 | 波多野结衣一区二区三区av免费 | 免费无码的av片在线观看 | 青青久在线视频免费观看 | 精品国产国产综合精品 | 午夜福利试看120秒体验区 | 俺去俺来也在线www色官网 | 亚洲爆乳大丰满无码专区 | 亚洲日本在线电影 | 巨爆乳无码视频在线观看 | 无码av最新清无码专区吞精 | 无码一区二区三区在线 | 玩弄人妻少妇500系列视频 | 欧美成人高清在线播放 | 人人妻在人人 | 鲁鲁鲁爽爽爽在线视频观看 | 久久99精品国产麻豆 | 国产婷婷色一区二区三区在线 | 国产午夜精品一区二区三区嫩草 | 少妇高潮喷潮久久久影院 | 国产午夜视频在线观看 | 日韩精品无码一区二区中文字幕 | 鲁鲁鲁爽爽爽在线视频观看 | 日日碰狠狠丁香久燥 | 人人澡人摸人人添 | 欧美日韩人成综合在线播放 | 精品国产麻豆免费人成网站 | 日本乱人伦片中文三区 | 中文字幕人妻无码一区二区三区 | 国产人妻大战黑人第1集 | 99视频精品全部免费免费观看 | 亚洲精品欧美二区三区中文字幕 | 无码人妻丰满熟妇区毛片18 | 精品一区二区三区波多野结衣 | 无码人妻黑人中文字幕 | 精品水蜜桃久久久久久久 | 精品国产一区二区三区四区在线看 | 久久综合色之久久综合 | 久久久久成人精品免费播放动漫 | 国产综合久久久久鬼色 | 一本久道高清无码视频 | 国产在线精品一区二区三区直播 | 俺去俺来也www色官网 | 精品国产一区二区三区四区 | 国产69精品久久久久app下载 | 桃花色综合影院 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲人成网站在线播放942 | 欧美日韩久久久精品a片 | 欧美成人免费全部网站 | 熟女少妇人妻中文字幕 | 国产办公室秘书无码精品99 | 天天摸天天碰天天添 | 精品水蜜桃久久久久久久 | 欧美黑人性暴力猛交喷水 | 99久久久无码国产精品免费 | 国产精品亚洲一区二区三区喷水 | 亚洲国产精品无码一区二区三区 | 成人aaa片一区国产精品 | 亚洲日韩av一区二区三区四区 | 亚洲欧美国产精品久久 | 少妇愉情理伦片bd | 久久国产36精品色熟妇 | 亚洲国产高清在线观看视频 | 亚洲精品久久久久中文第一幕 | 国产精品嫩草久久久久 | 国产在线一区二区三区四区五区 | 丝袜美腿亚洲一区二区 | 性欧美videos高清精品 | ass日本丰满熟妇pics | 欧美真人作爱免费视频 | 粗大的内捧猛烈进出视频 | 亚洲狠狠色丁香婷婷综合 | 久久久久久亚洲精品a片成人 | 日日天日日夜日日摸 | 狠狠噜狠狠狠狠丁香五月 | 日本护士xxxxhd少妇 | 图片区 小说区 区 亚洲五月 | 国产亚洲精品久久久ai换 | 东京一本一道一二三区 | 精品国产av色一区二区深夜久久 | 中文字幕人妻无码一区二区三区 | 日本精品久久久久中文字幕 | 99久久人妻精品免费二区 | 理论片87福利理论电影 | 日产精品99久久久久久 | 免费观看激色视频网站 | 成人影院yy111111在线观看 | 欧美国产亚洲日韩在线二区 | 亚洲日韩中文字幕在线播放 | 丰满人妻精品国产99aⅴ | 少妇邻居内射在线 | 乱码午夜-极国产极内射 | 日本乱人伦片中文三区 | 奇米影视7777久久精品人人爽 | 亚洲精品久久久久久一区二区 | 国产精品久久久久影院嫩草 | 无码国产激情在线观看 | 国产无遮挡吃胸膜奶免费看 | 任你躁国产自任一区二区三区 | 无遮挡啪啪摇乳动态图 | 欧美猛少妇色xxxxx | 中文字幕乱码人妻二区三区 | 熟女体下毛毛黑森林 | 日本免费一区二区三区最新 | aa片在线观看视频在线播放 | 99riav国产精品视频 | 77777熟女视频在线观看 а天堂中文在线官网 | av在线亚洲欧洲日产一区二区 | 亚洲国产综合无码一区 | 美女张开腿让人桶 | 日日天干夜夜狠狠爱 | 亚洲中文字幕在线无码一区二区 | 麻豆精品国产精华精华液好用吗 | 99久久久无码国产精品免费 | 水蜜桃亚洲一二三四在线 | 色综合视频一区二区三区 | 纯爱无遮挡h肉动漫在线播放 | 亚洲成av人综合在线观看 | 国产精品va在线观看无码 | 亚洲人成无码网www | 捆绑白丝粉色jk震动捧喷白浆 | 草草网站影院白丝内射 | 欧美兽交xxxx×视频 | 中文字幕+乱码+中文字幕一区 | 国产亲子乱弄免费视频 | 1000部啪啪未满十八勿入下载 | 久久亚洲中文字幕精品一区 | 欧美老人巨大xxxx做受 | 精品少妇爆乳无码av无码专区 | 男人的天堂2018无码 | 又紧又大又爽精品一区二区 | 狠狠色噜噜狠狠狠狠7777米奇 | 精品久久综合1区2区3区激情 | 久久国产精品_国产精品 | 亚洲a无码综合a国产av中文 | 久久精品一区二区三区四区 | 欧美成人免费全部网站 | 国产精品鲁鲁鲁 | 国精产品一品二品国精品69xx | 人人爽人人澡人人人妻 | 又大又黄又粗又爽的免费视频 | 欧美国产日韩久久mv | 一本久道久久综合婷婷五月 | 亚洲人成人无码网www国产 | 美女扒开屁股让男人桶 | 中文字幕久久久久人妻 | 熟女体下毛毛黑森林 | aⅴ在线视频男人的天堂 | 色妞www精品免费视频 | 国产精品久久国产精品99 | 国内精品人妻无码久久久影院蜜桃 | 日本www一道久久久免费榴莲 | 国产精品沙发午睡系列 | 人人超人人超碰超国产 | 国产猛烈高潮尖叫视频免费 | 亚洲 欧美 激情 小说 另类 | 久久久久免费精品国产 | 亚洲中文字幕久久无码 | 日韩精品一区二区av在线 | 波多野结衣aⅴ在线 | 蜜桃臀无码内射一区二区三区 | 欧洲vodafone精品性 | 无码人妻丰满熟妇区毛片18 | 国产精品久久久午夜夜伦鲁鲁 | 无码帝国www无码专区色综合 | 国产乱人偷精品人妻a片 | 青青草原综合久久大伊人精品 | 夜精品a片一区二区三区无码白浆 | 7777奇米四色成人眼影 | a片在线免费观看 | 大屁股大乳丰满人妻 | 国产欧美亚洲精品a | 任你躁在线精品免费 | 午夜福利试看120秒体验区 | 玩弄中年熟妇正在播放 | 18禁黄网站男男禁片免费观看 | 欧美精品无码一区二区三区 | 午夜福利一区二区三区在线观看 | 国产97色在线 | 免 | 成年美女黄网站色大免费视频 | 丰满人妻一区二区三区免费视频 | 丰满少妇熟乱xxxxx视频 | 无码人中文字幕 | 欧美丰满熟妇xxxx | 欧美日韩一区二区三区自拍 | 国产麻豆精品一区二区三区v视界 | 樱花草在线社区www | 性色av无码免费一区二区三区 | av人摸人人人澡人人超碰下载 | 亚洲自偷自拍另类第1页 | 成人无码视频在线观看网站 | 人妻无码久久精品人妻 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲色无码一区二区三区 | 岛国片人妻三上悠亚 | 老熟妇乱子伦牲交视频 | 国产精品高潮呻吟av久久4虎 | 欧美性猛交内射兽交老熟妇 | 一区二区三区高清视频一 | 精品aⅴ一区二区三区 | 中文精品无码中文字幕无码专区 | 97se亚洲精品一区 | 自拍偷自拍亚洲精品10p | 久久久久亚洲精品中文字幕 | 亚洲午夜久久久影院 | 免费无码午夜福利片69 | 97资源共享在线视频 | 色五月丁香五月综合五月 | 青春草在线视频免费观看 | 日本精品人妻无码77777 天堂一区人妻无码 | 婷婷丁香五月天综合东京热 | 国产午夜福利亚洲第一 | 99riav国产精品视频 | 久久久久国色av免费观看性色 | 欧美真人作爱免费视频 | 性开放的女人aaa片 | 亚洲色偷偷偷综合网 | 蜜臀av无码人妻精品 | 好男人www社区 | 日韩少妇内射免费播放 | 午夜理论片yy44880影院 | 国产精品久久久久7777 | 日本丰满熟妇videos | 任你躁在线精品免费 | 欧美人与禽猛交狂配 | 亚洲国产欧美国产综合一区 | 牲欲强的熟妇农村老妇女 | 国产精品久久久久久久9999 | 久久久久久av无码免费看大片 | 国内精品久久毛片一区二区 | 久久国产自偷自偷免费一区调 | 久久久国产一区二区三区 | 激情综合激情五月俺也去 | 1000部啪啪未满十八勿入下载 | 高潮毛片无遮挡高清免费视频 | 国产精品欧美成人 | 99精品视频在线观看免费 | 亚洲一区二区三区国产精华液 | www国产亚洲精品久久久日本 | 九月婷婷人人澡人人添人人爽 | 日产精品99久久久久久 | 久久熟妇人妻午夜寂寞影院 | 亚洲精品一区二区三区婷婷月 | 女人被爽到呻吟gif动态图视看 | 国内揄拍国内精品人妻 | 一本加勒比波多野结衣 | 免费看少妇作爱视频 | 大肉大捧一进一出好爽视频 | 欧美xxxxx精品 | 久久国产精品_国产精品 | 美女张开腿让人桶 | 精品偷拍一区二区三区在线看 | 久热国产vs视频在线观看 | 亚洲人成网站在线播放942 | 自拍偷自拍亚洲精品10p | 久久亚洲国产成人精品性色 | 国产精品亚洲综合色区韩国 | 丰满诱人的人妻3 | 人妻中文无码久热丝袜 | 亚洲国产精品美女久久久久 | 国产高潮视频在线观看 | 亚洲中文字幕无码中字 | aa片在线观看视频在线播放 | 国产乡下妇女做爰 | 国产凸凹视频一区二区 | 一本久久a久久精品vr综合 | 日韩 欧美 动漫 国产 制服 | 亚洲精品一区二区三区在线观看 | 亚洲国产精华液网站w | 亚洲自偷精品视频自拍 | 亚洲精品久久久久久一区二区 | 国产午夜无码精品免费看 | 亚洲日本在线电影 | 久久久www成人免费毛片 | 国产超级va在线观看视频 | 国产在线精品一区二区高清不卡 | 男女下面进入的视频免费午夜 | 国产情侣作爱视频免费观看 | 夜先锋av资源网站 | 国产人妻久久精品二区三区老狼 | 久久亚洲精品成人无码 | 国产成人亚洲综合无码 | 亚洲国产高清在线观看视频 | 欧美性猛交内射兽交老熟妇 | 亚洲乱码中文字幕在线 | 欧美激情内射喷水高潮 | 国产精品免费大片 | 欧美国产日韩久久mv | 午夜成人1000部免费视频 | 国产成人综合色在线观看网站 | 人人妻人人澡人人爽人人精品浪潮 | 欧美国产日产一区二区 | 两性色午夜视频免费播放 | 两性色午夜免费视频 | 国产区女主播在线观看 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲精品一区二区三区在线 | 亚洲精品中文字幕久久久久 | 又黄又爽又色的视频 | 疯狂三人交性欧美 | 久久久久国色av免费观看性色 | 国产成人久久精品流白浆 | 亚洲区小说区激情区图片区 | 色一情一乱一伦 | 红桃av一区二区三区在线无码av | 国产亚洲人成a在线v网站 | 5858s亚洲色大成网站www | 亚洲精品一区二区三区婷婷月 | 久久久久久久久蜜桃 | 俺去俺来也在线www色官网 | 内射白嫩少妇超碰 | 成人欧美一区二区三区黑人 | 国产精品久久久一区二区三区 | 国产av无码专区亚洲a∨毛片 | 欧美阿v高清资源不卡在线播放 | 亚洲中文字幕乱码av波多ji | 麻豆国产人妻欲求不满谁演的 | 人妻天天爽夜夜爽一区二区 | 国产香蕉尹人综合在线观看 | 中文字幕日产无线码一区 | 久久久久亚洲精品中文字幕 | 欧美性生交活xxxxxdddd | 婷婷五月综合缴情在线视频 | 亚洲va欧美va天堂v国产综合 | 2019nv天堂香蕉在线观看 | 国产精品久久久一区二区三区 | 国产成人无码一二三区视频 | 男女下面进入的视频免费午夜 | 波多野结衣高清一区二区三区 | 欧美 亚洲 国产 另类 | 国产精品爱久久久久久久 | 亚洲热妇无码av在线播放 | 久久久久成人片免费观看蜜芽 | 国内精品久久毛片一区二区 | 中文字幕 亚洲精品 第1页 | 国产精品久久久久无码av色戒 | 免费中文字幕日韩欧美 | 麻豆国产人妻欲求不满 | 亚洲欧洲日本综合aⅴ在线 | 欧美日韩综合一区二区三区 | 奇米影视7777久久精品人人爽 | 精品日本一区二区三区在线观看 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 国产一区二区三区四区五区加勒比 | 一区二区三区高清视频一 | 色妞www精品免费视频 | 色诱久久久久综合网ywww | 久热国产vs视频在线观看 | 日韩成人一区二区三区在线观看 | 67194成是人免费无码 | av人摸人人人澡人人超碰下载 | 中文字幕日韩精品一区二区三区 | 国产小呦泬泬99精品 | 亚洲国产精品无码一区二区三区 | 狠狠躁日日躁夜夜躁2020 | 一本久久a久久精品vr综合 | 少妇高潮一区二区三区99 | 色一情一乱一伦一区二区三欧美 | 日韩人妻少妇一区二区三区 | 中文亚洲成a人片在线观看 | 黄网在线观看免费网站 | 午夜精品久久久久久久 | 高潮毛片无遮挡高清免费视频 | 欧美放荡的少妇 | 亚洲人成网站在线播放942 | 国产成人无码av在线影院 | 亚洲精品美女久久久久久久 | 日日碰狠狠躁久久躁蜜桃 | 激情国产av做激情国产爱 | 欧美性猛交内射兽交老熟妇 | 亚洲精品欧美二区三区中文字幕 | 亚洲精品国产精品乱码视色 | 亚洲高清偷拍一区二区三区 | 成 人影片 免费观看 | 欧美丰满老熟妇xxxxx性 | 日本爽爽爽爽爽爽在线观看免 | 青草视频在线播放 | 秋霞成人午夜鲁丝一区二区三区 | 激情国产av做激情国产爱 | 亚洲成av人在线观看网址 | 男女猛烈xx00免费视频试看 | 少妇人妻大乳在线视频 | 伊人久久婷婷五月综合97色 | 国产精品久久福利网站 | 国产美女精品一区二区三区 | 小泽玛莉亚一区二区视频在线 | 亚洲爆乳无码专区 | 久久婷婷五月综合色国产香蕉 | 99久久精品日本一区二区免费 | 欧美三级不卡在线观看 | 一本大道伊人av久久综合 | aⅴ在线视频男人的天堂 | 强开小婷嫩苞又嫩又紧视频 | 无码国产色欲xxxxx视频 | 色窝窝无码一区二区三区色欲 | 正在播放老肥熟妇露脸 | 丰满人妻一区二区三区免费视频 | 欧美黑人乱大交 | 亚洲中文字幕在线无码一区二区 | 99riav国产精品视频 | 日本饥渴人妻欲求不满 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国产一区二区三区精品视频 | 久久人人97超碰a片精品 | 中文无码精品a∨在线观看不卡 | 玩弄人妻少妇500系列视频 | 欧美大屁股xxxxhd黑色 | 亚洲午夜福利在线观看 | 大地资源网第二页免费观看 | 国产午夜亚洲精品不卡 | 国产一区二区三区影院 | 久久无码人妻影院 | 成人免费视频视频在线观看 免费 | 青草视频在线播放 | 久久久国产一区二区三区 | 国产偷国产偷精品高清尤物 | 女人被男人躁得好爽免费视频 | 99久久久无码国产aaa精品 | 亚洲另类伦春色综合小说 | 久久久亚洲欧洲日产国码αv | 亚洲第一无码av无码专区 | 少妇久久久久久人妻无码 | 中文字幕+乱码+中文字幕一区 | 大肉大捧一进一出视频出来呀 | 国产精品爱久久久久久久 | 在线欧美精品一区二区三区 | 中文无码成人免费视频在线观看 | 天堂无码人妻精品一区二区三区 | 久久人人爽人人爽人人片ⅴ | 荫蒂被男人添的好舒服爽免费视频 | 国产在线一区二区三区四区五区 | 色一情一乱一伦一视频免费看 | 国产一区二区三区日韩精品 | 亚洲一区二区三区播放 | 一区二区三区高清视频一 | 久热国产vs视频在线观看 | 中文字幕无码热在线视频 | 亚洲 激情 小说 另类 欧美 | 欧美阿v高清资源不卡在线播放 | 青青草原综合久久大伊人精品 | 荫蒂被男人添的好舒服爽免费视频 | 欧美人与动性行为视频 | 久久久久久av无码免费看大片 | 国产亚洲精品精品国产亚洲综合 | 真人与拘做受免费视频一 | 人妻无码久久精品人妻 | 国内少妇偷人精品视频免费 | 狠狠色丁香久久婷婷综合五月 | 国产在热线精品视频 | 日本大香伊一区二区三区 | 沈阳熟女露脸对白视频 | 99精品视频在线观看免费 | 午夜精品久久久久久久久 | 无码人妻黑人中文字幕 | 国产精品高潮呻吟av久久 | 国产激情精品一区二区三区 | 亚洲精品一区三区三区在线观看 | 激情综合激情五月俺也去 | 久久国产精品_国产精品 | 在线欧美精品一区二区三区 | 色五月丁香五月综合五月 | 正在播放东北夫妻内射 | 久久 国产 尿 小便 嘘嘘 | 2019nv天堂香蕉在线观看 | 成人精品一区二区三区中文字幕 | 人妻人人添人妻人人爱 | 国产av久久久久精东av | 日本饥渴人妻欲求不满 | 亚洲国产精品一区二区美利坚 | 日产精品高潮呻吟av久久 | 中文字幕精品av一区二区五区 | 久久精品中文字幕大胸 | 国产区女主播在线观看 | 国产亚洲精品久久久ai换 | 精品一区二区三区波多野结衣 | 久久99精品久久久久久 | 少妇高潮一区二区三区99 | 国产精品理论片在线观看 | 亚洲精品久久久久中文第一幕 | 国产又爽又黄又刺激的视频 | 久久综合狠狠综合久久综合88 | 伊人色综合久久天天小片 | 欧美一区二区三区视频在线观看 | 日韩精品乱码av一区二区 | 亚洲经典千人经典日产 | 88国产精品欧美一区二区三区 | 丰满妇女强制高潮18xxxx | 久久精品国产一区二区三区肥胖 | 亚洲精品中文字幕乱码 | 国产av剧情md精品麻豆 | 国产三级久久久精品麻豆三级 | 精品夜夜澡人妻无码av蜜桃 | 国产无套内射久久久国产 | 人妻无码αv中文字幕久久琪琪布 | 国产午夜福利亚洲第一 | 亚洲大尺度无码无码专区 | 久久天天躁夜夜躁狠狠 | 亚洲综合精品香蕉久久网 | 国产激情无码一区二区app | 日本精品少妇一区二区三区 | 色狠狠av一区二区三区 | 久久精品中文字幕大胸 | 日韩欧美中文字幕在线三区 | 动漫av网站免费观看 | 色妞www精品免费视频 | 国产手机在线αⅴ片无码观看 | 成人免费视频在线观看 | 亚洲精品国产第一综合99久久 | 国产精品怡红院永久免费 | 欧美熟妇另类久久久久久不卡 | 无遮挡国产高潮视频免费观看 | 中文字幕无码av激情不卡 | 免费人成网站视频在线观看 | 亚洲 激情 小说 另类 欧美 | 99久久精品无码一区二区毛片 | 妺妺窝人体色www婷婷 | 色欲av亚洲一区无码少妇 | 男女猛烈xx00免费视频试看 | 国产9 9在线 | 中文 | 在线 国产 欧美 亚洲 天堂 | 精品一二三区久久aaa片 | 亚洲欧美色中文字幕在线 | 国产成人无码午夜视频在线观看 | 麻豆果冻传媒2021精品传媒一区下载 | 国产一区二区不卡老阿姨 | 天堂无码人妻精品一区二区三区 | 欧美精品无码一区二区三区 | 少妇性俱乐部纵欲狂欢电影 | 亚洲区小说区激情区图片区 | 成人亚洲精品久久久久软件 | 亚洲区欧美区综合区自拍区 | 夜精品a片一区二区三区无码白浆 | 国产在线一区二区三区四区五区 | 亚洲中文字幕无码中文字在线 | 玩弄少妇高潮ⅹxxxyw | 老头边吃奶边弄进去呻吟 | 国产亚洲美女精品久久久2020 | 自拍偷自拍亚洲精品被多人伦好爽 | 亚洲熟妇自偷自拍另类 | 日本护士毛茸茸高潮 | 清纯唯美经典一区二区 | 亚洲а∨天堂久久精品2021 | 老子影院午夜伦不卡 | 亚洲欧美国产精品专区久久 | 亚洲日韩av一区二区三区四区 | 亚洲自偷自拍另类第1页 | 久久久亚洲欧洲日产国码αv | 午夜丰满少妇性开放视频 | 好爽又高潮了毛片免费下载 | 欧美性猛交内射兽交老熟妇 | 学生妹亚洲一区二区 | 2020久久超碰国产精品最新 | 国产亚av手机在线观看 | 国产高潮视频在线观看 | 色偷偷人人澡人人爽人人模 | 天天摸天天碰天天添 | 国产猛烈高潮尖叫视频免费 | 久久久久久国产精品无码下载 | 国产色在线 | 国产 | 久久成人a毛片免费观看网站 | 亚洲综合另类小说色区 | 亚洲精品美女久久久久久久 | 成人性做爰aaa片免费看 | 精品aⅴ一区二区三区 | 欧美日韩视频无码一区二区三 | aa片在线观看视频在线播放 | 亚洲伊人久久精品影院 | 国产欧美亚洲精品a | 老子影院午夜精品无码 | 国产亚洲精品久久久ai换 | 97夜夜澡人人爽人人喊中国片 | 亚洲欧洲日本无在线码 | 国产亚洲精品精品国产亚洲综合 | 精品成在人线av无码免费看 | 精品无码国产自产拍在线观看蜜 | 麻豆国产97在线 | 欧洲 | 免费无码的av片在线观看 | 精品久久久久久人妻无码中文字幕 | 国产激情综合五月久久 | 亚洲欧美精品aaaaaa片 | 日本一本二本三区免费 | 久久无码中文字幕免费影院蜜桃 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 成熟女人特级毛片www免费 | 亚洲国产欧美日韩精品一区二区三区 | 丁香花在线影院观看在线播放 | 国产国语老龄妇女a片 | 亚洲热妇无码av在线播放 | 风流少妇按摩来高潮 | 日韩视频 中文字幕 视频一区 | 国产成人精品视频ⅴa片软件竹菊 | 欧美日韩视频无码一区二区三 | 97久久精品无码一区二区 | 丝袜 中出 制服 人妻 美腿 | 精品久久8x国产免费观看 | 最近的中文字幕在线看视频 | 亚洲a无码综合a国产av中文 | 亚洲精品中文字幕久久久久 | 夜夜躁日日躁狠狠久久av | 少妇厨房愉情理9仑片视频 | 国产午夜无码精品免费看 | 欧洲欧美人成视频在线 | 人妻少妇精品无码专区二区 | 免费人成在线视频无码 | 国产三级久久久精品麻豆三级 | 丝袜足控一区二区三区 | 一本大道伊人av久久综合 | 国产成人精品久久亚洲高清不卡 | 成在人线av无码免观看麻豆 | 亚洲色欲色欲欲www在线 | 成 人影片 免费观看 | 偷窥日本少妇撒尿chinese | 99久久人妻精品免费一区 | 亚洲男人av香蕉爽爽爽爽 | 俺去俺来也www色官网 | 国产97色在线 | 免 | 亚洲精品欧美二区三区中文字幕 | 亚洲国产综合无码一区 | 欧洲精品码一区二区三区免费看 | 国产片av国语在线观看 | 亚洲国产精品无码一区二区三区 | 久久婷婷五月综合色国产香蕉 | 国产真实夫妇视频 | 中文字幕人妻无码一区二区三区 | 狠狠色噜噜狠狠狠7777奇米 | 露脸叫床粗话东北少妇 | 精品久久久久久人妻无码中文字幕 | 无遮挡啪啪摇乳动态图 | 日本在线高清不卡免费播放 | 久久精品无码一区二区三区 | 精品无码一区二区三区的天堂 | 曰本女人与公拘交酡免费视频 | 无码吃奶揉捏奶头高潮视频 | 少妇厨房愉情理9仑片视频 | 国产 精品 自在自线 | 国产成人精品久久亚洲高清不卡 | 成人综合网亚洲伊人 | 国产又爽又猛又粗的视频a片 | 7777奇米四色成人眼影 | 牲交欧美兽交欧美 | 无码国模国产在线观看 | 无码中文字幕色专区 | 国产人妻人伦精品 | 欧美三级不卡在线观看 | 特黄特色大片免费播放器图片 | 亚洲精品综合一区二区三区在线 | 乱码午夜-极国产极内射 | 久久99热只有频精品8 | 又大又紧又粉嫩18p少妇 | 成人精品视频一区二区三区尤物 | 99久久久无码国产aaa精品 | 国产真实伦对白全集 | 久久久久99精品国产片 | 国产农村乱对白刺激视频 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 久久婷婷五月综合色国产香蕉 | 国产真实夫妇视频 | 99视频精品全部免费免费观看 | 超碰97人人做人人爱少妇 | 亚洲 高清 成人 动漫 | 亚洲国产精品成人久久蜜臀 | 亚洲人成影院在线观看 | 国产亚洲精品久久久久久久 | 成年美女黄网站色大免费视频 | 亚洲国产欧美在线成人 | 国产精品久久久久9999小说 | 精品无人区无码乱码毛片国产 | 无码人妻精品一区二区三区下载 | 伊人久久大香线蕉午夜 | 中国女人内谢69xxxxxa片 | 初尝人妻少妇中文字幕 | 色五月丁香五月综合五月 | 亚洲精品国产品国语在线观看 | 97夜夜澡人人双人人人喊 | 亚洲理论电影在线观看 | 岛国片人妻三上悠亚 | 国产一精品一av一免费 | 国产亚洲日韩欧美另类第八页 | 99精品无人区乱码1区2区3区 | 国产两女互慰高潮视频在线观看 | 无码人妻出轨黑人中文字幕 | 全黄性性激高免费视频 | 欧美亚洲日韩国产人成在线播放 | 色窝窝无码一区二区三区色欲 | 成人免费视频在线观看 | 成人无码视频免费播放 | 无码av中文字幕免费放 | 东京无码熟妇人妻av在线网址 | 最近中文2019字幕第二页 | 成人毛片一区二区 | 欧美乱妇无乱码大黄a片 | 亚洲国产精品久久人人爱 | 国内丰满熟女出轨videos | 久久综合久久自在自线精品自 | 爽爽影院免费观看 | 国产精品毛片一区二区 | 成熟人妻av无码专区 | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲热妇无码av在线播放 | 国产精品久免费的黄网站 | 无码福利日韩神码福利片 | 国产av久久久久精东av | 乱码av麻豆丝袜熟女系列 | 亚洲天堂2017无码 | 少妇无套内谢久久久久 | 国产成人精品久久亚洲高清不卡 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲国产精华液网站w | 久久精品成人欧美大片 | 亚洲欧美综合区丁香五月小说 | 特大黑人娇小亚洲女 | 97久久精品无码一区二区 | 成人一在线视频日韩国产 | 小泽玛莉亚一区二区视频在线 | 东北女人啪啪对白 | 一本久道久久综合狠狠爱 | 国产凸凹视频一区二区 | 性色av无码免费一区二区三区 | a片在线免费观看 | 内射白嫩少妇超碰 | 十八禁视频网站在线观看 | 狠狠色噜噜狠狠狠7777奇米 | 国产精品人妻一区二区三区四 | 久久99精品久久久久久 | 日本xxxx色视频在线观看免费 | 在线观看欧美一区二区三区 | 亚洲成av人在线观看网址 | 亚洲成av人在线观看网址 | 亚洲 欧美 激情 小说 另类 | 久久精品女人的天堂av | 丝袜 中出 制服 人妻 美腿 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 丰满人妻被黑人猛烈进入 | 亚洲日韩av片在线观看 | 国产精品手机免费 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲国产精品一区二区第一页 | 国产成人无码av一区二区 | 无码免费一区二区三区 | 蜜桃av抽搐高潮一区二区 | 中文字幕无码av波多野吉衣 | 亚洲国产精品一区二区美利坚 | 捆绑白丝粉色jk震动捧喷白浆 | 嫩b人妻精品一区二区三区 | 麻豆人妻少妇精品无码专区 | 色婷婷香蕉在线一区二区 | 亚洲色欲久久久综合网东京热 | 人妻少妇被猛烈进入中文字幕 | 一本无码人妻在中文字幕免费 | 日本熟妇乱子伦xxxx | 久久精品国产精品国产精品污 | 久久午夜无码鲁丝片午夜精品 | 九九在线中文字幕无码 | 国产无遮挡吃胸膜奶免费看 | 亚洲熟妇色xxxxx欧美老妇y | 亚洲 高清 成人 动漫 | 成人免费视频视频在线观看 免费 | 国产婷婷色一区二区三区在线 | 夜夜夜高潮夜夜爽夜夜爰爰 | 好屌草这里只有精品 | 中文字幕中文有码在线 | 色一情一乱一伦 | 国产 浪潮av性色四虎 | 国产人妻大战黑人第1集 | 国产精品高潮呻吟av久久 | 欧美日韩一区二区三区自拍 | 久久99精品国产麻豆 | 亚洲中文字幕无码一久久区 | 日日夜夜撸啊撸 | 亚洲理论电影在线观看 | 亚洲一区二区三区国产精华液 | 成人免费视频一区二区 | 在教室伦流澡到高潮hnp视频 | 国产手机在线αⅴ片无码观看 | 一本大道久久东京热无码av | 国产精品久免费的黄网站 | 日本爽爽爽爽爽爽在线观看免 | 欧美成人家庭影院 | 久久99精品久久久久久 | 国产亚洲日韩欧美另类第八页 | 国产午夜视频在线观看 | 97人妻精品一区二区三区 | 亚洲大尺度无码无码专区 | 爆乳一区二区三区无码 | 国产精品久久福利网站 | 狠狠色噜噜狠狠狠狠7777米奇 | 日韩精品a片一区二区三区妖精 | 国产va免费精品观看 | 国产精品无码一区二区三区不卡 | 人妻少妇精品久久 | a片在线免费观看 | 国产午夜亚洲精品不卡下载 | 狠狠cao日日穞夜夜穞av | 在线播放亚洲第一字幕 | 亚洲 a v无 码免 费 成 人 a v | 中文精品无码中文字幕无码专区 | 国产亚洲欧美在线专区 | 欧美日韩在线亚洲综合国产人 | 狠狠色噜噜狠狠狠7777奇米 | 中文字幕乱码人妻无码久久 | 亚洲色在线无码国产精品不卡 | 亚洲色偷偷偷综合网 | 女人高潮内射99精品 | 夜夜夜高潮夜夜爽夜夜爰爰 | 久久无码专区国产精品s | 国产精品无码mv在线观看 | 六月丁香婷婷色狠狠久久 | 人妻尝试又大又粗久久 | 天干天干啦夜天干天2017 | 久久人人爽人人人人片 | 伊人色综合久久天天小片 | 真人与拘做受免费视频一 | 人人超人人超碰超国产 | 国产国产精品人在线视 | 少妇邻居内射在线 | 中国女人内谢69xxxxxa片 | 少妇性俱乐部纵欲狂欢电影 | 在线播放免费人成毛片乱码 | 激情五月综合色婷婷一区二区 | 激情国产av做激情国产爱 | 水蜜桃av无码 | 丰满人妻一区二区三区免费视频 | 精品一区二区三区无码免费视频 | 亚洲熟妇自偷自拍另类 | 丝袜 中出 制服 人妻 美腿 | 水蜜桃亚洲一二三四在线 | 乌克兰少妇性做爰 | 成人精品视频一区二区 | 无码av免费一区二区三区试看 | 久久午夜无码鲁丝片 | 国产凸凹视频一区二区 | 国产成人无码区免费内射一片色欲 | 性色欲网站人妻丰满中文久久不卡 | 极品嫩模高潮叫床 | 国产亚洲精品久久久ai换 | 捆绑白丝粉色jk震动捧喷白浆 | 国产色精品久久人妻 | 国产精品办公室沙发 | 久久精品人妻少妇一区二区三区 | 俄罗斯老熟妇色xxxx | 色婷婷av一区二区三区之红樱桃 | 狠狠色丁香久久婷婷综合五月 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 国产一区二区三区四区五区加勒比 | 国产日产欧产精品精品app | 最近免费中文字幕中文高清百度 | 99久久人妻精品免费一区 | 国产偷国产偷精品高清尤物 | 高清国产亚洲精品自在久久 | 亚洲性无码av中文字幕 | 久久精品国产一区二区三区 | 久久亚洲中文字幕精品一区 | 中文字幕无线码免费人妻 | 成人片黄网站色大片免费观看 | 大乳丰满人妻中文字幕日本 | 日韩av无码一区二区三区 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 少妇被粗大的猛进出69影院 | 丝袜 中出 制服 人妻 美腿 | 亚洲小说春色综合另类 | 俺去俺来也在线www色官网 | 国产人成高清在线视频99最全资源 | 久久无码人妻影院 | 九九在线中文字幕无码 | 东京无码熟妇人妻av在线网址 | 久久婷婷五月综合色国产香蕉 | 久9re热视频这里只有精品 | 国产成人精品久久亚洲高清不卡 | 国产精品亚洲一区二区三区喷水 | 少妇性l交大片 | 久久精品国产99久久6动漫 | 99精品国产综合久久久久五月天 | 国产极品美女高潮无套在线观看 | 亚洲欧美中文字幕5发布 | 精品午夜福利在线观看 | 国产精品毛多多水多 | 亚洲中文字幕无码中字 | 欧美人与禽猛交狂配 | 综合人妻久久一区二区精品 | 7777奇米四色成人眼影 | 亚洲色在线无码国产精品不卡 | 亚洲天堂2017无码中文 | 亚洲人成影院在线无码按摩店 | 给我免费的视频在线观看 | 久久久久成人精品免费播放动漫 | 丰满岳乱妇在线观看中字无码 | 色一情一乱一伦 | 国产av人人夜夜澡人人爽麻豆 | 国模大胆一区二区三区 | 又大又紧又粉嫩18p少妇 | 国产莉萝无码av在线播放 | 国产精品视频免费播放 | 日本在线高清不卡免费播放 | 99久久亚洲精品无码毛片 | 亚洲日韩乱码中文无码蜜桃臀网站 | 久久精品国产99精品亚洲 | 精品国产一区av天美传媒 | 中文字幕亚洲情99在线 | 无码人妻精品一区二区三区不卡 | 亚洲人成影院在线观看 | 人人妻人人澡人人爽欧美精品 | 欧美午夜特黄aaaaaa片 | 久在线观看福利视频 | 久久无码专区国产精品s | 久久国产精品萌白酱免费 | 久久亚洲日韩精品一区二区三区 | 中文字幕乱码人妻二区三区 | 国产精品高潮呻吟av久久4虎 | 色婷婷av一区二区三区之红樱桃 | 国产亚洲精品久久久久久国模美 | 国产在线aaa片一区二区99 | 狠狠噜狠狠狠狠丁香五月 | 亚洲人交乣女bbw | 丝袜 中出 制服 人妻 美腿 | 国产精品无套呻吟在线 | 国产亚洲人成a在线v网站 | 色综合久久中文娱乐网 | 久久伊人色av天堂九九小黄鸭 | 国产偷国产偷精品高清尤物 | a在线观看免费网站大全 | 欧美成人午夜精品久久久 | 奇米影视7777久久精品人人爽 | 久久久久久久久888 | 国产深夜福利视频在线 | 亚洲午夜无码久久 | 日本xxxx色视频在线观看免费 | 中文字幕精品av一区二区五区 | 2020久久香蕉国产线看观看 | 亚洲 a v无 码免 费 成 人 a v | 日韩av无码一区二区三区不卡 | 成人精品一区二区三区中文字幕 | 少妇无码av无码专区在线观看 | 日本精品久久久久中文字幕 | 国产成人无码av在线影院 | 在线观看免费人成视频 | 国产成人无码专区 | 任你躁国产自任一区二区三区 | 激情爆乳一区二区三区 | 久久人人爽人人爽人人片av高清 | 天天综合网天天综合色 | 久久成人a毛片免费观看网站 | 国内丰满熟女出轨videos | 久久综合激激的五月天 | 中文字幕无码av波多野吉衣 | 少妇性俱乐部纵欲狂欢电影 | 妺妺窝人体色www婷婷 | 亚洲一区二区三区偷拍女厕 | 亚洲男人av香蕉爽爽爽爽 | 国产精品久免费的黄网站 | 激情国产av做激情国产爱 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产色在线 | 国产 | 亚洲の无码国产の无码影院 | 99久久精品无码一区二区毛片 | 男人和女人高潮免费网站 | 久久久久99精品成人片 | 国产av人人夜夜澡人人爽麻豆 | 亚洲欧美精品aaaaaa片 | 成人试看120秒体验区 | 久久精品人妻少妇一区二区三区 | 国产乱码精品一品二品 | 国产深夜福利视频在线 | 成人综合网亚洲伊人 | 亚洲中文无码av永久不收费 | 国产两女互慰高潮视频在线观看 | 久久久久久国产精品无码下载 | 无码帝国www无码专区色综合 | 久久久久免费看成人影片 | 婷婷五月综合激情中文字幕 | 无码人妻精品一区二区三区不卡 | 亚洲精品久久久久久一区二区 | 色五月五月丁香亚洲综合网 | 欧美国产日韩亚洲中文 | 国产精品-区区久久久狼 | 国产无遮挡又黄又爽免费视频 | 国产97在线 | 亚洲 | 国产网红无码精品视频 | 久久久久国色av免费观看性色 | 久久精品国产日本波多野结衣 | 在线a亚洲视频播放在线观看 | 狠狠色丁香久久婷婷综合五月 | 色情久久久av熟女人妻网站 | 夜精品a片一区二区三区无码白浆 | 少女韩国电视剧在线观看完整 | 人人爽人人澡人人人妻 | 天天av天天av天天透 | 国产精品多人p群无码 | 欧美精品无码一区二区三区 | 77777熟女视频在线观看 а天堂中文在线官网 | 一本久久a久久精品vr综合 | 色妞www精品免费视频 | 人妻与老人中文字幕 | 久久久亚洲欧洲日产国码αv | 奇米影视7777久久精品 | 亚洲人成人无码网www国产 | 久久久久免费精品国产 | 亚洲の无码国产の无码步美 | 一本色道久久综合亚洲精品不卡 | 欧美性色19p | 亚洲区欧美区综合区自拍区 | 久久久婷婷五月亚洲97号色 | 性做久久久久久久久 | 亚洲精品国产a久久久久久 | 久久精品人人做人人综合试看 | 久久这里只有精品视频9 | 国产精品国产自线拍免费软件 | 亚洲综合伊人久久大杳蕉 | 内射老妇bbwx0c0ck | 男女爱爱好爽视频免费看 | 双乳奶水饱满少妇呻吟 | 最近的中文字幕在线看视频 | 无遮挡国产高潮视频免费观看 | 亚洲日本va中文字幕 | 中文字幕无线码免费人妻 | 国产亚洲精品久久久ai换 | 欧美激情一区二区三区成人 | 中文字幕无码乱人伦 | 在线亚洲高清揄拍自拍一品区 | 女高中生第一次破苞av | 国产人妻精品午夜福利免费 | 男女下面进入的视频免费午夜 | 亚洲欧洲无卡二区视頻 | 国产精品高潮呻吟av久久4虎 | 骚片av蜜桃精品一区 | 亚洲国精产品一二二线 | 四虎国产精品免费久久 | 人妻熟女一区 | 欧美人妻一区二区三区 | 伊人久久大香线焦av综合影院 | 久久天天躁狠狠躁夜夜免费观看 | 4hu四虎永久在线观看 | 又大又黄又粗又爽的免费视频 | 日本丰满护士爆乳xxxx | 美女极度色诱视频国产 | 一个人免费观看的www视频 | 亚洲欧美精品aaaaaa片 | 中文精品无码中文字幕无码专区 | 久久久婷婷五月亚洲97号色 | 国内精品久久毛片一区二区 | 精品日本一区二区三区在线观看 | 精品偷拍一区二区三区在线看 | 天堂无码人妻精品一区二区三区 | 亚洲男人av香蕉爽爽爽爽 | 亚洲天堂2017无码 | 国产黄在线观看免费观看不卡 | 国产精品无码mv在线观看 | 男人的天堂2018无码 | 国产午夜亚洲精品不卡 | 少妇无码吹潮 | 亚洲色无码一区二区三区 | 玩弄人妻少妇500系列视频 | 在线观看免费人成视频 | 婷婷五月综合缴情在线视频 | 亚洲小说图区综合在线 | 久久久亚洲欧洲日产国码αv | 人妻中文无码久热丝袜 | 精品久久久无码人妻字幂 | 久久久久久久女国产乱让韩 | 久久久久久久久蜜桃 | a片免费视频在线观看 | 国产精品久久久 | 亚洲精品无码人妻无码 | 欧美三级不卡在线观看 | 久久精品99久久香蕉国产色戒 | 又黄又爽又色的视频 | 亚洲色欲色欲天天天www | 亚洲大尺度无码无码专区 | 日本大乳高潮视频在线观看 | 高潮毛片无遮挡高清免费 | 偷窥日本少妇撒尿chinese | 亚洲国产av美女网站 | 亚洲国产av精品一区二区蜜芽 | 中文字幕无码免费久久9一区9 | 一个人看的视频www在线 | 性生交大片免费看女人按摩摩 | 亚洲精品一区二区三区在线观看 | 国产精品理论片在线观看 | 国产办公室秘书无码精品99 | 99久久久无码国产aaa精品 | 人人妻人人澡人人爽人人精品 | 国产内射老熟女aaaa | 国产区女主播在线观看 | 欧美成人午夜精品久久久 | 扒开双腿疯狂进出爽爽爽视频 | 亚洲精品鲁一鲁一区二区三区 | 无码人妻av免费一区二区三区 | 国产精品亚洲lv粉色 | 在线看片无码永久免费视频 | 精品国产青草久久久久福利 | 蜜桃av抽搐高潮一区二区 | 99国产欧美久久久精品 | 亚洲爆乳精品无码一区二区三区 | 亚洲毛片av日韩av无码 | 色婷婷综合激情综在线播放 | 综合激情五月综合激情五月激情1 | 帮老师解开蕾丝奶罩吸乳网站 | 成在人线av无码免观看麻豆 | 高清国产亚洲精品自在久久 | 免费无码av一区二区 | 77777熟女视频在线观看 а天堂中文在线官网 | 久热国产vs视频在线观看 | 国产精品鲁鲁鲁 | 国产亚洲tv在线观看 | 欧美熟妇另类久久久久久多毛 | 97色伦图片97综合影院 | 日日麻批免费40分钟无码 | 精品国产国产综合精品 | 性色欲网站人妻丰满中文久久不卡 | 欧美成人高清在线播放 | 欧美亚洲日韩国产人成在线播放 | 久久亚洲中文字幕精品一区 | 免费观看又污又黄的网站 | 色综合久久88色综合天天 | 国产人妻大战黑人第1集 | 天干天干啦夜天干天2017 | 波多野结衣乳巨码无在线观看 | 国产在线精品一区二区三区直播 | 漂亮人妻洗澡被公强 日日躁 | 少妇人妻偷人精品无码视频 | 免费播放一区二区三区 | 久久久成人毛片无码 | 7777奇米四色成人眼影 | 亚洲中文字幕乱码av波多ji | 国产九九九九九九九a片 | 日日麻批免费40分钟无码 | 国产一精品一av一免费 | 色综合久久久无码网中文 | 免费观看又污又黄的网站 | 精品久久久无码中文字幕 | 久久久亚洲欧洲日产国码αv | 午夜精品一区二区三区的区别 | 性欧美大战久久久久久久 | 人人澡人人透人人爽 | 欧美xxxx黑人又粗又长 | 久久久久久国产精品无码下载 | 激情亚洲一区国产精品 | 国产精品久久久一区二区三区 | 在线天堂新版最新版在线8 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲精品欧美二区三区中文字幕 | 亚洲精品中文字幕乱码 | 国产精品无码一区二区桃花视频 | 狠狠色噜噜狠狠狠狠7777米奇 | 国产av无码专区亚洲a∨毛片 | 亚洲理论电影在线观看 | 国产成人无码av片在线观看不卡 | 激情内射亚州一区二区三区爱妻 | 亚洲无人区午夜福利码高清完整版 | 亚洲精品鲁一鲁一区二区三区 | 久久综合网欧美色妞网 | 少妇的肉体aa片免费 | 在线播放无码字幕亚洲 | 精品aⅴ一区二区三区 | 国产手机在线αⅴ片无码观看 | 伊人久久大香线蕉av一区二区 | 中文字幕无码视频专区 | 欧美三级a做爰在线观看 | 国产亚洲tv在线观看 | 精品国偷自产在线视频 | 黑人大群体交免费视频 | 精品无码成人片一区二区98 | 亚洲人成影院在线无码按摩店 | 精品无码av一区二区三区 | aa片在线观看视频在线播放 | 久久午夜无码鲁丝片午夜精品 | 精品久久8x国产免费观看 | 精品一区二区不卡无码av | 日本一区二区三区免费播放 | 中文字幕无码日韩专区 | 亚洲狠狠婷婷综合久久 | 久久综合香蕉国产蜜臀av | 免费网站看v片在线18禁无码 | 精品乱子伦一区二区三区 | 成人免费视频视频在线观看 免费 | 青青久在线视频免费观看 | 国产片av国语在线观看 | 熟妇人妻无码xxx视频 | 色综合久久久久综合一本到桃花网 | 国产激情综合五月久久 | 人人妻人人澡人人爽精品欧美 | 在线 国产 欧美 亚洲 天堂 | 亚洲男人av天堂午夜在 | 亚洲国产精品无码久久久久高潮 | 久久久久久久久蜜桃 | 欧美日韩在线亚洲综合国产人 | 亚洲国产精品一区二区美利坚 | 国产超碰人人爽人人做人人添 | 国产精品igao视频网 | 亚洲精品国产第一综合99久久 | 无码一区二区三区在线 | 精品无码av一区二区三区 | 婷婷六月久久综合丁香 | 超碰97人人做人人爱少妇 | 国产女主播喷水视频在线观看 | 97精品国产97久久久久久免费 | 在线亚洲高清揄拍自拍一品区 | 狂野欧美激情性xxxx | 粗大的内捧猛烈进出视频 | 日本饥渴人妻欲求不满 | 国产综合久久久久鬼色 | 日韩精品无码一本二本三本色 | 久久久国产精品无码免费专区 | 99久久人妻精品免费二区 | 色婷婷久久一区二区三区麻豆 | 麻豆md0077饥渴少妇 | 一本久道高清无码视频 | 亚洲国产精品久久久天堂 | 一个人看的www免费视频在线观看 | 荫蒂被男人添的好舒服爽免费视频 | 最新国产乱人伦偷精品免费网站 | 亚洲国产精品久久久久久 | 午夜熟女插插xx免费视频 | 欧洲精品码一区二区三区免费看 | 国产成人无码专区 | 内射白嫩少妇超碰 | 国产熟妇高潮叫床视频播放 | 精品厕所偷拍各类美女tp嘘嘘 | 成人无码精品一区二区三区 | 亚洲中文字幕在线观看 | 久久精品国产日本波多野结衣 | 成在人线av无码免费 | 久久97精品久久久久久久不卡 | 2019午夜福利不卡片在线 | 亚洲 欧美 激情 小说 另类 | 久久综合九色综合欧美狠狠 | 成人综合网亚洲伊人 | 精品亚洲成av人在线观看 | 日本又色又爽又黄的a片18禁 | 久久国产精品_国产精品 | 成人片黄网站色大片免费观看 | 精品欧洲av无码一区二区三区 | 亚洲日韩中文字幕在线播放 | 国产乱码精品一品二品 | 欧美人与动性行为视频 | 国产亚洲人成在线播放 | 国产人妻精品一区二区三区不卡 | 人人澡人人妻人人爽人人蜜桃 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 久久精品人妻少妇一区二区三区 | 日韩无套无码精品 | 熟女俱乐部五十路六十路av | 18禁止看的免费污网站 | 人妻与老人中文字幕 | 又粗又大又硬又长又爽 | 中文字幕无码免费久久9一区9 | 亚洲色成人中文字幕网站 | 奇米影视7777久久精品人人爽 | 免费无码肉片在线观看 | 日韩人妻少妇一区二区三区 | 日韩av无码中文无码电影 | 国产高潮视频在线观看 | 欧美三级a做爰在线观看 | 精品久久8x国产免费观看 | 大乳丰满人妻中文字幕日本 | 十八禁真人啪啪免费网站 | 久久综合狠狠综合久久综合88 | 国产精品香蕉在线观看 | 亚洲自偷精品视频自拍 | 欧美丰满熟妇xxxx性ppx人交 | 免费无码av一区二区 | 国产在线精品一区二区高清不卡 | 亚洲一区二区三区含羞草 | 牲欲强的熟妇农村老妇女视频 | 成 人 网 站国产免费观看 | 欧美老人巨大xxxx做受 | 人妻中文无码久热丝袜 | 欧美三级a做爰在线观看 | 98国产精品综合一区二区三区 | 国产麻豆精品一区二区三区v视界 | 亚洲午夜无码久久 | 亚洲欧美日韩国产精品一区二区 | 波多野42部无码喷潮在线 | 99视频精品全部免费免费观看 | 中文字幕无码人妻少妇免费 | 久久综合狠狠综合久久综合88 | 日韩精品无码免费一区二区三区 | 无码毛片视频一区二区本码 | 在线看片无码永久免费视频 | 激情爆乳一区二区三区 | 成人一在线视频日韩国产 | 国产精品美女久久久网av | 丰满肥臀大屁股熟妇激情视频 | 亚洲熟妇色xxxxx欧美老妇 | 中文字幕乱码中文乱码51精品 | 国产av剧情md精品麻豆 | 无码午夜成人1000部免费视频 | 国产精品无码一区二区三区不卡 | 日本精品久久久久中文字幕 | 性做久久久久久久免费看 | 日本一卡2卡3卡四卡精品网站 | 中文字幕av日韩精品一区二区 | 久久综合给久久狠狠97色 | 亚洲中文无码av永久不收费 | 久久国内精品自在自线 | 国语自产偷拍精品视频偷 | 欧美阿v高清资源不卡在线播放 | 欧洲美熟女乱又伦 | 无码国产激情在线观看 | 久久zyz资源站无码中文动漫 | 3d动漫精品啪啪一区二区中 | 日本成熟视频免费视频 | 白嫩日本少妇做爰 | 成人亚洲精品久久久久软件 | 亚洲大尺度无码无码专区 | 又大又硬又黄的免费视频 | 久久国语露脸国产精品电影 | 亚洲熟妇色xxxxx欧美老妇y | 久久国产精品偷任你爽任你 | 激情国产av做激情国产爱 | 婷婷六月久久综合丁香 | 无码人妻少妇伦在线电影 | 日本高清一区免费中文视频 | 久久综合九色综合97网 | 伊人色综合久久天天小片 | 亚洲 激情 小说 另类 欧美 | 久久99精品久久久久久动态图 | www国产亚洲精品久久网站 | 一本久久a久久精品vr综合 | 夜夜高潮次次欢爽av女 | 国产午夜福利100集发布 | 欧美老熟妇乱xxxxx | 激情内射亚州一区二区三区爱妻 | 久久天天躁狠狠躁夜夜免费观看 | 久久午夜夜伦鲁鲁片无码免费 | 又大又紧又粉嫩18p少妇 | 天天躁夜夜躁狠狠是什么心态 | 日韩成人一区二区三区在线观看 | 双乳奶水饱满少妇呻吟 | 国产黑色丝袜在线播放 | 高潮毛片无遮挡高清免费 | 久久99国产综合精品 | 免费播放一区二区三区 | 亚洲国产欧美在线成人 | 亚洲一区二区三区在线观看网站 | 欧美高清在线精品一区 | 亚洲另类伦春色综合小说 | 国产成人久久精品流白浆 | 国产精品毛片一区二区 | 国产亚洲tv在线观看 | 日本一区二区三区免费播放 | 天天摸天天透天天添 | 成人aaa片一区国产精品 | 日韩在线不卡免费视频一区 | 99er热精品视频 | 性做久久久久久久免费看 | 妺妺窝人体色www在线小说 | 精品国产aⅴ无码一区二区 | 蜜桃av抽搐高潮一区二区 | 亚洲中文字幕无码中文字在线 | 无码成人精品区在线观看 | 超碰97人人做人人爱少妇 | 亚洲中文字幕无码中文字在线 | 亚洲国产欧美国产综合一区 | 日韩少妇白浆无码系列 | 国产乱人偷精品人妻a片 | 久久久久久久久888 | 天下第一社区视频www日本 | 亚洲精品一区二区三区四区五区 | 一本一道久久综合久久 | 给我免费的视频在线观看 | 国产午夜无码视频在线观看 | 欧美人与禽猛交狂配 | 国产精品办公室沙发 | 水蜜桃色314在线观看 | 色婷婷av一区二区三区之红樱桃 | 亚洲精品一区二区三区在线 | 野外少妇愉情中文字幕 | 亚洲人成无码网www | 狠狠色噜噜狠狠狠狠7777米奇 | 欧美人与善在线com | 国产深夜福利视频在线 | 无码吃奶揉捏奶头高潮视频 | 牲交欧美兽交欧美 | 精品欧美一区二区三区久久久 | 亚洲日韩中文字幕在线播放 | 装睡被陌生人摸出水好爽 | 久久久久成人精品免费播放动漫 | 日韩 欧美 动漫 国产 制服 | 麻豆国产人妻欲求不满谁演的 | 欧美35页视频在线观看 | 精品熟女少妇av免费观看 | 激情五月综合色婷婷一区二区 | 亚洲国产精品一区二区第一页 | 一本精品99久久精品77 | 欧美 亚洲 国产 另类 | 人妻尝试又大又粗久久 | 欧美激情综合亚洲一二区 | 色婷婷综合激情综在线播放 | 日韩av无码中文无码电影 | 亚洲综合无码一区二区三区 | 思思久久99热只有频精品66 | 亚洲大尺度无码无码专区 | 国产精品内射视频免费 | 美女极度色诱视频国产 | 亚洲人成网站在线播放942 | 国产成人无码a区在线观看视频app | 蜜桃视频韩日免费播放 | 在线亚洲高清揄拍自拍一品区 | 强开小婷嫩苞又嫩又紧视频 | 麻豆国产97在线 | 欧洲 | 黄网在线观看免费网站 | 欧美日韩人成综合在线播放 | 国产农村乱对白刺激视频 | 青青草原综合久久大伊人精品 | 最新国产乱人伦偷精品免费网站 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 无码国产色欲xxxxx视频 | 国产av无码专区亚洲a∨毛片 | 国产精品亚洲五月天高清 | 国产肉丝袜在线观看 | 粉嫩少妇内射浓精videos | 亚洲天堂2017无码中文 | 国产精华av午夜在线观看 | 人人妻人人澡人人爽欧美一区 | 爆乳一区二区三区无码 | 老熟女乱子伦 | 精品无人区无码乱码毛片国产 | 牛和人交xxxx欧美 | 久久天天躁狠狠躁夜夜免费观看 | 欧美性猛交xxxx富婆 | 图片区 小说区 区 亚洲五月 | 人人澡人人妻人人爽人人蜜桃 | 国产精品亚洲一区二区三区喷水 | 色狠狠av一区二区三区 | 日韩精品无码一区二区中文字幕 | 国产猛烈高潮尖叫视频免费 | 欧美人与禽zoz0性伦交 | 黑人巨大精品欧美黑寡妇 | 久久午夜夜伦鲁鲁片无码免费 | 国产av一区二区三区最新精品 | 日本精品少妇一区二区三区 | 无套内谢的新婚少妇国语播放 | 成 人 网 站国产免费观看 | 国产黑色丝袜在线播放 | 乱码午夜-极国产极内射 | 国产香蕉97碰碰久久人人 | 无码吃奶揉捏奶头高潮视频 | 夜夜高潮次次欢爽av女 | 亚洲国产成人av在线观看 | 少妇无码av无码专区在线观看 | 日韩欧美成人免费观看 | 国产尤物精品视频 | 精品aⅴ一区二区三区 | 久久五月精品中文字幕 | 日本丰满护士爆乳xxxx | 性开放的女人aaa片 | 日韩欧美中文字幕在线三区 | 天堂无码人妻精品一区二区三区 | 国产色在线 | 国产 | 国产成人综合美国十次 | 亚洲自偷自偷在线制服 | 精品亚洲韩国一区二区三区 | 成 人 网 站国产免费观看 | 亚洲国产成人av在线观看 | 精品国产青草久久久久福利 | 国产精品va在线观看无码 | 久久久久久a亚洲欧洲av冫 | 九一九色国产 | 国产精品无码一区二区三区不卡 | 久久人人97超碰a片精品 | 偷窥日本少妇撒尿chinese | 国产人妻精品午夜福利免费 | 任你躁在线精品免费 | 麻豆人妻少妇精品无码专区 | 国产特级毛片aaaaaa高潮流水 | 一本大道久久东京热无码av | 亚洲精品久久久久久久久久久 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 粉嫩少妇内射浓精videos | 熟女俱乐部五十路六十路av | 波多野结衣乳巨码无在线观看 | 在线精品亚洲一区二区 | 亚洲成av人在线观看网址 | 成人无码精品1区2区3区免费看 | 97久久超碰中文字幕 | 欧美兽交xxxx×视频 | 粗大的内捧猛烈进出视频 | 国产偷国产偷精品高清尤物 | 亚洲狠狠色丁香婷婷综合 | 无码福利日韩神码福利片 | 国产无遮挡又黄又爽免费视频 | 特黄特色大片免费播放器图片 | 亚洲欧美国产精品专区久久 | 特黄特色大片免费播放器图片 | 人妻无码αv中文字幕久久琪琪布 | 欧洲vodafone精品性 | 国产片av国语在线观看 | 欧美第一黄网免费网站 | 国产熟妇另类久久久久 | 欧洲vodafone精品性 | 一本色道婷婷久久欧美 | 国产莉萝无码av在线播放 | 国产片av国语在线观看 | 少妇高潮喷潮久久久影院 | 欧美黑人乱大交 | 人人妻人人澡人人爽人人精品 | 久久这里只有精品视频9 | 亚洲理论电影在线观看 | 中文字幕 亚洲精品 第1页 | 中文字幕无码乱人伦 | 欧美国产亚洲日韩在线二区 | 日本精品高清一区二区 | 日本免费一区二区三区最新 | 日韩精品无码一本二本三本色 | 一二三四在线观看免费视频 | 午夜无码区在线观看 | 最新国产乱人伦偷精品免费网站 | 中文字幕无码乱人伦 | 国产一区二区不卡老阿姨 | 国产在线无码精品电影网 | 蜜桃臀无码内射一区二区三区 | 免费无码av一区二区 | 久久国产劲爆∧v内射 | 国产精品va在线播放 | 亚洲综合无码久久精品综合 | 亚洲一区二区三区无码久久 | 久久zyz资源站无码中文动漫 | 精品国产乱码久久久久乱码 | 性欧美牲交xxxxx视频 | 中文毛片无遮挡高清免费 | 国产另类ts人妖一区二区 | 国产真实乱对白精彩久久 | 亚洲精品国产第一综合99久久 | 国产精品多人p群无码 | 日本乱偷人妻中文字幕 | 欧美性猛交内射兽交老熟妇 | 久久久久免费精品国产 | 波多野结衣aⅴ在线 | 丝袜足控一区二区三区 | 中文字幕亚洲情99在线 | 亚洲综合精品香蕉久久网 | 中文字幕无码视频专区 | 欧美人与禽zoz0性伦交 | 中文字幕无码人妻少妇免费 | 色一情一乱一伦一视频免费看 | 最近免费中文字幕中文高清百度 | 日日碰狠狠躁久久躁蜜桃 | 久久精品人人做人人综合 | 九九久久精品国产免费看小说 | 日本www一道久久久免费榴莲 | 欧美黑人性暴力猛交喷水 | 无码福利日韩神码福利片 | 99久久亚洲精品无码毛片 | 丁香花在线影院观看在线播放 | 在线a亚洲视频播放在线观看 | 久久精品中文字幕一区 | 成人精品天堂一区二区三区 | 人妻无码αv中文字幕久久琪琪布 | 欧美 丝袜 自拍 制服 另类 | 人妻无码αv中文字幕久久琪琪布 | 久久天天躁夜夜躁狠狠 | 国产内射老熟女aaaa | 久久综合给久久狠狠97色 | 鲁鲁鲁爽爽爽在线视频观看 | 色欲久久久天天天综合网精品 | 国产成人精品必看 | 成人女人看片免费视频放人 | 色噜噜亚洲男人的天堂 | 亚洲精品鲁一鲁一区二区三区 | 疯狂三人交性欧美 | 亚洲成熟女人毛毛耸耸多 | 精品国产一区二区三区四区 | 免费无码av一区二区 | 婷婷综合久久中文字幕蜜桃三电影 | 天天摸天天碰天天添 | 午夜时刻免费入口 | 亚洲精品国产精品乱码视色 | 88国产精品欧美一区二区三区 | 色一情一乱一伦一视频免费看 | 女人色极品影院 | 人妻少妇精品久久 | 娇妻被黑人粗大高潮白浆 | 亚洲の无码国产の无码步美 | www国产亚洲精品久久网站 | 久久成人a毛片免费观看网站 | 国产午夜亚洲精品不卡下载 | a片在线免费观看 | 九九久久精品国产免费看小说 | 色综合久久久无码网中文 | 色欲综合久久中文字幕网 | 日日鲁鲁鲁夜夜爽爽狠狠 | 日韩精品一区二区av在线 | 日本精品久久久久中文字幕 | 国产麻豆精品精东影业av网站 | 亚洲精品午夜国产va久久成人 | 日韩精品无码一区二区中文字幕 | 又紧又大又爽精品一区二区 | 日产精品99久久久久久 | 欧美真人作爱免费视频 | 亚洲乱码国产乱码精品精 | 午夜精品一区二区三区在线观看 | 久久久久亚洲精品男人的天堂 | 精品国偷自产在线 | 国内精品人妻无码久久久影院 | 欧美一区二区三区视频在线观看 | 人妻夜夜爽天天爽三区 | 无码国产乱人伦偷精品视频 |