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

你需要知道的、有用的Python功能和特點

開發 后端
在使用Python多年以后,我偶然發現了一些我們過去不知道的功能和特性。一些可以說是非常有用,但卻沒有充分利用。考慮到這一點,我編輯了一些你應該了解的Python功能特色。

你需要知道的、有用的Python功能和特點

在使用Python多年以后,我偶然發現了一些我們過去不知道的功能和特性。一些可以說是非常有用,但卻沒有充分利用。考慮到這一點,我編輯了一些你應該了解的Python功能特色。

帶任意數量參數的函數

你可能已經知道了Python允許你定義可選參數。但還有一個方法,可以定義函數任意數量的參數。

首先,看下面是一個只定義可選參數的例子

  1. def function(arg1="",arg2=""): 
  2.  
  3.     print "arg1: {0}".format(arg1) 
  4.  
  5.     print "arg2: {0}".format(arg2) 
  6.  
  7.   
  8.  
  9. function("Hello""World"
  10.  
  11. # prints args1: Hello 
  12.  
  13. # prints args2: World 
  14.  
  15.   
  16.  
  17. function() 
  18.  
  19. # prints args1: 
  20.  
  21. # prints args2: 

現在,讓我們看看怎么定義一個可以接受任意參數的函數。我們利用元組來實現。

  1. def foo(*args): # just use "*" to collect all remaining arguments into a tuple 
  2.  
  3.     numargs = len(args) 
  4.  
  5.     print "Number of arguments: {0}".format(numargs) 
  6.  
  7.     for i, x in enumerate(args): 
  8.  
  9.         print "Argument {0} is: {1}".format(i,x) 
  10.  
  11.   
  12.  
  13. foo() 
  14.  
  15. # Number of arguments: 0 
  16.  
  17.   
  18.  
  19. foo("hello"
  20.  
  21. # Number of arguments: 1 
  22.  
  23. # Argument 0 is: hello 
  24.  
  25.   
  26.  
  27. foo("hello","World","Again"
  28.  
  29. # Number of arguments: 3 
  30.  
  31. # Argument 0 is: hello 
  32.  
  33. # Argument 1 is: World 
  34.  
  35. # Argument 2 is: Again  

使用Glob()查找文件

大多Python函數有著長且具有描述性的名字。但是命名為glob()的函數你可能不知道它是干什么的除非你從別處已經熟悉它了。

它像是一個更強大版本的listdir()函數。它可以讓你通過使用模式匹配來搜索文件。

  1. import glob 
  2.  
  3.   
  4.  
  5. # get all py files 
  6.  
  7. files = glob.glob('*.py'
  8.  
  9. print files 
  10.  
  11.   
  12.  
  13. Output 
  14.  
  15. # ['arg.py''g.py''shut.py''test.py' 

你可以像下面這樣查找多個文件類型:

  1. import itertools as it, glob 
  2.  
  3.   
  4.  
  5. def multiple_file_types(*patterns): 
  6.  
  7.     return it.chain.from_iterable(glob.glob(pattern) for pattern in patterns) 
  8.  
  9.   
  10.  
  11. for filename in multiple_file_types("*.txt""*.py"): # add as many filetype arguements 
  12.  
  13.     print filename 
  14.  
  15.   
  16.  
  17. output 
  18.  
  19. #=========# 
  20.  
  21. # test.txt 
  22.  
  23. # arg.py 
  24.  
  25. # g.py 
  26.  
  27. # shut.py 
  28.  
  29. # test.py  

如果你想得到每個文件的絕對路徑,你可以在返回值上調用realpath()函數:

  1. import itertools as it, glob, os 
  2.  
  3.   
  4.  
  5. def multiple_file_types(*patterns): 
  6.  
  7.     return it.chain.from_iterable(glob.glob(pattern) for pattern in patterns) 
  8.  
  9.   
  10.  
  11. for filename in multiple_file_types("*.txt""*.py"): # add as many filetype arguements 
  12.  
  13.     realpath = os.path.realpath(filename) 
  14.  
  15.     print realpath 
  16.  
  17.   
  18.  
  19. output 
  20.  
  21. #=========# 
  22.  
  23. # C:\xxx\pyfunc\test.txt 
  24.  
  25. # C:\xxx\pyfunc\arg.py 
  26.  
  27. # C:\xxx\pyfunc\g.py 
  28.  
  29. # C:\xxx\pyfunc\shut.py 
  30.  
  31. # C:\xxx\pyfunc\test.py  

調試

下面的例子使用inspect模塊。該模塊用于調試目的時是非常有用的,它的功能遠比這里描述的要多。

這篇文章不會覆蓋這個模塊的每個細節,但會展示給你一些用例。

  1. import logging, inspect 
  2.  
  3.   
  4.  
  5. logging.basicConfig(level=logging.INFO, 
  6.  
  7.     format='%(asctime)s %(levelname)-8s %(filename)s:%(lineno)-4d: %(message)s'
  8.  
  9.     datefmt='%m-%d %H:%M'
  10.  
  11.     ) 
  12.  
  13. logging.debug('A debug message'
  14.  
  15. logging.info('Some information'
  16.  
  17. logging.warning('A shot across the bow'
  18.  
  19.   
  20.  
  21. def test(): 
  22.  
  23.     frame,filename,line_number,function_name,lines,index=\ 
  24.  
  25.         inspect.getouterframes(inspect.currentframe())[1] 
  26.  
  27.     print(frame,filename,line_number,function_name,lines,index
  28.  
  29.   
  30.  
  31. test() 
  32.  
  33.   
  34.  
  35. # Should print the following (with current date/time of course) 
  36.  
  37. #10-19 19:57 INFO     test.py:9   : Some information 
  38.  
  39. #10-19 19:57 WARNING  test.py:10  : A shot across the bow 
  40.  
  41. #(, 'C:/xxx/pyfunc/magic.py', 16, '', ['test()\n'], 0)  

生成唯一ID

在有些情況下你需要生成一個唯一的字符串。我看到很多人使用md5()函數來達到此目的,但它確實不是以此為目的。

其實有一個名為uuid()的Python函數是用于這個目的的。

  1. import uuid 
  2.  
  3. result = uuid.uuid1() 
  4.  
  5. print result 
  6.  
  7.   
  8.  
  9. output => various attempts 
  10.  
  11. # 9e177ec0-65b6-11e3-b2d0-e4d53dfcf61b 
  12.  
  13. # be57b880-65b6-11e3-a04d-e4d53dfcf61b 
  14.  
  15. # c3b2b90f-65b6-11e3-8c86-e4d53dfcf61b  

你可能會注意到,即使字符串是唯一的,但它們后邊的幾個字符看起來很相似。這是因為生成的字符串與電腦的MAC地址是相聯系的。

為了減少重復的情況,你可以使用這兩個函數。

  1. import hmac,hashlib 
  2.  
  3. key='1' 
  4.  
  5. data='a' 
  6.  
  7. print hmac.new(key, data, hashlib.sha256).hexdigest() 
  8.  
  9.   
  10.  
  11. m = hashlib.sha1() 
  12.  
  13. m.update("The quick brown fox jumps over the lazy dog"
  14.  
  15. print m.hexdigest() 
  16.  
  17.   
  18.  
  19. # c6e693d0b35805080632bc2469e1154a8d1072a86557778c27a01329630f8917 
  20.  
  21. # 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12  

序列化

你曾經需要將一個復雜的變量存儲在數據庫或文本文件中吧?你不需要想一個奇特的方法將數組或對象格轉化為式化字符串,因為Python已經提供了此功能。

  1. import pickle 
  2.  
  3.   
  4.  
  5. variable = ['hello', 42, [1,'two'],'apple'
  6.  
  7.   
  8.  
  9. # serialize content 
  10.  
  11. file = open('serial.txt','w'
  12.  
  13. serialized_obj = pickle.dumps(variable) 
  14.  
  15. file.write(serialized_obj) 
  16.  
  17. file.close() 
  18.  
  19.   
  20.  
  21. # unserialize to produce original content 
  22.  
  23. target = open('serial.txt','r'
  24.  
  25. myObj = pickle.load(target) 
  26.  
  27.   
  28.  
  29. print serialized_obj 
  30.  
  31. print myObj 
  32.  
  33.   
  34.  
  35. #output 
  36.  
  37. # (lp0 
  38.  
  39. # S'hello' 
  40.  
  41. # p1 
  42.  
  43. # aI42 
  44.  
  45. # a(lp2 
  46.  
  47. # I1 
  48.  
  49. aS'two' 
  50.  
  51. # p3 
  52.  
  53. # aaS'apple' 
  54.  
  55. # p4 
  56.  
  57. # a. 
  58.  
  59. # ['hello', 42, [1, 'two'], 'apple' 

這是一個原生的Python序列化方法。然而近幾年來JSON變得流行起來,Python添加了對它的支持。現在你可以使用JSON來編解碼。

  1. import json 
  2.  
  3.   
  4.  
  5. variable = ['hello', 42, [1,'two'],'apple'
  6.  
  7. print "Original {0} - {1}".format(variable,type(variable)) 
  8.  
  9.   
  10.  
  11. # encoding 
  12.  
  13. encode = json.dumps(variable) 
  14.  
  15. print "Encoded {0} - {1}".format(encode,type(encode)) 
  16.  
  17.   
  18.  
  19. #deccoding 
  20.  
  21. decoded = json.loads(encode) 
  22.  
  23. print "Decoded {0} - {1}".format(decoded,type(decoded)) 
  24.  
  25.   
  26.  
  27. output 
  28.  
  29.   
  30.  
  31. # Original ['hello', 42, [1, 'two'], 'apple'] - <type 'list'=""
  32.  
  33. # Encoded ["hello", 42, [1, "two"], "apple"] - <type 'str'=""
  34.  
  35. # Decoded [u'hello', 42, [1, u'two'], u'apple'] - <type 'list'="" 

這樣更緊湊,而且最重要的是這樣與JavaScript和許多其他語言兼容。然而對于復雜的對象,其中的一些信息可能丟失。

壓縮字符

當談起壓縮時我們通常想到文件,比如ZIP結構。在Python中可以壓縮長字符,不涉及任何檔案文件。

  1. import zlib 
  2.  
  3.   
  4.  
  5. string =  """   Lorem ipsum dolor sit amet, consectetur 
  6.  
  7.                 adipiscing elit. Nunc ut elit id mi ultricies 
  8.  
  9.                 adipiscing. Nulla facilisi. Praesent pulvinar, 
  10.  
  11.                 sapien vel feugiat vestibulum, nulla dui pretium orci, 
  12.  
  13.                 non ultricies elit lacus quis ante. Lorem ipsum dolor 
  14.  
  15.                 sit amet, consectetur adipiscing elit. Aliquam 
  16.  
  17.                 pretium ullamcorper urna quis iaculis. Etiam ac massa 
  18.  
  19.                 sed turpis tempor luctus. Curabitur sed nibh eu elit 
  20.  
  21.                 mollis congue. Praesent ipsum diam, consectetur vitae 
  22.  
  23.                 ornare a, aliquam a nunc. In id magna pellentesque 
  24.  
  25.                 tellus posuere adipiscing. Sed non mi metus, at lacinia 
  26.  
  27.                 augue. Sed magna nisi, ornare in mollis in, mollis 
  28.  
  29.                 sed nunc. Etiam at justo in leo congue mollis. 
  30.  
  31.                 Nullam in neque eget metus hendrerit scelerisque 
  32.  
  33.                 eu non enim. Ut malesuada lacus eu nulla bibendum 
  34.  
  35.                 id euismod urna sodales. ""
  36.  
  37.   
  38.  
  39. print "Original Size: {0}".format(len(string)) 
  40.  
  41.   
  42.  
  43. compressed = zlib.compress(string) 
  44.  
  45. print "Compressed Size: {0}".format(len(compressed)) 
  46.  
  47.   
  48.  
  49. decompressed = zlib.decompress(compressed) 
  50.  
  51. print "Decompressed Size: {0}".format(len(decompressed)) 
  52.  
  53.   
  54.  
  55. output 
  56.  
  57.   
  58.  
  59. # Original Size: 1022 
  60.  
  61. # Compressed Size: 423 
  62.  
  63. # Decompressed Size: 1022  

注冊Shutdown函數

有可模塊叫atexit,它可以讓你在腳本運行完后立馬執行一些代碼。

假如你想在腳本執行結束時測量一些基準數據,比如運行了多長時間:

  1. import atexit 
  2.  
  3. import time 
  4.  
  5. import math 
  6.  
  7.   
  8.  
  9. def microtime(get_as_float = False) : 
  10.  
  11.     if get_as_float: 
  12.  
  13.         return time.time() 
  14.  
  15.     else
  16.  
  17.         return '%f %d' % math.modf(time.time()) 
  18.  
  19. start_time = microtime(False
  20.  
  21. atexit.register(start_time) 
  22.  
  23.   
  24.  
  25. def shutdown(): 
  26.  
  27.     global start_time 
  28.  
  29.     print "Execution took: {0} seconds".format(start_time) 
  30.  
  31.   
  32.  
  33. atexit.register(shutdown) 
  34.  
  35.   
  36.  
  37. # Execution took: 0.297000 1387135607 seconds 
  38.  
  39. # Error in atexit._run_exitfuncs: 
  40.  
  41. # Traceback (most recent call last): 
  42.  
  43. #   File "C:\Python27\lib\atexit.py", line 24, in _run_exitfuncs 
  44.  
  45. #     func(*targs, **kargs) 
  46.  
  47. # TypeError: 'str' object is not callable 
  48.  
  49. # Error in sys.exitfunc: 
  50.  
  51. # Traceback (most recent call last): 
  52.  
  53. #   File "C:\Python27\lib\atexit.py", line 24, in _run_exitfuncs 
  54.  
  55. #     func(*targs, **kargs) 
  56.  
  57. # TypeError: 'str' object is not callable  

打眼看來很簡單。只需要將代碼添加到腳本的***層,它將在腳本結束前運行。但如果腳本中有一個致命錯誤或者腳本被用戶終止,它可能就不運行了。

當你使用atexit.register()時,你的代碼都將執行,不論腳本因為什么原因停止運行。

結論

你是否意識到那些不是廣為人知Python特性很有用?請在評論處與我們分享。謝謝你的閱讀! 

責任編輯:龐桂玉 來源: Python開發者
相關推薦

2013-12-26 10:10:52

Python

2020-03-27 12:30:39

python開發代碼

2022-04-29 09:00:00

Platform架構內核線程

2022-08-10 09:03:35

TypeScript前端

2011-09-20 10:56:35

云計算PaaS

2018-09-10 09:26:33

2021-09-01 09:00:00

開發框架React 18

2018-05-30 15:15:47

混合云公共云私有云

2024-06-04 16:51:11

2019-10-23 10:36:46

DevSecOpsDevOps

2014-07-31 17:13:50

編碼程序員

2015-09-02 10:12:17

數據安全云存儲

2020-04-27 08:31:29

單例模式Python軟件設計模式

2013-03-04 09:34:48

CSSWeb

2015-06-30 10:59:22

MobileWeb適配

2023-02-10 08:44:05

KafkaLinkedIn模式

2019-09-19 09:44:08

HTTPCDNTCP

2023-01-09 17:23:14

CSS技巧

2017-11-03 15:39:29

深度學習面試問答

2022-07-07 09:00:17

TCP 連接HTTP 協議
點贊
收藏

51CTO技術棧公眾號

欧美视频精品在线观看| 久久久久国产一区二区三区四区| 久久这里只有精品99| 成年女人免费视频| 另类中文字幕国产精品| 中文字幕视频一区| 国产一区精品视频| 中文字幕人妻一区二区在线视频| 中文精品久久| 亚洲欧美中文日韩在线v日本| 国产精品区在线| 岛国av免费在线观看| 国产精品网站在线观看| 国产精品久久精品国产 | 国产精品久久久久久亚洲毛片| 91亚洲精品在线观看| 亚洲天堂av片| 欧美视频不卡| 色噜噜久久综合伊人一本| 中文字幕人妻一区| 中文字幕日韩亚洲| 日本久久一区二区三区| 欧美一级片免费播放| 午夜视频成人| 久久精品视频一区| 国产精品一区二区av| 国产欧美日韩综合精品一区二区三区| 一本一本久久| 欧美激情日韩图片| 天海翼在线视频| 精品av一区二区| 精品国产露脸精彩对白| 国产乱码一区二区三区四区| www.成人爱| 亚洲美女一区二区三区| 婷婷久久青草热一区二区| 天天爽夜夜爽夜夜爽| 国产成人免费视频精品含羞草妖精| 91国语精品自产拍在线观看性色 | 免费不卡的av| 99久久999| 欧美午夜精品一区二区蜜桃 | 激情综合五月网| 五月开心六月丁香综合色啪| 一道本无吗dⅴd在线播放一区| 亚洲一区二区乱码| 里番精品3d一二三区| 精品少妇一区二区三区在线视频| 91pony九色| 性欧美video另类hd尤物| 精品视频一区二区不卡| 日本熟妇人妻中出| 亚洲一级少妇| 日韩欧美主播在线| 人妻熟女一二三区夜夜爱| 欧美亚洲日本精品| 高跟丝袜欧美一区| 男女av免费观看| 伊人久久国产| 欧美亚洲国产一区二区三区va| 欧美日韩在线不卡视频| 中文字幕不卡三区视频| 色94色欧美sute亚洲线路二| 爆乳熟妇一区二区三区霸乳| 丰满少妇一区| 欧美视频一区二区三区| 污视频网址在线观看| **日韩最新| 日韩片之四级片| 久久精品aⅴ无码中文字字幕重口| 999久久久久久久久6666| 精品成人一区二区三区四区| 国产精品麻豆入口| 精品影片在线观看的网站| 国产亚洲欧美另类中文| 欧美乱大交做爰xxxⅹ小说| 午夜国产一区二区| 欧美国产日产韩国视频| 中日韩精品视频在线观看| 媚黑女一区二区| 国产日本欧美一区二区三区| 国产www视频| caoporn国产一区二区| 欧美日韩天天操| 蜜桃视频网站在线| 亚洲成av人综合在线观看| av天堂永久资源网| gogo大尺度成人免费视频| 亚洲第一精品电影| 青娱乐国产视频| 中文字幕一区二区av | 亚洲精品午夜久久久久久久| 国产亚洲在线观看| 国产精品天天狠天天看 | 亚洲欧美一区二区激情| 国产大屁股喷水视频在线观看| 欧美日韩国产欧| 日本精品免费观看| 精品美女www爽爽爽视频| 91视频在线观看免费| 性欧美18一19内谢| 手机在线理论片| 日韩三区在线观看| 四虎国产精品成人免费入口| 一本精品一区二区三区| 欧美专区国产专区| 午夜精品久久久久久久99热黄桃| 久久久久久久久岛国免费| a级网站在线观看| 男人最爱成人网| 精品欧美一区二区三区精品久久| 国产肥白大熟妇bbbb视频| 欧美激情视频一区二区三区免费| 欧美又大又粗又长| 精品人妻aV中文字幕乱码色欲| 国产亚洲一区二区三区| 日本五级黄色片| 色综合一区二区日本韩国亚洲 | 激情综合丁香五月| 亚洲精品国产成人影院| 国产精品xxx视频| 天堂中文资源在线观看| 亚洲精品国产视频| 污污动漫在线观看| 亚洲色图丝袜| 久久久亚洲成人| 精品黑人一区二区三区在线观看| 亚洲国产精品精华液2区45| 麻豆tv在线播放| 亚洲va欧美va人人爽成人影院| 最新的欧美黄色| 国产99免费视频| 久久综合资源网| 免费国产黄色网址| 成人福利免费在线观看| 欧美精品亚州精品| 97在线播放免费观看| 国产精品乱码久久久久久| 任你操这里只有精品| 天堂av一区二区三区在线播放| 欧美激情伊人电影| 亚洲精品一区二区三区不卡| 亚洲精品国产a| 欧美色图校园春色| 中文字幕一区二区三区在线视频 | 久久这里只有精品一区二区| 欧美成人午夜视频| 99国产在线播放| 亚洲欧美成aⅴ人在线观看| 中文字幕线观看| 午夜久久免费观看| 亚洲专区中文字幕| 18在线观看的| 亚洲精品在线观| 国产情侣在线视频| 成人国产一区二区三区精品| 丁香六月激情网| jizz国产精品| 7m第一福利500精品视频| 色婷婷中文字幕| 欧美性极品xxxx做受| 先锋影音av在线| 久久99久久久久| 屁屁影院ccyy国产第一页| 高潮久久久久久久久久久久久久| 97视频在线观看网址| 亚洲av电影一区| 91官网在线观看| 日韩在线一卡二卡| 国产成人av电影在线观看| 青青草国产精品视频| 蜜臀av免费一区二区三区| 国产精品pans私拍| 美女羞羞视频在线观看| 欧美mv日韩mv国产网站| 日韩美一区二区| 国产精品护士白丝一区av| 91在线第一页| 国产欧美高清| 亚洲一区高清| gogo人体一区| 国产精品久久久久久久久免费| 免费在线毛片网站| 亚洲国产97在线精品一区| 亚洲第一网站在线观看| 亚洲婷婷综合久久一本伊一区| 中文字幕在线观看91| 久久精品成人| 日本免费黄色小视频| 校花撩起jk露出白色内裤国产精品| 国产精品久久久久一区二区| 在线看一级片| 国产亚洲精品久久久优势| 国产丰满果冻videossex| 午夜精品在线看| 影音先锋男人资源在线观看| 成人自拍视频在线| 日韩一级免费片| 亚洲青涩在线| 国产精品无码乱伦| 竹菊久久久久久久| 成人免费91在线看| 国产成+人+综合+亚洲欧美| 欧美富婆性猛交| 国产黄在线看| 亚洲国产私拍精品国模在线观看| 亚洲视频久久久| 欧美日韩国产色| 欧美成人免费观看视频| 国产嫩草影院久久久久| 国产精品久久无码| 国产一区二区看久久| 亚洲精品高清无码视频| 亚洲精选一区| 国产成人一二三区| 国产精品99视频| 青青成人在线| 外国成人在线视频| 国产精品日韩一区二区免费视频 | 欧美精品日韩一区| www.色国产| 午夜欧美在线一二页| 久久噜噜色综合一区二区| 久久综合九色综合久久久精品综合| 国产亚洲色婷婷久久| 蜜臀av一区二区在线免费观看| 国产婷婷一区二区三区| 韩国欧美一区| 日本a在线天堂| 一区二区三区中文| 一区二区三区在线观看www| 国产精品免费大片| 欧美精品欧美精品| 亚洲调教一区| 久久久久久久久久码影片| 高清欧美性猛交xxxx黑人猛| 91久久极品少妇xxxxⅹ软件 | 九色91视频| 欧美巨大xxxx| 精品不卡在线| 麻豆一区二区| 久久久久久欧美精品色一二三四| 波多野结衣欧美| av日韩免费电影| 天堂久久av| 国产精品乱码一区二区三区| 999国产精品一区| 国外成人在线视频网站| 好吊妞视频这里有精品 | 婷婷久久久久久| 日韩av在线网页| 日本黄在线观看| 精品一区精品二区| 成人影视在线播放| 中文字幕欧美日韩精品| 欧美一区二区三区| 欧美成人黑人xx视频免费观看| 中文字幕在线播放网址| 欧美风情在线观看| 欧美13videosex性极品| 日本成人激情视频| 国产情侣一区二区三区| 亚洲bt天天射| 久久婷婷国产| 日本高清不卡三区| 久久社区一区| 成人免费a级片| 在线精品福利| 十八禁视频网站在线观看| 免费一级欧美片在线观看| 57pao国产成永久免费视频| 国产精品一区二区在线看| 中文字幕天堂av| 国产丝袜在线精品| 日韩欧美123区| 五月天网站亚洲| 日韩av免费播放| 日韩视频中午一区| 天堂av在线免费观看| 一本一本久久a久久精品牛牛影视| 久草中文在线观看| 97精品久久久| 国产亚洲欧美日韩精品一区二区三区 | 麻豆视频在线观看| 欧美色视频日本版| 91在线视频国产| 欧美mv和日韩mv的网站| 国产大学生校花援交在线播放| 久久精品亚洲94久久精品| 超碰成人av| 国产日韩av在线| 欧美a一欧美| 成年人黄色在线观看| 亚洲精选成人| 国产高清999| 久久女同性恋中文字幕| 粉嫩av性色av蜜臀av网站| 精品人伦一区二区三区蜜桃免费| 在线免费观看高清视频| 亚洲精品久久久久中文字幕欢迎你| 爱久久·www| 6080yy精品一区二区三区| 亚洲精品第一| 欧美一区二视频在线免费观看| 一区二区电影在线观看| www.日日操| 99精品欧美一区二区三区小说 | 国产精品女主播| 精品深夜福利视频| 400部精品国偷自产在线观看| 日韩精品91亚洲二区在线观看 | 免费成人三级| 免费成人深夜夜行网站视频| 久久久久久色| 亚洲精品中文字幕在线播放| 亚洲欧美日韩在线| 日韩xxx视频| 亚洲精品自拍偷拍| 国内在线免费视频| 91视频婷婷| 国产精品x453.com| 中文字幕成人在线视频| 久久综合狠狠综合久久综合88| 久久久久久久蜜桃| 91麻豆精品国产91久久久久久久久 | 欧美日韩福利电影| 亚洲精品三区| 伊人久久大香线蕉成人综合网 | 亚洲成人激情小说| 日韩毛片视频在线看| 中文字字幕在线观看| 一区二区三区视频在线| 爱情电影社保片一区| 精品久久久久亚洲| 在线亚洲一区| 久久人人爽人人人人片| 亚洲电影一级黄| 人妻丰满熟妇av无码区hd| 欧美日本黄视频| 嫩呦国产一区二区三区av| 欧美一级中文字幕| 国产成人午夜片在线观看高清观看| 国产在线免费av| 欧美乱妇23p| 国产一二区在线| 91啪国产在线| 午夜性色一区二区三区免费视频| √天堂资源在线| 亚洲精品视频自拍| 精品人妻av一区二区三区| 欧美二区在线播放| 极品一区美女高清| 人人妻人人添人人爽欧美一区| 成人h精品动漫一区二区三区| 精品无码黑人又粗又大又长| 亚洲国产黄色片| videos性欧美另类高清| 天堂社区 天堂综合网 天堂资源最新版 | 日韩有码av| 国产一区亚洲二区三区| 国产欧美一区二区在线观看| 中文在线最新版天堂| 久久精品国亚洲| gogo久久日韩裸体艺术| 午夜精品久久久久久久无码| 久久久久久亚洲综合影院红桃| 蜜臀尤物一区二区三区直播| 色噜噜亚洲精品中文字幕| 久久99成人| 无码专区aaaaaa免费视频| 久久久久久**毛片大全| 在线免费观看中文字幕| 欧美精品在线看| 天天躁日日躁狠狠躁欧美巨大小说| 欧美成人免费高清视频| 18涩涩午夜精品.www| 二区三区在线视频| 国产999在线观看| 91精品91| a级在线观看视频| 欧美日韩第一区日日骚| a国产在线视频| 水蜜桃亚洲精品| 国产91对白在线观看九色| 日韩人妻精品中文字幕| 久久亚洲成人精品| 少妇久久久久| 伊人五月天婷婷| 一本久道中文字幕精品亚洲嫩| 女女色综合影院| 欧美另类一区| 国产精品一品二品| 中文字幕精品视频在线观看| 美女福利精品视频| sdde在线播放一区二区| 成人啪啪18免费游戏链接| 在线视频你懂得一区二区三区| 色屁屁www国产馆在线观看| 欧美一区二区视频在线| 成人激情小说乱人伦|