精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

還在用print()語句來調試Python代碼?快停止吧

開發 后端
我就是使用print()語句調試代碼的人之一。有些時候,如果代碼很長,那么就會有更多的打印,需要使用多個符號來相互區分。

用print()的缺點

我就是使用print()語句調試代碼的人之一。有些時候,如果代碼很長,那么就會有更多的打印,需要使用多個符號來相互區分。

看看下面的代碼片段。(本博客中的代碼片段,遵循Python 3.7的語法)

  1. print(style_dict,"{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}]]]]]]]]]]]]]]]]]]]") 
  2. # Adding into a dictionary 
  3. res_dct = {style_dict[i]: style_dict[i + 1] for i in range(0, len(style_dict), 2)} 
  4. res_dist={res_dct['Email Address']:{style_dict[i]: style_dict[i + 1] for i in range(0, len(style_dict), 2)}} 
  5. print(res_dist,"+++++++++++++++++++++++++++++++++++++++++++++++++++++") 
  6. recon_dict = res_dct 
  7. print(recon_dict,"---------------------------------------------------") 
  8. # Removing space so that data can be transferred to HTML fields 
  9. recon_dict = {x.translate({32: None}): y 
  10.               for x, y in list(recon_dict.items())} 
  11. print("##################################################") 
  12. print(recon_dict) 
  13. print("################################################") 
  14.  
  15. # Converting to JSON 
  16. r = json.dumps(recon_dict) 
  17. print("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$") 
  18. print(r) 
  19. loaded_json = json.loads(r) 
  20. print("WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwww") 
  21. print("******************************************************") 
  22. print(loaded_json) 

在這里,我試圖將一個字典添加到一個JSON文件。由于一些錯誤,我不得不使用那么多帶有不同符號的打印語句進行調試。

但是隨著代碼變得越來越大,不同的模塊和不同的類調用其他模塊或類中的不同定義,這不是一個好的選擇。

讓我們看看這種方法的一些缺點:

  • 隨著代碼的增加,很難在代碼遍歷的每個模塊、類或定義中使用print語句。
  • 甚至在我們注意到錯誤之前,代碼就已經執行并進入下一步。
  • 等到一個漫長的執行完成后再查找并修復。
  • 回到大量的日志中去搜索我們在print語句中給出的正確符號并匹配它們是很乏味的。

還在用print()語句來調試Python代碼?快停止吧

一個簡單的轉變

除了使用Python提供給我們的強大武器“pdb模塊”,我們不需要做任何事情。這個模塊幫助我們有效地調試。

什么是pdb(python調試器)?

 

pdb是一個交互式shell,有助于調試python代碼。它幫助我們一步一步地進入代碼、暫停、檢查狀態并繼續下一行代碼或繼續執行。

調用pdb的一些方法:

在這里,我們將介紹三種調用pdb的方法。

  • Postmortem:如果您想在程序級別進行調試,請使用此功能。
  • Inline pdb:適用比3.7版本更早的版本
  • breakpoint():對于版本3.7或更高的版本

postmortem

讓我們用一個簡單的程序來理解。

  1. def add_num(listA,num): 
  2.     sum=[] 
  3.     for i in listA: 
  4.         sum.append(i*num) 
  5.     return sum 
  6.  
  7. listA = [2, 4, 6, 8] 
  8. num=10 
  9. result=add_num(listA,num) 
  10. print(result) 

在這里,def add_num應該將num變量的值添加到名為listA的列表中的每個元素中,在列表sum中存儲新值,并返回列表sum。

通過執行下面所示的python文件,將調用pdb,

  1. python -m pdb debug_add.py 

這將進入pdb模式,并在第一行代碼處停止。

  1. (venv) C:\Users\PycharmProjects\>python -m pdb debug_add.py 
  2. > c:\users\pycharmprojects\debug_add.py(2)<module>() 
  3. -> def add_num(listA,num): 
  4. (Pdb) 

任何時候,如果您需要調試器的幫助,請使用' h '(幫助),它列出了所有的選項。

  1. (Pdb) hDocumented commands (type help <topic>): 
  2. ======================================== 
  3. EOF    c          d        h         list      q        rv       undisplay 
  4. a      cl         debug    help      ll        quit     s        unt 
  5. alias  clear      disable  ignore    longlist  r        source   until 
  6. args   commands   display  interact  n         restart  step     up 
  7. b      condition  down     j         next      return   tbreak   w 
  8. break  cont       enable   jump      p         retval   u        whatis 
  9. bt     continue   exit     l         pp        run      unalias  whereMiscellaneous help topics: 
  10. ========================== 
  11. exec  pdb 

對特定選項的幫助,

  1. (Pdb) h debug 
  2. debug code 
  3.         Enter a recursive debugger that steps through the code 
  4.         argument (which is an arbitrary expression or statement to                     
  5.         be executed in the current environment). 

返回程序,使用選項' n ' (next)進入執行的下一個步驟。

  1. > c:\users\pycharmprojects\debug_add.py(2)<module>() 
  2. -> def add_num(listA,num): 
  3. (Pdb) n 
  4. > c:\users\prade\pycharmprojects\jobportal\debug_add.py(8)<module>() 
  5. -> listA = [2, 4, 6, 8] 

在這里,我們可以通過給出如下變量名稱來檢查變量的值,

  1. (Pdb) listA 
  2. *** NameError: name 'listA' is not defined 
  3. (Pdb) 
  4. *** NameError: name 'listA' is not defined 

我們到達listA =[2,4,6,8]這一行,但我們仍然沒有執行,所以它說listA未定義。如果您觀察到我們在任何時候按enter鍵,前面的選項就會像上面那樣執行。

現在按' n '向前移動并檢查listA變量。

  1. (Pdb) n 
  2. > c:\users\pycharmprojects\debug_add.py(9)<module>() 
  3. -> num=10 
  4. (Pdb) listA 
  5. [2, 4, 6, 8] 
  6. (Pdb) 

要檢查我們所在的代碼行,請使用選項' l ' (line)。箭頭標記指向我們所在的行,EOF表示文件結束。

  1. (Pdb) l 
  2.   4         for i in listA: 
  3.   5             sum.append(i*num) 
  4.   6         return sum 
  5.   7 
  6.   8     listA = [2, 4, 6, 8] 
  7.   9  -> num=10 
  8.  10     result=add_num(listA,num) 
  9.  11     print(result) 
  10. [EOF] 
  11. (Pdb) 

要退出調試器,我們使用選項' q ' (quit)。

  1. (Pdb) q 
  2. (venv) C:\Users\PycharmProjects\> 

使用postmortem方法的另一種方法是僅在遇到異常時停止執行,因為使用-c繼續使用-m pdb

  1. python -m pdb -c continue debug_add.py 

[[355849]]

Breakpoint()

從Python 3.7開始,引入了breakpoint(),這有助于調試Python代碼,而不必顯式地導入模塊pdb并調用pdb.set_trace()。breakpoint()為我們完成所有這些工作,并在控制臺中打開PDB調試器。

現在,讓我們在沒有任何斷點的情況下執行上述代碼,并在遇到任何錯誤時進行調試。

  1. def add_num(listA,num): 
  2.     sum=[] 
  3.     for i in listA: 
  4.         sum.append(i*num) 
  5.     return sum 
  6.  
  7. listA = [2, 4, 6, 8] 
  8. num=10 
  9. result=add_num(listA,num) 
  10. print(result) 

輸出:

  1. C:\Users\PycharmProjects\venv\Scripts\python.exe C:/Users/PycharmProjects/debug_add.py 
  2. [20, 40, 60, 80]Process finished with exit code 0 

代碼塊的任務是將num(10)添加到列表中的每個元素中,并返回新的列表。

  • 預期結果為[12,14,16,18]
  • 實際結果為[20,40,60,80]

現在讓我們使用breakpoint()武器來調試和修復代碼。

放置斷點()的位置取決于懷疑錯誤的位置。在本例中,我們在它進入add_num()定義之前放置它。

  1. def add_num(listA,num): 
  2.     sum=[] 
  3.     for i in listA: 
  4.         sum.append(i*num) 
  5.     return sum 
  6.  
  7. listA = [2, 4, 6, 8] 
  8. num=10 
  9. breakpoint() 
  10. result=add_num(listA,num) 
  11. print(result) 

輸出:

  1. > c:\users\pycharmprojects\debug_add.py(11)<module>() 
  2. -> result=add_num(listA,num) 
  3. (Pdb) n 
  4. > c:\users\pycharmprojects\debug_add.py(12)<module>() 
  5. -> print(result) 
  6. (Pdb) n 
  7. [20, 40, 60, 80] 
  8.  — Return —  
  9. > c:\users\prade\pycharmprojects\jobportal\debug_add.py(12)<module>()->None 
  10. -> print(result) 
  11. (Pdb) 

選項' n ' (next)用于在任何定義上移動到下一行或步驟。但在本例中,我們需要進入定義,為此我們將使用選項' s ' (step)。

在粗體文本下面是用來突出顯示所使用的選項及其解釋。

  1. > c:\users\prade\pycharmprojects\jobportal\debug_add.py(11)<module>() 
  2. -> result=add_num(listA,num) 
  3. (Pdb) s  <----- Step into def add_num 
  4. --Call-- 
  5. > c:\users\prade\pycharmprojects\jobportal\debug_add.py(2)add_num() 
  6. -> def add_num(listA,num): 
  7. (Pdb) s  <---- stepped inside def add_num 
  8. > c:\users\prade\pycharmprojects\jobportal\debug_add.py(3)add_num() 
  9. -> sum=[] 
  10. (Pdb) n  <--- inside a def feel free to use 'n' 
  11. > c:\users\prade\pycharmprojects\jobportal\debug_add.py(4)add_num() 
  12. -> for i in listA: 
  13. (Pdb) n  
  14. > c:\users\prade\pycharmprojects\jobportal\debug_add.py(5)add_num() 
  15. -> sum.append(i*num) 
  16. (Pdb) n 
  17. > c:\users\prade\pycharmprojects\jobportal\debug_add.py(4)add_num() 
  18. -> for i in listA: 
  19. (Pdb) sum  <-- examine sum value 
  20. [20] <--- 2+10 =12 not 20,oops we used '*'instead of '+' in       
  21.                           appending to list sum,CAUGHT IT! 
  22. (Pdb) i  <-- so, examine i 
  23. (Pdb) sum.append(i+num) <-- try adding + in the expression 
  24. (Pdb) sum 
  25. [20, 12] <-- PERFECT, FIXED IT! 
  26. (Pdb) u <-- used to skip other iterations of for loop. 
  27. > c:\users\prade\pycharmprojects\jobportal\debug_add.py(11)<module>() 
  28. -> result=add_num(listA,num) 
  29. (Pdb) c <-- used to continue with execution 
  30. [20, 12, 40, 60, 80] <--not a right answer but found a fix.Process finished with exit code 0 

上面,在for循環的第一次迭代之后,我們檢查了sum值,結果顯示為20,而不是12。我們差點在這里發現我們用*(乘法)代替了+(加法)因此,我們向前邁出一步,檢查' i '在那一點上是2,并嘗試了sum.append(i+num)。然后檢驗和,得到12是最近添加的元素。因此我們得到了修復,因此我們使用選項' u ' (until)跳過了for循環的剩余迭代。然后它移動到循環后的下一步。這里我們使用' c ' (continue)來繼續執行,結果就結束了。

現在修復,

  1. def add_num(listA,num): 
  2.     sum=[] 
  3.     for i in listA: 
  4.         sum.append(i+num) 
  5.     return sum 
  6.  
  7. listA = [2, 4, 6, 8] 
  8. num=10 
  9. result=add_num(listA,num) 
  10. print(result) 

輸出:

  1. C:\Users\PycharmProjects\venv\Scripts\python.exe C:/Users/PycharmProjects/debug_add.py 
  2. [12, 14, 16, 18]Process finished with exit code 0 

沒有亂七八糟的print()語句,這看起來很簡單。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2025-10-28 01:45:00

setTimeouAPI日志

2024-10-28 10:55:50

Jedis組件客戶端

2021-12-06 17:44:56

MHAMySQL高可用

2023-02-27 08:53:54

JedislettuceRedis

2024-05-11 18:48:40

技巧代碼技能

2025-06-09 01:30:00

2022-05-24 11:34:23

命令日志Kibana

2019-09-21 21:32:34

數據庫SQL分布式

2022-09-13 17:54:55

CSS定時器監聽事件

2020-09-30 16:15:46

ThreadLocal

2020-08-03 09:40:39

Python編程語言Instagram

2012-07-19 10:03:32

2020-12-04 10:05:00

Pythonprint代碼

2020-12-02 11:18:50

print調試代碼Python

2021-06-10 10:33:22

Jenkins持續集成工具自動化

2024-11-12 16:28:34

2021-11-07 23:42:00

Windows 7Windows微軟

2021-04-21 10:36:47

StringBuildJava8StringJoine

2024-06-03 08:32:54

2024-04-11 09:17:51

ArraysJava安全
點贊
收藏

51CTO技術棧公眾號

精品国产一级毛片| 午夜伦理福利在线| 国产乱码一区二区三区| 欧美日韩成人在线视频| 国产国语性生话播放| 樱桃视频成人在线观看| 亚洲欧洲日韩一区二区三区| 国产福利久久| 最新中文字幕第一页| 欧美精品偷拍| 国产午夜精品一区理论片飘花| 亚洲综合在线一区二区| 永久免费毛片在线播放| 亚洲欧洲日产国码二区| 久久精品国产精品国产精品污 | 肉丝一区二区| 久国产精品韩国三级视频| 国内外成人免费激情在线视频网站| 中国毛片在线观看| 日本一区二区乱| 欧美亚洲国产bt| 美女日批免费视频| h片在线免费| 中文字幕乱码日本亚洲一区二区| 精品国产一区二区三区麻豆免费观看完整版| 性色av一区二区三区四区| 亚洲国产国产亚洲一二三| 久久最新资源网| 第一次破处视频| 欧美日韩导航| 亚洲第一色在线| 超碰91在线播放| 国产伊人久久| 欧美三级一区二区| 国产美女三级视频| 国产精品一区二区日韩| 亚洲自拍偷拍综合| 日本a在线天堂| 91高清在线观看视频| 国产精品不卡一区| 亚洲欧美日韩精品在线| 国产福利第一视频在线播放| 久久久影视传媒| 欧美第一黄网| 欧美孕妇孕交| 久久久综合网站| 欧美12av| 国产私人尤物无码不卡| 久久久久久免费毛片精品| 国产综合动作在线观看| 色wwwwww| 91麻豆高清视频| 久热国产精品视频一区二区三区| 天堂网av2014| 91一区二区在线| 麻豆成人小视频| 欧美成人综合在线| 久久久久久久久蜜桃| 青青草原成人| av午夜在线| 专区另类欧美日韩| 成年丰满熟妇午夜免费视频| 18videosex性欧美麻豆| 亚洲一区二区三区四区的| 日本欧美视频在线观看| 超碰在线公开| 色美美综合视频| 波多野结衣天堂| crdy在线观看欧美| 精品久久人人做人人爰| 日韩精品视频一区二区| 三级小说欧洲区亚洲区| 亚洲图片欧美日产| 一级免费黄色录像| 欧美在线亚洲| 91地址最新发布| 国产精品无码粉嫩小泬| 国产一区二区三区av电影| 国产精品免费一区二区三区在线观看 | 精品九九九九| 成人精品一区二区| 亚洲精品国久久99热| 免费特级黄色片| 三上悠亚激情av一区二区三区 | 国产精品久久久久天堂| 国产在线拍揄自揄拍无码| а√在线中文网新版地址在线| 一本色道久久加勒比精品| 色一情一区二区| 国产色噜噜噜91在线精品| 亚洲少妇中文在线| 2021亚洲天堂| 久久精品91| 91性高湖久久久久久久久_久久99| 午夜久久久久久久久久| 国产亚洲成av人在线观看导航| 欧美aaa在线观看| 色在线免费观看| 正在播放一区二区| 人妻无码一区二区三区| 午夜精品一区二区三区国产| 97精品免费视频| 亚洲天堂网视频| 99亚偷拍自图区亚洲| 欧美一级免费在线观看| 日本乱码一区二区三区不卡| 欧美日韩色综合| 亚洲蜜桃精久久久久久久久久久久| 日韩欧美精品综合| 欧美综合在线观看| 国产小视频一区| 综合久久国产九一剧情麻豆| 免费毛片小视频| 网站一区二区| www.亚洲人.com| 无码人妻一区二区三区免费| 国产成人av自拍| 一区二区精品在线观看| 国产精品迅雷| 亚洲第一精品夜夜躁人人爽| 亚洲国产美女视频| 日本不卡一二三区黄网| 久久成人资源| 丁香花视频在线观看| 欧美精品高清视频| 亚洲天堂岛国片| 老司机精品导航| 久久久久网址| 91九色美女在线视频| 日韩三级av在线播放| 成人黄色短视频| 七七婷婷婷婷精品国产| 日本不卡二区| 怡红院成人在线| 国产视频亚洲精品| 久久亚洲天堂网| 99综合电影在线视频| 亚洲中文字幕无码av永久| 久久中文字幕一区二区| 久久亚洲电影天堂| 国产免费黄色网址| 亚洲天堂2014| 亚洲第一成肉网| 在线看片不卡| 91亚洲精品丁香在线观看| av在线导航| 日韩一区二区视频在线观看| 国产精品成人免费观看| 高清国产午夜精品久久久久久| 成年丰满熟妇午夜免费视频| 日韩在线视频一区二区三区 | 欧美激情国产精品免费| 国产一区二区女| 隔壁人妻偷人bd中字| 哺乳挤奶一区二区三区免费看| 欧美国产日本在线| 国产91绿帽单男绿奴| 午夜电影一区二区三区| 双性尿奴穿贞c带憋尿| 久久福利毛片| 亚洲成人精品电影在线观看| 免费视频观看成人| 久久综合久久88| 日韩一级片免费在线观看| 同产精品九九九| 国产毛片久久久久久久| 久久国产免费看| 国产成人亚洲综合无码| 精品av导航| 国产精品成人播放| 老司机午夜在线| 欧美成人在线直播| 九九热在线免费观看| 日本一区二区视频在线| 一二三级黄色片| 99亚洲视频| 亚洲巨乳在线观看| 午夜视频在线观看精品中文| 91精品国产高清自在线| av电影在线观看| 欧美成人综合网站| 欧美人一级淫片a免费播放| 亚洲欧美综合色| 97人妻精品一区二区三区免费| 久热re这里精品视频在线6| 偷拍盗摄高潮叫床对白清晰| 国产精品三p一区二区| 国产精品国模在线| 日本片在线观看| 亚洲欧美综合另类中字| av男人天堂av| 一本到不卡免费一区二区| 国产女人18水真多毛片18精品| 99国产精品99久久久久久| 999精彩视频| 亚洲日本成人| 中文字幕中文字幕在线中一区高清 | 久久久夜夜夜| 国产精品免费看久久久无码| 美女久久99| av蓝导航精品导航| 日本一区免费网站| 国内精品国产三级国产在线专| 福利片在线看| 日韩电视剧免费观看网站| 国产精品久久久久久久成人午夜| 欧美日韩国内自拍| 欧美日韩免费做爰视频| 国产精品三级av在线播放| 星空大象在线观看免费播放| 久久99精品国产麻豆不卡| 男人操女人免费软件| 黄色av日韩| 一区二区三区av| 狠狠综合久久av一区二区蜜桃| 国产高清精品一区| 自拍偷拍亚洲| 国产精品丝袜高跟| 欧美大片免费高清观看| 韩国精品久久久999| av网站大全在线| 色七七影院综合| 国产美女视频一区二区三区| 精品亚洲一区二区三区在线播放| www.精品视频| 日韩一二三区视频| 国产精品人妻一区二区三区| 欧美亚洲一区二区在线| 亚洲中文一区二区| 色综合网站在线| 亚洲午夜18毛片在线看| 五月激情丁香一区二区三区| 国产真人真事毛片| 亚洲自拍偷拍麻豆| 久草视频在线免费看| 亚洲人成伊人成综合网小说| 2014亚洲天堂| 亚洲日韩欧美一区二区在线| 久久久久久久麻豆| 亚洲三级在线看| 18岁成人毛片| 亚洲曰韩产成在线| 精品无码av在线| 亚洲福利电影网| 圆产精品久久久久久久久久久| 亚洲图片欧美一区| 日韩乱码在线观看| 精品毛片网大全| 啦啦啦免费高清视频在线观看| 欧美性jizz18性欧美| 亚洲欧美自拍视频| 91福利社在线观看| 最新国产中文字幕| 91精品国产综合久久婷婷香蕉 | 日韩福利片在线观看| 亚州成人在线电影| 天堂在线免费观看视频| 91精品1区2区| 91av久久久| 日韩精品一区二区三区四区 | 国产情侣小视频| 欧美日韩亚洲综合| 亚洲风情第一页| 亚洲第一网中文字幕| 蜜芽tv福利在线视频| 在线免费观看羞羞视频一区二区| 麻豆视频在线| 国模私拍视频一区| 小黄鸭精品aⅴ导航网站入口| 国产剧情日韩欧美| 一区二区三区国产好| 久久青青草综合| 午夜av一区| 欧洲精品一区二区三区久久| 欧美一级一区| www.cao超碰| 成人综合婷婷国产精品久久蜜臀| 午夜久久久久久久| 国产精品美女久久久久久| 五月天丁香激情| 一本色道久久综合狠狠躁的推荐 | 亚洲一区二区在线免费观看| 欧美搞黄网站| 成人免费无码av| 国产一区美女在线| wwwwxxxx国产| 亚洲欧洲综合另类在线| 国产成人在线观看网站| 欧美三电影在线| 亚洲欧美日本在线观看| www国产精品com| 五月天av在线| 91成人免费看| 成人在线免费观看视频| 日韩黄色短视频| 蜜臀久久久久久久| 国产性生活毛片| 亚洲乱码一区二区三区在线观看| 伊人中文字幕在线观看| 日韩视频一区二区三区| 国产高清av在线| 97在线观看免费| 国产精品一区二区精品| 欧美日韩在线高清| 国产综合精品| www.污污视频| 国产偷v国产偷v亚洲高清| 精品少妇theporn| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲美女黄色片| 久久99亚洲网美利坚合众国| 国产伦精品一区二区三区精品视频| 任你躁在线精品免费| 女女百合国产免费网站| 日本不卡123| 天天躁日日躁aaaxxⅹ | 青青青青草视频| 国产大片一区二区| 三上悠亚作品在线观看| 欧洲一区在线观看| 美女毛片在线看| 欧美性一区二区三区| 澳门成人av| 欧美一级中文字幕| 精品一二线国产| 91ts人妖另类精品系列| 欧美色综合网站| av电影在线播放高清免费观看| 国产成人精品电影久久久| 日韩影视在线观看| heyzo国产| 99久久99久久精品国产片果冻| 免费一级全黄少妇性色生活片| 欧美日韩成人一区| 91精彩视频在线播放| 国产精品国产三级国产aⅴ浪潮 | 日韩视频在线免费播放| 精品一二三四在线| 91高清免费观看| 欧美一区二区三区视频免费| 顶级网黄在线播放| 91久久精品久久国产性色也91| 99热精品久久| 国产精品999.| 亚洲尤物视频在线| 蜜臀久久久久久999| 国语自产精品视频在线看抢先版图片| 999精品视频在这里| www.av91| 99久久精品一区二区| 国产成人亚洲精品自产在线| 亚洲女人被黑人巨大进入al| 在线日本欧美| 一本一道久久a久久精品综合| 韩国av一区二区三区| 国产亚洲精品久久久久久打不开 | 亚洲免费播放| 深爱五月激情网| 欧美色爱综合网| aaa大片在线观看| 久久大片网站| 日本免费新一区视频| 午夜三级在线观看| 精品人在线二区三区| 久草在线资源站手机版| 欧美日韩中文国产一区发布| 奇米一区二区三区| 久久久精品视频免费观看| 精品福利在线导航| 成人免费影院| 亚洲综合欧美日韩| 成人午夜电影久久影院| 亚洲GV成人无码久久精品| 中文字幕日韩欧美在线视频| 国产精品白丝久久av网站| 日韩 欧美 视频| 国产欧美日韩不卡| 国产不卡av在线播放| 91成人在线播放| 久久久久久美女精品 | 久久久之久亚州精品露出| 欧美日韩123| 日本女人黄色片| 欧美午夜美女看片| 黄色网址在线免费观看| 九色91国产| 精品一区二区在线看| 日本三级中文字幕| 夜夜嗨av色综合久久久综合网| 警花av一区二区三区| 久久久久久久久久久久久国产精品| 国产精品久久久久久一区二区三区 | 亚洲精品一线二线三线无人区| 快播电影网址老女人久久| 91嫩草国产丨精品入口麻豆 | a级黄色片免费看| 国产亚洲一级高清| 波多野结衣一区二区三区免费视频| 亚洲综合色在线观看| 午夜欧美一区二区三区在线播放|