精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

一区二区三区动漫| 色香蕉成人二区免费| 成人xxxxx色| 日韩一区二区视频在线| 欧美日韩精品在线一区| 91精品国产综合久久小美女| 夜夜添无码一区二区三区| 欧美欧美欧美| 国产河南妇女毛片精品久久久 | 免费av在线网站| 国产91丝袜在线播放九色| 日本久久久久久久久久久| 国产精品成人69xxx免费视频| 狠狠一区二区三区| 欧美色电影在线| 日韩一级性生活片| 午夜老司机在线观看| 久蕉依人在线视频| 欧美黄色一区二区| 亚洲欧洲日产国产网站| 潘金莲一级淫片aaaaaaa| 伊伊综合在线| 亚洲一二三四在线观看| 伊人情人网综合| 水莓100国产免费av在线播放| 国内精品写真在线观看| 欧美自拍大量在线观看| 精品爆乳一区二区三区无码av| 精品一区二区三区在线| 亚洲成人亚洲激情| 中文字幕第66页| 电影一区二区| 在线视频欧美区| 黄色网页免费在线观看| 手机在线免费看av| 中文字幕一区二区视频| 日本高清一区| 日本护士...精品国| 国产成人在线视频网址| 国产在线观看精品一区二区三区| 午夜精品免费观看| 久久久www| 亚洲18私人小影院| 久久精品免费在线| 欧美片第1页综合| 色综合色综合久久综合频道88| 久久噜噜色综合一区二区| jlzzjlzz亚洲女人| 亚洲网站在线观看| 日本二区在线观看| 夜色77av精品影院| 亚洲欧美www| 色噜噜日韩精品欧美一区二区| 精品国产乱子伦一区二区| 欧美本精品男人aⅴ天堂| 女人高潮一级片| 国产精品成人3p一区二区三区| 欧美日韩一区二区三区四区五区| 精品久久久久久中文字幕2017| 国产一区免费看| 黑人另类精品××××性爽| 久久久久高清精品| 日韩成人在线资源| av在线播放网| 国产精品电影一区二区| 一区二区三区四区国产| 欧美18hd| 一区二区三区四区不卡在线| 成人午夜视频免费观看| 国产99re66在线视频| 午夜亚洲福利老司机| 两根大肉大捧一进一出好爽视频| 电影网一区二区| 欧美日韩一区 二区 三区 久久精品| 15—17女人毛片| 91精品一区| 日韩精品一区二区三区中文精品| 欧美一级片在线免费观看| 成人午夜网址| 亚洲欧美视频在线| 少妇视频在线播放| 国产精品久久久久久麻豆一区软件| 久久精品中文字幕一区| 久久久久久久久久久久久久久久久 | 超碰个人在线| 亚洲综合免费观看高清完整版在线| 九九热只有这里有精品| 欧美电影网站| 4438x成人网最大色成网站| 久久人妻少妇嫩草av蜜桃| 天天躁日日躁成人字幕aⅴ| 在线一区二区日韩| 青娱乐免费在线视频| 亚洲人成免费| 国产日韩中文字幕在线| 亚洲黄色一级大片| 国产偷国产偷精品高清尤物| 麻豆中文字幕在线观看| 日本在线影院| 91精品国产欧美一区二区18| 在线观看国产三级| 久久久久美女| 欧美最顶级丰满的aⅴ艳星| 欧美寡妇偷汉性猛交| 啪啪一区二区三区| 亚洲人成免费| 91系列在线观看| 亚洲三区在线观看无套内射| 亚洲欧洲成人自拍| 欧美污视频网站| 日韩激情欧美| 最近中文字幕mv在线一区二区三区四区 | 久久不射电影网| 欧美日韩一二三四区| 黄色日韩网站视频| 日本在线观看不卡| 国产伦子伦对白在线播放观看| 欧美日韩二区三区| 全黄一级裸体片| 国产精品草草| 成人网在线视频| 懂色av中文在线| 欧美特级www| 少妇伦子伦精品无吗| 99精品全国免费观看视频软件| 91av视频在线免费观看| 亚洲伦理在线观看| 亚洲丝袜自拍清纯另类| 茄子视频成人免费观看| 欧美重口另类| 久久久天堂国产精品女人| 一区二区三区免费观看视频| 欧美激情在线看| 日韩精品一区二区三区久久| youjizz亚洲| 久久精视频免费在线久久完整在线看| 亚洲中文一区二区| 久久奇米777| 男女高潮又爽又黄又无遮挡| 国产人妖ts一区二区| 欧美激情免费观看| www日本在线| 亚洲色图欧洲色图婷婷| 中文字幕精品一区二区三区在线| 禁断一区二区三区在线| 国产精品1234| 触手亚洲一区二区三区| 欧美制服丝袜第一页| 欧美成人免费大片| 天天操天天干视频| youjizz国产精品| 和岳每晚弄的高潮嗷嗷叫视频| av不卡一区二区| 久久久久久久久久久免费| 刘亦菲毛片一区二区三区| 亚洲精品免费视频| 蜜臀av粉嫩av懂色av| 欧美日韩三级电影在线| 国内一区在线| 色综合桃花网| 亚洲网站在线播放| 一区二区日韩视频| 亚洲欧美激情小说另类| 少妇熟女视频一区二区三区 | 国产日韩在线免费观看| 欧美激情一区二区三区在线| 日日躁夜夜躁aaaabbbb| 久久久久久久久久久久久久| 亚洲xxxx做受欧美| 丁香花在线影院| 国产手机视频精品| 日韩av免费播放| 亚洲欧美另类综合偷拍| 亚洲色图欧美日韩| 日韩精品一二三四| 永久久久久久| 视频二区欧美毛片免费观看| 久久久免费精品视频| 国产鲁鲁视频在线观看免费| 欧美无乱码久久久免费午夜一区| 麻豆天美蜜桃91| 99久精品国产| 欧美wwwwwww| 亚洲国产一区二区三区a毛片| 欧美理论一区二区| 久久99精品久久久野外观看| 97国产suv精品一区二区62| 久久国产精品高清一区二区三区| 欧美美女视频在线观看| 国产精品 欧美 日韩| 日本一区二区三区在线观看| 亚洲欧美一区二区三区不卡| 亚洲欧美日韩一区在线观看| 一区二区三区的久久的视频| 国产成人一二片| 国产精品一区久久| 草草影院在线| 国产无遮挡一区二区三区毛片日本| 极品尤物一区二区三区| 91国内外精品自在线播放| 精品中文字幕在线2019| 黄色av免费在线看| 日韩免费一区二区| 最新中文字幕第一页| 亚洲国产aⅴ天堂久久| 性爱在线免费视频| 91毛片在线观看| 黄色三级视频在线播放| 久久精品亚洲一区二区| 国产肉体ⅹxxx137大胆| 久久国产成人精品| 日本三级中国三级99人妇网站| 91亚洲无吗| 成人av电影天堂| 亚洲综合在线电影| 97久久精品人搡人人玩| 91精品久久久久久粉嫩| 在线亚洲午夜片av大片| 日本电影一区二区在线观看| 日韩精品综合一本久道在线视频| 在线免费a视频| 日本高清视频一区二区| 国产做受高潮漫动| 一区二区三区精密机械公司| 999福利视频| 久久精品亚洲精品国产欧美| 日本国产在线视频| 成人亚洲一区二区一| 亚洲免费在线播放视频| 美女一区二区久久| 中文字幕有码av| 日韩av一级电影| 国产女女做受ⅹxx高潮| 国产亚洲亚洲| 91免费黄视频| 亚洲成人直播| 日本精品久久久久久久久久| 欧美成人tv| 一二三四中文字幕| 99热国内精品| 中文视频一区视频二区视频三区| 成人在线免费小视频| 欧美一区亚洲二区| av一区二区在线观看| 日韩av电影免费观看| 亚洲区小说区图片区qvod按摩| 国产尤物99| 婷婷亚洲成人| 欧美极品一区| 国产真实有声精品录音| 日韩精品久久久| 欧美综合在线视频观看 | 无码国产精品一区二区色情男同| 精品日韩99亚洲| 欧性猛交ⅹxxx乱大交| 精品国产成人在线影院| 天天躁日日躁狠狠躁喷水| 亚洲精品成人久久久| 四虎影视2018在线播放alocalhost| 亚洲精品久久视频| 青青青手机在线视频观看| 亚洲天堂视频在线观看| 69久久久久| 欧美大肥婆大肥bbbbb| ririsao久久精品一区| 91产国在线观看动作片喷水| 欧美大片免费高清观看| 国产精品大片wwwwww| 96sao精品免费视频观看| 9a蜜桃久久久久久免费| 在线观看亚洲网站| 国产日韩欧美不卡| 中文字幕观看av| 亚洲永久精品国产| 日本韩国欧美中文字幕| 欧美亚洲国产一卡| 99精品在线视频观看| 亚洲变态欧美另类捆绑| 青青草手机在线| 日韩有码视频在线| 免费电影网站在线视频观看福利| 91av视频导航| 青草综合视频| 国产乱码精品一区二区三区卡 | 欧美gay囗交囗交| 国产三级精品网站| 超碰精品在线| 亚洲精品9999| 韩国在线视频一区| 欧在线一二三四区| 国产成人综合网站| av电影在线不卡| 一区二区视频在线看| 无码aⅴ精品一区二区三区| 91精品国产综合久久久久久久| 婷婷色在线视频| 色噜噜久久综合伊人一本| √8天堂资源地址中文在线| 国产精品久久婷婷六月丁香| 视频一区国产| 亚洲欧洲一二三| 最新成人av网站| 日韩成人精品视频在线观看| 97成人超碰视| 成年人av电影| 欧美午夜寂寞影院| 日本精品久久久久久| www国产91| 欧美性片在线观看| 国产一区精品在线| 91av精品| 天堂网在线免费观看| 91香蕉视频污| 伊人国产在线观看| 欧美一区二区三区视频在线观看| 国产中文字幕在线视频| 97免费中文视频在线观看| 欧美1区2区3| 伊人情人网综合| 青青草精品视频| 欧美性xxxx图片| 亚洲妇女屁股眼交7| 精品国产18久久久久久| 色阁综合伊人av| 国精产品一区一区三区四川| 精品网站在线看| 在线日韩欧美| 无码人妻精品一区二区三| 亚洲免费观看高清完整版在线| 中文字幕乱码一区二区| 亚洲色图狂野欧美| av日韩电影| 精品一区2区三区| 亚洲欧洲日本一区二区三区| 亚洲精品鲁一鲁一区二区三区| 亚洲欧美日韩国产综合| 一级黄色大毛片| 日韩中文在线观看| 精品美女一区| 亚洲一区二区三区免费观看| 三级久久三级久久| 亚洲精品色午夜无码专区日韩| 欧美视频不卡中文| 欧美成人片在线| 欧美在线免费视频| 色天天色综合| 日韩a在线播放| 91原创在线视频| 日韩欧美一级视频| 亚洲欧美一区二区激情| 成人免费影院| 神马一区二区影院| 久久99精品久久久久婷婷| 来吧亚洲综合网| 欧美一级爆毛片| 成年人国产在线观看| 激情小说网站亚洲综合网| 亚洲综合国产| 蜜桃av乱码一区二区三区| 欧美四级电影网| 黄色小网站在线观看| 成人动漫在线观看视频| 亚洲国产精品一区制服丝袜| 久久精品女同亚洲女同13| 色呦呦国产精品| 中国日本在线视频中文字幕| 成人在线激情视频| 国产精品九九| 伊人网在线视频观看| 欧美日韩成人高清| 欧美videossex另类| 免费成人深夜夜行视频| 日韩av高清在线观看| 欧美大片xxxx| 亚洲国产精品一区二区久| 久久r热视频| 伊人久久大香线蕉av一区| 粉嫩一区二区三区性色av| 亚洲天堂视频网站| 中文字幕亚洲综合久久筱田步美| 国产在线不卡一区二区三区| 婷婷五月综合缴情在线视频| 国产日韩欧美精品综合| 国产浮力第一页| 茄子视频成人在线| 亚洲一区色图| 国产黄色三级网站| 欧美日韩三级视频| 久草在线资源站手机版| 一区二区三区在线观看www| 成人性生交大片免费看中文 | 亚洲专区一区二区三区| 蜜桃av.com| 日韩av在线免费观看| 美女视频一区| 国产精品宾馆在线精品酒店| 中文字幕欧美一| 色天堂在线视频| 亚洲综合日韩在线| 日韩av中文在线观看|