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

一些你可能不知道的Python小技巧!

開發 后端
在本文中,我們來看一看日常工作中經常使用的一些 Python 小技巧。

 

本文中,我們來看一看日常工作中經常使用的一些 Python 小技巧。

集合

開發人員常常忘記 Python 也有集合數據類型,大家都喜歡使用列表處理一切。

集合(set)是什么?簡單來說就是:集合是一組無序事物的匯集,不包含重復元素。

如果你熟練掌握集合及其邏輯,那么很多問題都可以迎刃而解。舉個例子,如何獲取一個單詞中出現的字母? 

  1. myword = "NanananaBatman"  
  2. set(myword)  
  3. {'N', 'm', 'n', 'B', 'a', 't'} 

就這么簡單,問題解決了,這個例子就來自 Python 的官方文檔,大可不必過于驚訝。

再舉一個例子,如何獲取一個列表的各個元素,且不重復? 

  1. # first you can easily change set to list and other way around  
  2. mylist = ["a", "b", "c","c"]  
  3. # let's make a set out of it  
  4. myset = set(mylist)  
  5. # myset will be:  
  6. {'a', 'b', 'c'}  
  7. # and, it's already iterable so you can do:  
  8. for element in myset:  
  9.     print(element)  
  10. # but you can also convert it to list again: 
  11.  mynewlist = list(myset)  
  12. # and mynewlist will be: 
  13. ['a', 'b', 'c'] 

我們可以看到,“c”元素不再重復出現了。只有一個地方你需要注意,mylist 與 mynewlist 之間的元素順序可能會有所不同: 

  1. mylist = ["c", "c", "a","b"]  
  2. mynewlist = list(set(mylist)) 
  3. # mynewlist is:  
  4. ['a', 'b', 'c'] 

可以看出,兩個列表的元素順序不同。

下面,我們來進一步深入。

假設某些實體之間有一對多的關系,舉個更加具體的例子:用戶與權限。通常,一個用戶可以擁有多個權限。現在假設某人想要修改多個權限,即同時添加和刪除某些權限,應當如何解決這個問題? 

  1. # this is the set of permissions before change;  
  2. original_permission_set = {"is_admin","can_post_entry", "can_edit_entry", "can_view_settings"}  
  3. # this is new set of permissions;  
  4. new_permission_set = {"can_edit_settings","is_member", "can_view_entry", "can_edit_entry"}  
  5. # now permissions to add will be:  
  6. new_permission_set.difference(original_permission_set)  
  7. # which will result:  
  8. {'can_edit_settings', 'can_view_entry', 'is_member'}  
  9. # As you can see can_edit_entry is in both sets; so we do notneed  
  10. # to worry about handling it  
  11. # now permissions to remove will be:  
  12. original_permission_set.difference(new_permission_set)  
  13. # which will result:  
  14. {'is_admin', 'can_view_settings', 'can_post_entry'}  
  15. # and basically it's also true; we switched admin to member, andadd  
  16. # more permission on settings; and removed the post_entrypermission 

總的來說,不要害怕使用集合,它們能幫助你解決很多問題,更多詳情,請參考 Python 官方文檔。

日歷

當開發與日期和時間有關的功能時,有些信息可能非常重要,比如某一年的這個月有多少天。這個問題看似簡單,但是我相信日期和時間是一個非常有難度的話題,而且我覺得日歷的實現問題非常多,簡直就是噩夢,因為你需要考慮大量的極端情況。

那么,究竟如何才能找出某個月有多少天呢? 

  1. import calendar  
  2. calendar.monthrange(2020, 12)  
  3. # will result:  
  4. (1, 31)  
  5. # BUT! you need to be careful here, why? Let's read thedocumentation:  
  6. help(calendar.monthrange)  
  7. # Help on function monthrange in module calendar:  
  8. # monthrange(year, month)  
  9. #     Return weekday (0-6~ Mon-Sun) and number of days (28-31) for  
  10. #    year, month.  
  11. # As you can see the first value returned in tuple is a weekday,  
  12. # not the number of the first day for a given month; let's try  
  13. # to get the same for 2021  
  14. calendar.monthrange(2021, 12)  
  15. (2, 31)  
  16. # So this basically means that the first day of December 2021 isWed  
  17. # and the last day of December 2021 is 31 (which is obvious,cause  
  18. # December always has 31 days)  
  19. # let's play with February  
  20. calendar.monthrange(2021, 2)  
  21. (0, 28)  
  22. calendar.monthrange(2022, 2)  
  23. (1, 28)  
  24. calendar.monthrange(2023, 2)  
  25. (2, 28)  
  26. calendar.monthrange(2024, 2)  
  27. (3, 29)  
  28. calendar.monthrange(2025, 2)  
  29. (5, 28)  
  30. # as you can see it handled nicely the leap year; 

某個月的第一天當然非常簡單,就是 1 號。但是,“某個月的第一天是周X”,如何使用這條信息呢?你可以很容易地查到某一天是周幾: 

  1. calendar.monthrange(2024, 2)  
  2. (3, 29)  
  3. # means that February 2024 starts on Thursday  
  4. # let's define simple helper:  
  5. weekdays = ["Monday", "Tuesday","Wednesday", "Thursday", "Friday","Saturday", "Sunday"]  
  6. # now we can do something like:  
  7. weekdays[3] 
  8. # will result in:  
  9. 'Thursday'  
  10. # now simple math to tell what day is 15th of February 2020:  
  11. offset = 3  # it's thefirst value from monthrange  
  12. for day in range(1, 29):  
  13.     print(day,weekdays[(day + offset - 1) % 7])  
  14. 1 Thursday  
  15. 2 Friday  
  16. 3 Saturday  
  17. 4 Sunday  
  18. ...  
  19. 18 Sunday  
  20. 19 Monday  
  21. 20 Tuesday  
  22. 21 Wednesday  
  23. 22 Thursday  
  24. 23 Friday  
  25. 24 Saturday  
  26. ... 
  27. 28 Wednesday  
  28. 29 Thursday  
  29. # which basically makes sense; 

也許這段代碼不適合直接用于生產,因為你可以使用 datetime 更容易地查找星期: 

  1. from datetime import datetime  
  2. mydate = datetime(2024, 2, 15)  
  3. datetime.weekday(mydate)  
  4. # will result:  
  5.  
  6. # or:  
  7. datetime.strftime(mydate, "%A")  
  8. 'Thursday' 

總的來說,日歷模塊有很多有意思的地方,值得慢慢學習: 

  1. # checking if year is leap:  
  2. calendar.isleap(2021)  #False  
  3. calendar.isleap(2024)  #True  
  4. # or checking how many days will be leap days for given yearspan:  
  5. calendar.leapdays(2021, 2026) # 1 
  6. calendar.leapdays(2020, 2026) # 2  
  7. # read the help here, as range is: [y1, y2), meaning that second  
  8. # year is not included;  
  9. calendar.leapdays(2020, 2024) # 1 

枚舉有第二個參數

是的,枚舉有第二個參數,可能很多有經驗的開發人員都不知道。下面我們來看一個例子: 

  1. mylist = ['a', 'b', 'd', 'c', 'g', 'e']  
  2. for i, item in enumerate(mylist):  
  3.     print(i, item)  
  4. # Will give: 
  5. 0 a  
  6. 1 b  
  7. 2 d  
  8. 3 c  
  9. 4 g  
  10. 5 e  
  11. # but, you can add a start for enumeration:  
  12. for i, item in enumerate(mylist, 16):  
  13.     print(i, item)  
  14. # and now you will get:  
  15. 16 a  
  16. 17 b  
  17. 18 d  
  18. 19 c  
  19. 20 g  
  20. 21 e 

第二個參數可以指定枚舉開始的地方,比如上述代碼中的 enumerate(mylist,16)。如果你需要處理偏移量,則可以考慮這個參數。

if-else 邏輯

你經常需要根據不同的條件,處理不同的邏輯,經驗不足的開發人員可能會編寫出類似下面的代碼: 

  1. OPEN = 1  
  2. IN_PROGRESS = 2  
  3. CLOSED = 3  
  4. def handle_open_status():  
  5.     print('Handling openstatus')  
  6. def handle_in_progress_status():  
  7.     print('Handling inprogress status')  
  8. def handle_closed_status():  
  9.     print('Handling closedstatus')  
  10. def handle_status_change(status):  
  11.     if status == OPEN:  
  12.        handle_open_status()  
  13.     elif status ==IN_PROGRESS:  
  14.         handle_in_progress_status()  
  15.     elif status == CLOSED:  
  16.        handle_closed_status()  
  17. handle_status_change(1)  #Handling open status  
  18. handle_status_change(2)  #Handling in progress status  
  19. handle_status_change(3)  #Handling closed status 

雖然這段代碼看上去也沒有那么糟,但是如果有 20 多個條件呢?

那么,究竟應該怎樣處理呢? 

  1. from enum import IntEnum  
  2. class StatusE(IntEnum):  
  3.     OPEN = 1  
  4.     IN_PROGRESS = 2  
  5.     CLOSED = 3  
  6. def handle_open_status():  
  7.     print('Handling openstatus')  
  8. def handle_in_progress_status():  
  9.     print('Handling inprogress status')  
  10. def handle_closed_status():  
  11.     print('Handling closedstatus')  
  12. handlers = {  
  13.     StatusE.OPEN.value:handle_open_status,  
  14.    StatusE.IN_PROGRESS.value: handle_in_progress_status,  
  15.     StatusE.CLOSED.value:handle_closed_status  
  16.  
  17. def handle_status_change(status):  
  18.     if status not inhandlers:  
  19.          raiseException(f'No handler found for status: {status}')  
  20.     handler =handlers[status]  
  21.     handler()  
  22. handle_status_change(StatusE.OPEN.value)  # Handling open status  
  23. handle_status_change(StatusE.IN_PROGRESS.value)  # Handling in progress status  
  24. handle_status_change(StatusE.CLOSED.value)  # Handling closed status  
  25. handle_status_change(4)  #Will raise the exception 

在 Python 中這種模式很常見,它可以讓代碼看起來更加整潔,尤其是當方法非常龐大,而且需要處理大量條件時。

enum 模塊

enum 模塊提供了一系列處理枚舉的工具函數,最有意思的是 Enum 和 IntEnum。我們來看個例子: 

  1. from enum import Enum, IntEnum, Flag, IntFlag  
  2. class MyEnum(Enum):  
  3.     FIRST ="first"  
  4.     SECOND ="second"  
  5.     THIRD ="third"  
  6. class MyIntEnum(IntEnum):  
  7.     ONE = 1  
  8.     TWO = 2  
  9.     THREE = 3  
  10. # Now we can do things like:  
  11. MyEnum.FIRST  #<MyEnum.FIRST: 'first'>  
  12. # it has value and name attributes, which are handy:  
  13. MyEnum.FIRST.value  #'first'  
  14. MyEnum.FIRST.name  #'FIRST'  
  15. # additionally we can do things like:  
  16. MyEnum('first')  #<MyEnum.FIRST: 'first'>, get enum by value  
  17. MyEnum['FIRST']  #<MyEnum.FIRST: 'first'>, get enum by name 

使用 IntEnum 編寫的代碼也差不多,但是有幾個不同之處: 

  1. MyEnum.FIRST == "first"  # False  
  2. # but  
  3. MyIntEnum.ONE == 1  # True  
  4. # to make first example to work:  
  5. MyEnum.FIRST.value == "first"  # True 

在中等規模的代碼庫中,enum 模塊在管理常量方面可以提供很大的幫助。 

  1. enum 的本地化可能有點棘手,但也可以實現,我用django快速演示一下:  
  2. from enum import Enum  
  3. from django.utils.translation import gettext_lazy as _  
  4. class MyEnum(Enum):  
  5.     FIRST ="first" 
  6.      SECOND ="second"  
  7.     THIRD ="third"  
  8.     @classmethod  
  9.     def choices(cls):  
  10.         return [  
  11.             (cls.FIRST.value, _('first')),  
  12.             (cls.SECOND.value, _('second')),  
  13.             (cls.THIRD.value, _('third'))  
  14.          ]  
  15. # And later in eg. model definiton:  
  16. some_field = models.CharField(max_length=10,choices=MyEnum.choices()) 

iPython

iPython 就是交互式 Python,它是一個交互式的命令行 shell,有點像 Python 解釋器。

首先,你需要安裝 iPython: 

  1. pip install ipython 

接下來,你只需要在輸入命令的時候,將 Python 換成 ipython: 

  1. # you should see something like this after you start:  
  2. Python 3.8.5 (default, Jul 28 2020, 12:59:40)  
  3. Type 'copyright', 'credits' or 'license' for more information  
  4. IPython 7.18.1 -- An enhanced Interactive Python. Type '?' forhelp.  
  5. In [1]: 

ipython 支持很多系統命令,比如 ls 或 cat,tab 鍵可以顯示提示,而且你還可以使用上下鍵查找前面用過的命令。更多具體信息,請參見官方文檔。 

 

責任編輯:龐桂玉 來源: 馬哥Linux運維
相關推薦

2021-11-01 12:10:56

Python技巧代碼

2015-05-07 13:13:27

JavaScript JavaScript

2021-01-05 11:22:58

Python字符串代碼

2020-01-29 19:40:36

Python美好,一直在身邊Line

2021-07-05 05:34:10

Typescript語言開發

2015-08-13 09:03:14

調試技巧

2015-04-13 13:21:45

JavaScript JavaScript

2017-02-23 19:42:55

AS Android代碼

2012-11-23 10:57:44

Shell

2024-03-04 00:00:00

Kubernetes技巧API

2022-09-20 11:58:27

NpmNode.js

2019-11-25 14:05:47

Python裝飾器數據

2017-11-07 21:58:25

前端JavaScript調試技巧

2021-02-28 08:34:14

CSS outline-off負值技巧

2020-11-03 09:51:04

JavaScript開發 技巧

2023-02-27 09:20:24

絕對定位CSS

2023-01-29 09:46:47

Dialog彈窗模態

2022-12-21 08:05:04

字符串分割技巧

2022-12-09 15:06:26

字符串Intl字符串分割

2019-11-20 10:25:06

sudoLinux
點贊
收藏

51CTO技術棧公眾號

欧美私模裸体表演在线观看| 99re在线精品| 久久精品国产精品亚洲| 人妻精品久久久久中文字幕69| 中文在线字幕免费观看| 成人免费三级在线| 国产精品久久久久久久久久东京| 神马午夜精品91| 久久99精品国产自在现线| 91九色最新地址| 日韩精品第1页| 秋霞av在线| 国产精品综合一区二区| 2019中文字幕在线观看| 亚洲欧美另类日本| 日韩在线麻豆| 欧美一区二区三区在线看| 欧美日韩国产精品激情在线播放| 老司机福利在线视频| 99精品欧美一区二区三区综合在线| 国产欧美精品xxxx另类| 日韩一区二区视频在线| 欧美二区不卡| 在线观看亚洲视频| 日本护士做爰视频| 精品精品视频| 在线观看国产日韩| 一二三四视频社区在线| jizz性欧美| 中文字幕精品三区| 久久精品aaaaaa毛片| 精品人妻一区二区三区四区不卡| 免费欧美在线视频| 欧美亚洲在线观看| 日本少妇xxxx动漫| 国产精品久久| 久久成人精品视频| 久久久精品成人| 久草精品在线| 亚洲欧美日韩中文在线制服| 日本黄色动态图| 99久久香蕉| 日韩美女天天操| 亚洲图片 自拍偷拍| 国产精品美女午夜爽爽| 91福利国产精品| avav在线看| 九色porny丨国产首页在线| 亚洲综合在线视频| 成人av在线播放观看| 黄色免费在线观看| 中文字幕亚洲成人| 色噜噜色狠狠狠狠狠综合色一| 日韩电影在线观看完整版| 99在线精品视频| 韩国成人一区| 日韩欧美在线观看一区二区| 99久久99久久综合| 欧美精品中文字幕一区二区| 蜜桃免费在线| 久久久高清一区二区三区| 日本成人三级| 日韩伦理在线观看| 亚洲色图清纯唯美| 99久久99久久精品| 免费在线中文字幕| 午夜精品福利在线| 黄在线观看网站| av高清一区| 欧美裸体bbwbbwbbw| 国产男女无遮挡猛进猛出| 亚洲精品黑牛一区二区三区| 精品国产伦理网| 波多野结衣影院| 神马影视一区二区| 久久精品久久久久久| 精品欧美一区二区久久久久| 欧美日韩理论| 5566成人精品视频免费| 一区二区乱子伦在线播放| 精品一区二区三区视频| 91成人免费视频| 婷婷色在线观看| 国产午夜精品一区二区三区嫩草 | 波多野结衣在线一区二区 | 国产精品偷伦一区二区| 国产精品久久777777换脸| 国产很黄免费观看久久| 久久99精品久久久久久水蜜桃| 久久经典视频| 亚洲免费毛片网站| 131美女爱做视频| 久草综合在线| 精品91自产拍在线观看一区| 蜜桃传媒一区二区亚洲| 亚洲视频电影在线| 91精品国产91久久久久久吃药 | 日日夜夜免费精品视频| 亚洲影院高清在线| 欧美日韩国产中文字幕在线| 亚洲欧洲综合另类| 国语对白做受xxxxx在线中国| 91精品麻豆| 日韩国产欧美精品一区二区三区| 18精品爽国产三级网站| 99国产精品私拍| 91亚洲国产精品| 免费动漫网站在线观看| 亚洲在线视频一区| 可以看污的网站| 黑人操亚洲人| 97在线视频免费播放| 国产一区二区自拍视频| 久久天天做天天爱综合色| 国产精品一色哟哟| 亚洲福利影视| 国产香蕉一区二区三区在线视频| 五月天婷婷综合网| 国产精一品亚洲二区在线视频| 欧美精品一区二区视频| 国产精品国精产品一二| 在线不卡一区二区| 亚洲精品国产精品国自产网站| 欧美福利视频| 国产一区欧美二区三区| 欧洲毛片在线| 污片在线观看一区二区| 成人啪啪18免费游戏链接| 欧美xxxx中国| 国产精品99久久久久久人| 日本精品一二区| 亚洲最大的成人av| 国产精品999.| 亚洲国产精品成人| 成人国产在线视频| 日本最新在线视频| 欧美图片一区二区三区| 欧美熟妇激情一区二区三区| 国产一区二区三区久久| 91久久国产综合久久蜜月精品| 男人天堂久久久| 欧美日韩国产精品自在自线| 国产精品美女高潮无套| 久久永久免费| 清纯唯美一区二区三区| 成人天堂yy6080亚洲高清| 亚洲日本中文字幕| 国产91精品一区| 久久综合久久久久88| 无码人妻丰满熟妇区96| 亚洲成在人线免费观看| 国产91色在线免费| 九色在线免费| 欧美亚洲动漫另类| 后入内射无码人妻一区| 精品一区二区在线看| 青春草在线视频免费观看| 秋霞影院一区| 国模gogo一区二区大胆私拍| 天堂av一区二区三区| 欧美性xxxxxx| 国产美女永久免费无遮挡| 美女脱光内衣内裤视频久久影院| 亚洲一区二区三区乱码| 免费一区二区三区在线视频| 久久久综合av| 欧美人体大胆444www| 欧美性做爰猛烈叫床潮| 日本少妇aaa| 成人免费视频网站在线观看| 日本在线观看a| 不卡中文字幕| 91久久精品www人人做人人爽| 黑人玩欧美人三根一起进| 亚洲电影在线观看| 亚洲精品国产精品乱码视色| 亚洲精选视频免费看| 制服丝袜第一页在线观看| 视频一区在线视频| 亚洲欧洲三级| 国产成人在线中文字幕| 97成人在线视频| 91se在线| 日韩成人xxxx| 夜夜嗨aⅴ一区二区三区| 亚洲综合av网| 国产一区二区三区精品在线| 成人夜色视频网站在线观看| 美女喷白浆视频| 欧美三级午夜理伦三级中文幕| 欧美二区三区| 免费精品一区| 日韩女在线观看| 性欧美videos高清hd4k| 亚洲视频axxx| 性生交生活影碟片| 在线观看国产精品网站| 日韩乱码人妻无码中文字幕| 国产精品丝袜黑色高跟| 人妖粗暴刺激videos呻吟| 麻豆freexxxx性91精品| av在线播放亚洲| 一级欧洲+日本+国产 | 稀缺呦国内精品呦| 捆绑变态av一区二区三区| 久久这里只有精品23| 欧美xxav| 日本在线观看一区| 草草视频在线一区二区| 国产日韩欧美综合| 日韩免费电影| 国内自拍欧美激情| 99自拍视频在线观看| 亚洲色图综合网| 欧美一区二不卡视频| 制服丝袜一区二区三区| 综合久久中文字幕| 日韩欧美在线中文字幕| 精品无码免费视频| 自拍偷在线精品自拍偷无码专区 | 亚洲欧美日韩电影| 亚洲精品成人av久久| 99热国产精品| 国产一精品一aⅴ一免费| 激情欧美一区二区三区在线观看| 欧美三级午夜理伦三级| 亚洲精品孕妇| 阿v天堂2018| 欧美色综合网| 小泽玛利亚av在线| 综合视频在线| 三上悠亚免费在线观看| 久久人体视频| 一区二区视频在线观看| 精品香蕉视频| 日韩一区二区电影在线观看| 国产一区二区三区电影在线观看| 久久精品日产第一区二区三区乱码| 一区视频网站| 国产欧美精品一区二区三区| 国产精品视频3p| 国产手机精品在线| 久久亚洲道色| 精品中文字幕人| 日韩理论电影中文字幕| 精品日本一区二区| 任你躁在线精品免费| 女同一区二区| 成人在线一区| 手机看片日韩国产| 自拍偷拍欧美专区| 欧美狂野激情性xxxx在线观| 亚洲三级视频| 免费 成 人 黄 色| 国产精品一区毛片| 日韩无套无码精品| 美女视频一区在线观看| 激情文学亚洲色图| 高清不卡一区二区| 欧美深性狂猛ⅹxxx深喉| 久久综合色鬼综合色| 日本一级免费视频| 国产精品初高中害羞小美女文| 久久嫩草捆绑紧缚| 亚洲制服丝袜在线| 久久精品视频1| 欧美色爱综合网| av网站在线观看免费| 亚洲福利视频网| 精品美女视频在线观看免费软件| 中文字幕亚洲综合久久筱田步美| а√天堂8资源在线官网| 久久久久久18| 春暖花开亚洲一区二区三区| 亚洲xxxxx性| 青青草这里只有精品| 日日噜噜噜噜夜夜爽亚洲精品| 天天综合一区| 男女私大尺度视频| 日韩在线a电影| 国产999免费视频| 91免费看`日韩一区二区| 男人天堂资源网| 亚洲成人动漫精品| 特级西西444www大胆免费看| 日韩欧美在线不卡| 欧洲伦理片一区 二区 三区| 乱亲女秽乱长久久久| 精品三级久久| 成人两性免费视频| 欧美成人基地| 樱空桃在线播放| 日韩在线一二三区| 一级少妇精品久久久久久久| 国产精品亲子伦对白| 日产电影一区二区三区| 欧美片在线播放| 手机在线观看免费av| 久久亚洲国产精品| 欧美日韩大片| 国产欧美日韩亚洲| 亚洲第一天堂| 午夜视频你懂的| 99精品视频在线免费观看| 免费三级在线观看| 色成年激情久久综合| 亚洲美女性生活| 久久精品国产清自在天天线| 日韩一区二区三区在线免费观看| 国产精品区一区二区三在线播放| 欧美超碰在线| 欧美伦理片在线看| 波多野结衣在线一区| 爱爱视频免费在线观看| 欧美午夜寂寞影院| 头脑特工队2免费完整版在线观看 头脑特工队2在线播放 | 国产精品白嫩美女在线观看| 久久男人av| 一本久道高清无码视频| 国产一区二区三区在线观看免费 | 手机av在线网站| 国产精品色婷婷| 亚洲欧美日韩激情| 日韩高清免费在线| 91探花在线观看| 成人国产一区二区| 伊人久久大香线| 伊人国产精品视频| 欧美国产丝袜视频| 中文字幕69页| 亚洲免费av电影| 欧美激情护士| 久久久综合亚洲91久久98| 激情成人亚洲| fc2成人免费视频| 一区二区三区高清在线| 国产成人精品a视频| 久久国产精品网站| 色8久久久久| 国产福利片一区二区| 久久99久久精品| 亚洲精品卡一卡二| 欧美一区二区三区在线| av网址在线| 成人国产1314www色视频| 亚洲图片在线| 人妻激情偷乱频一区二区三区| 亚洲国产一区二区视频| 亚洲经典一区二区三区| 欧美极品少妇xxxxⅹ裸体艺术| jizz性欧美23| 国产视频九色蝌蚪| 久久久影院官网| 精品黑人一区二区三区| 色妞欧美日韩在线| 高清一区二区三区av| 九一免费在线观看| 成人激情av网| 无码人妻精品一区二区三区蜜桃91| 亚洲欧洲在线播放| 国产一区一一区高清不卡| 亚洲精品一卡二卡三卡四卡| 国产在线麻豆精品观看| 18精品爽视频在线观看| 亚洲国产成人av在线| 625成人欧美午夜电影| 日韩欧美在线观看强乱免费| 精品中文字幕一区二区| 少妇影院在线观看| 亚洲黄页网在线观看| 写真福利精品福利在线观看| 国产精品夜夜夜爽张柏芝| 成人国产电影网| 在线观看污污网站| 久久综合电影一区| 里番精品3d一二三区| 亚欧美在线观看| 亚洲国产乱码最新视频| 国产福利电影在线| 91精品国自产在线观看| 麻豆精品网站| 欧美日韩激情在线观看| 亚洲男人av在线| 亚洲精品国产九九九| 免费裸体美女网站| 亚洲精品亚洲人成人网| 你懂的在线观看视频网站| 91在线播放国产| 美女久久一区| 538精品在线观看| 亚洲人成电影网站色www| 高清一区二区| 韩国一区二区av| 亚洲成人免费在线观看| 在线免费看av| 久久久综合香蕉尹人综合网| 国产精品一区二区在线观看网站| 午夜精品免费观看| 久久久免费av| 亚洲va在线|