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

揭秘,一些你可能不知道的 Python 小技巧

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

[[432537]]

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

01.集合

開發人員常常忘記 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 官方文檔。

02.日歷

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

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

  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 

03.枚舉有第二個參數

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

  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)。如果你需要處理偏移量,則可以考慮這個參數。

04.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 中這種模式很常見,它可以讓代碼看起來更加整潔,尤其是當方法非常龐大,而且需要處理大量條件時。

05.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  #  
  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')  #, get enum by value  
  17. MyEnum['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 模塊在管理常量方面可以提供很大的幫助。

enum 的本地化可能有點棘手,但也可以實現,我用django快速演示一下: 

  1. from enum import Enum  
  2. from django.utils.translation import gettext_lazy as _  
  3. class MyEnum(Enum):  
  4.     FIRST ="first"  
  5.     SECOND ="second"  
  6.     THIRD ="third"  
  7.     @classmethod  
  8.     def choices(cls):  
  9.         return [  
  10.             (cls.FIRST.value, _('first')),  
  11.             (cls.SECOND.value, _('second')), 
  12.             (cls.THIRD.value, _('third'))  
  13.          ]  
  14. # And later in eg. model definiton:  
  15. some_field = models.CharField(max_length=10,choices=MyEnum.choices()) 

06.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-02-16 09:02:59

Python代碼技巧

2015-05-07 13:13:27

JavaScript JavaScript

2020-01-29 19:40:36

Python美好,一直在身邊Line

2021-01-05 11:22:58

Python字符串代碼

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裝飾器數據

2019-11-20 10:25:06

sudoLinux

2022-12-09 15:06:26

字符串Intl字符串分割

2022-12-21 08:05:04

字符串分割技巧

2023-02-27 09:20:24

絕對定位CSS

2023-01-29 09:46:47

Dialog彈窗模態

2020-11-03 09:51:04

JavaScript開發 技巧

2017-11-07 21:58:25

前端JavaScript調試技巧

2021-02-28 08:34:14

CSS outline-off負值技巧
點贊
收藏

51CTO技術棧公眾號

午夜日韩影院| 亚洲1卡2卡3卡4卡乱码精品| 亚洲激情不卡| 亚洲免费人成在线视频观看| 色综合色综合色综合色综合| 青草av在线| 久久欧美一区二区| 国产一区二区在线免费| 精品在线视频观看| 九九久久电影| 精品美女在线观看| 国产成人综合一区| 色av手机在线| 亚洲国产精品高清| 成人免费视频观看视频| 在线免费观看国产精品| 欧美区一区二| 国产一区二区三区丝袜| 又黄又爽的网站| 97人人做人人爽香蕉精品| 亚洲在线视频免费观看| 先锋影音日韩| 色视频在线观看| 国产精品一区免费在线观看| 国产成人久久精品| 国产无码精品在线观看| 国产精品99一区二区三| 亚洲久久久久久久久久| 欧美熟妇精品一区二区| 欧美一级免费| 色悠悠久久综合| 成人午夜精品久久久久久久蜜臀| 免费成人黄色| 日本一区二区久久| 日本高清一区| 欧美日韩在线中文字幕| 成人av先锋影音| 91国产丝袜在线放| 91成人国产综合久久精品| 久久午夜激情| 欧美亚洲另类在线| 亚洲国产综合久久| 欧美色图首页| 欧美成人一区二区三区电影| 国产探花视频在线| 国产探花一区在线观看| 亚洲美女激情视频| 三级黄色片网站| 国产成人高清精品免费5388| 精品国产污网站| 国产老头和老头xxxx×| 国产美女精品视频免费播放软件| 91国产视频在线观看| 国产99久久九九精品无码| av在线私库| 亚洲.国产.中文慕字在线| 男人日女人的bb| 亚洲妇熟xxxx妇色黄| 亚洲欧美国产三级| 麻豆映画在线观看| 羞羞视频在线观看不卡| 亚洲综合网站在线观看| 男人添女人荫蒂免费视频| 人人超在线公开视频| 亚洲伦在线观看| 激情成人开心网| 欧美色图天堂| 午夜精品视频一区| 黄色免费观看视频网站| 欧美日韩精品免费观看视完整| 色婷婷精品大视频在线蜜桃视频| 久草青青在线观看| 一二区成人影院电影网| 欧美精品亚洲二区| 中文字幕第66页| 都市激情亚洲| 亚洲视频欧美视频| 黄色一级片一级片| 国产精品jizz在线观看美国| 国内揄拍国内精品| 超碰超碰超碰超碰| 蜜桃av一区二区三区电影| 国产精品久久久久久久7电影| 中文字幕在线视频免费| 国产米奇在线777精品观看| 动漫3d精品一区二区三区| 视频福利在线| 中文字幕一区日韩精品欧美| 日本a在线天堂| 波多野结衣久久精品| 精品视频在线免费| 久久无码专区国产精品s| 日本欧美韩国国产| 日韩性xxxx爱| 国偷自拍第113页| 蜜桃一区二区三区在线观看| 国产精品乱码视频| 成人在线免费视频| 一区二区三区免费网站| 麻豆av免费在线| 欧美成人一级| 亚洲人成自拍网站| 免费人成在线观看| 丰满人妻一区二区三区免费视频| 国产精品538一区二区在线| 日韩黄色av网站| 欧美一级高清免费播放| 免费看污视频的网站| 国产麻豆成人传媒免费观看| 牛人盗摄一区二区三区视频 | 亚洲激情中文字幕| 青青草自拍偷拍| 亚洲黄色免费| 亚洲自拍偷拍色片视频| 黄色在线视频观看网站| 亚洲一二三四区| xxww在线观看| 香蕉久久夜色精品国产使用方法 | 精品中文字幕久久久久久| 中文字幕电影av| 日日夜夜精品免费视频| 国产亚洲欧美一区二区| 中文字幕资源网在线观看| 精品视频1区2区3区| 亚洲久久久久久| 欧美日韩精品免费观看视频完整| 国产精品丝袜久久久久久高清| 少妇又色又爽又黄的视频| 自拍偷在线精品自拍偷无码专区 | 日韩欧美精品一区二区综合视频| 亚洲国产古装精品网站| 日韩av快播网址| 欧美精品videos极品| 日韩不卡免费视频| 久久av一区二区| 丰满的护士2在线观看高清| 欧美丰满高潮xxxx喷水动漫| 91视频免费观看网站| 在线一区欧美| 精品国产电影| 理论不卡电影大全神| 精品人在线二区三区| 久草国产在线视频| 国产成人av一区二区三区在线| 亚洲欧洲日韩精品| 国产欧美自拍| 中文字幕亚洲情99在线| 中文字幕视频二区| 欧美激情一二三区| 日韩免费高清在线| 国产一区二区精品久| 日韩av电影中文字幕| 国产高清免费在线播放| 欧美在线你懂的| 一级黄色片网址| 久久超碰97人人做人人爱| 亚洲成人第一| 91精品麻豆| 欧美成在线观看| 亚洲男女视频在线观看| 亚洲一区二区三区中文字幕| 91精品啪在线观看国产| 91久久午夜| 久久婷婷人人澡人人喊人人爽| 国产美女在线一区| 91黄色在线| 精品国产制服丝袜高跟| 亚洲免费激情视频| 国产欧美日韩视频在线观看| 免费涩涩18网站入口| 欧美大人香蕉在线| 91成人理论电影| 三妻四妾的电影电视剧在线观看| 国产婷婷97碰碰久久人人蜜臀| 亚洲综合久久网| 国产精品久久777777| 中文字幕第10页| 国产精品毛片| 日本视频精品一区| 国产精品久久久久久久久久辛辛| 精品自在线视频| 天堂在线中文| 欧美羞羞免费网站| 久久久精品视频免费观看| 成人99免费视频| 午夜在线观看av| 欧美色123| 日韩久久久久久久| 欧美影院视频| 人人澡人人澡人人看欧美| 1pondo在线播放免费| 欧美刺激脚交jootjob| 51国产偷自视频区视频| 亚洲欧美偷拍三级| 好吊一区二区三区视频| 老司机精品视频在线| 亚洲国产精品无码观看久久| re久久精品视频| 国产精品免费一区二区| 久久久成人av毛片免费观看| 久久久久国产精品免费网站| 国产精品久久久久久久龚玥菲 | 国产精品91在线| caoporn免费在线| 亚洲欧美中文在线视频| 亚洲成人777777| 欧美怡红院视频| 青青草av在线播放| 国产盗摄一区二区| 欧美日韩国产首页| 日韩三级小视频| 亚洲天堂精品在线观看| 欧美狂猛xxxxx乱大交3| 国产传媒欧美日韩成人| 日日噜噜夜夜狠狠| 亚洲综合精品| 国产成人一区二区三区别| 日韩在线观看| 蜜桃91精品入口| japanese色系久久精品| 成人黄色免费片| 一二区成人影院电影网| 97久久精品国产| 羞羞电影在线观看www| 少妇高潮久久77777| 日韩大胆视频| 亚洲国产精品字幕| www.国产黄色| 欧美老女人第四色| 国产成人av免费| 日韩欧美大尺度| 国产一级免费观看| 亚洲精品欧美激情| 老司机成人免费视频| 国产精品日韩成人| 日韩一区二区a片免费观看| 99免费精品在线| 久久久久亚洲AV成人网人人小说| 捆绑调教美女网站视频一区| 色悠悠久久综合网| 久久久久久穴| 欧洲av无码放荡人妇网站| 99视频精品免费观看| 久艹在线免费观看| 亚洲视频免费| 久久99久久久久久| 伊人久久成人| 国产精品自拍片| 国产农村妇女精品一区二区| 日本欧美黄色片| 国产精品久久久亚洲一区| 国产九九九九九| 亚洲久久一区| 国产免费毛卡片| 久久经典综合| 福利在线一区二区三区| 久久久久99| www.日本一区| 狠狠色丁香婷婷综合久久片| 亚洲男人天堂2021| 国产成人免费视频 | 99精品国产一区二区三区不卡| 丰满岳乱妇一区二区| va亚洲va日韩不卡在线观看| 国产精品扒开腿做爽爽| 国产欧美日韩在线观看| 国产中文av在线| 亚洲黄色免费电影| 国产91av视频| 在线观看视频91| 中文字幕人妻互换av久久| 欧美一区二区免费视频| 黄色一级a毛片| 亚洲免费精彩视频| 日本免费在线视频| 欧美激情网站在线观看| 无遮挡爽大片在线观看视频 | 欧美视频xxxx| 69av一区二区三区| 日韩一级片免费在线观看| 亚洲男人天堂手机在线| 在线免费av网站| 欧美精品第一页在线播放| 国产在线88av| 国产精品无av码在线观看| 亚洲免费一区三区| 免费日韩av电影| 亚洲欧美在线专区| 国产精品一区二区免费在线观看| 欧美96一区二区免费视频| 亚洲911精品成人18网站| 2022国产精品视频| 人人干在线观看| 欧美日韩亚洲系列| 一区二区www| 亚洲激情电影中文字幕| 亚洲麻豆精品| 欧美性受xxx| 国产精品久一| 欧美性大战久久久久| 亚洲电影影音先锋| 黄色免费观看视频网站| 国产一区二区电影| 国产成人精品无码免费看夜聊软件| 亚洲人精品午夜| 网站在线你懂的| 在线播放麻豆| 国产成人ay| 欧美自拍资源在线| 欧美国产专区| 欧美自拍小视频| 成人免费毛片嘿嘿连载视频| 在线观看免费黄色网址| 欧美日韩美女在线观看| 国产免费黄色片| 中文字幕久久亚洲| 亚洲涩涩在线| 成人区精品一区二区| 欧美国产一级| 欧美日韩亚洲一二三| av爱爱亚洲一区| 青青草成人免费| 欧美另类高清zo欧美| 国产一区二区三区福利| 538国产精品视频一区二区| 欧美影院在线| 熟女熟妇伦久久影院毛片一区二区| 久久久成人网| 亚洲少妇18p| 亚洲一区在线观看视频| 国产毛片毛片毛片毛片| 在线色欧美三级视频| 日日av拍夜夜添久久免费| 国偷自产av一区二区三区小尤奈| 午夜激情一区| 日本55丰满熟妇厨房伦| 国产精品的网站| 中文字幕人妻一区二区三区视频| 一本久久综合亚洲鲁鲁| 偷拍中文亚洲欧美动漫| 国产一区喷水| 日韩视频在线一区二区三区| 四虎国产精品免费| 亚洲曰韩产成在线| av中文字幕在线免费观看| www.欧美精品| 亚洲精品三区| 波多野结衣激情| 国产一区二区三区四区在线观看| 国产又粗又长又黄的视频| 欧美日韩精品系列| 国产cdts系列另类在线观看| 国产欧美精品一区二区| 日韩在线观看| 免费欧美一级片| 亚洲在线视频网站| 日韩中文字幕免费在线观看| 97在线看福利| 羞羞答答一区二区| 免费激情视频在线观看| 日本在线一区二区三区| 粉嫩av一区二区三区天美传媒| 国产精品一区二区三区乱码| 久久久香蕉视频| 国产一区二区三区91| www.成人av| 在线亚洲观看| 老熟妇一区二区| 欧美精品一卡二卡| 欧美人与性动交α欧美精品图片| 99精品国产高清一区二区| 9色精品在线| 国产美女永久免费无遮挡 | 波多野结衣视频网址| 在线精品国产成人综合| www999久久| 国产视频一视频二| 国产欧美精品国产国产专区| 国产一区二区在线播放视频| 色综合色综合网色综合| 曰本一区二区三区视频| 亚洲综合激情视频| 亚洲va韩国va欧美va| 国产在线日本| 92裸体在线视频网站| 亚洲另类黄色| 亚洲综合久久av一区二区三区| 日韩美女一区二区三区| 伊人久久av| 久久免费视频2| 91在线视频官网| 91精品国自产| 26uuu久久噜噜噜噜| 欧美激情偷拍自拍| aa视频在线播放| 国产精品毛片a∨一区二区三区| 亚洲av永久纯肉无码精品动漫| 日韩免费精品视频| 欧美日本二区| 精品人体无码一区二区三区|