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

一本色道久久综合亚洲精品不| 深夜福利一区| 国产精品久线观看视频| 91精品国产综合久久久久久丝袜| 黄页网站免费观看| 色综合综合网| 日韩欧美在线不卡| 少妇高清精品毛片在线视频| 色网站免费在线观看| 国产成人在线视频免费播放| 欧美在线不卡区| 黄色av片三级三级三级免费看| 91成人在线精品视频| 欧洲色大大久久| 18禁裸男晨勃露j毛免费观看| 成人在线免费公开观看视频| 国产成人av网站| 国产精品免费视频久久久| 久久精品www| 日韩伦理一区| 日韩电视剧在线观看免费网站| 国产精品一区二区小说| 欧美aa在线观看| 樱桃视频在线观看一区| 色综合电影网| 亚洲 小说区 图片区 都市| 国产自产视频一区二区三区| 日韩av电影免费观看高清| 全程偷拍露脸中年夫妇| 日韩夫妻性生活xx| 国产视频精品在线| 欧美极品jizzhd欧美仙踪林| 亚洲欧洲专区| 欧美日韩一区二区三区免费看| 18禁免费观看网站| 亚洲欧美成人影院| 中文字幕一区在线观看视频| 日韩国产伦理| 手机福利在线| 国产suv精品一区二区三区| 国产专区欧美专区| 在线观看免费黄色小视频| 毛片一区二区| 欧洲成人免费aa| 日本三级欧美三级| 国产在线不卡| 欧美日韩电影在线观看| 男的操女的网站| 欧美综合一区| 一区二区欧美在线| 手机毛片在线观看| 精品国产网站| 伊人久久免费视频| a天堂中文字幕| 国产91久久精品一区二区| 日韩精品免费在线| 国产呦小j女精品视频| 黄色美女久久久| 亚洲福利视频二区| 91丝袜在线观看| 久久夜色电影| 日韩精品中文字幕久久臀| 国产精品jizz| 久久综合亚洲| 在线观看亚洲区| 特级西西人体高清大胆| 久久综合成人| 欧美精品少妇videofree| 欧美爱爱小视频| 1024日韩| 日本亚洲欧洲色| 国产一级片av| 国内成人精品2018免费看| 91啪国产在线| 欧美77777| 亚洲激情女人| jizz内谢中国亚洲jizz| 国产精品毛片aⅴ一区二区三区| 粉嫩av一区二区三区免费野| 日本久久久精品视频| 国模一区二区| 日韩一区二区三区视频在线| 亚洲色图欧美另类| aaa一区二区三区| 五月天视频在线观看| 国产午夜在线观看| 中文字幕乱码久久午夜不卡| www.午夜色| 人人超在线公开视频| 午夜精品福利一区二区蜜股av| 国产一区二区在线视频播放| 激情视频在线播放| 欧美国产极品| 一区二区三区精品99久久| 国产真实乱在线更新| 99精品国产在热久久婷婷| 国产成人精品电影久久久| 亚洲天堂视频在线| 成人黄色网址在线观看| 婷婷久久五月天| 亚洲夜夜综合| 欧亚一区二区三区| 日本一区二区免费视频| 国产亚洲精品美女久久久久久久久久| 久久精品国产综合| 成人免费区一区二区三区| 美女网站色91| 精品一区二区三区免费毛片| 免费在线观看av| 精品久久久久久久中文字幕| 在线一区二区不卡| 亚洲+变态+欧美+另类+精品| 久久精品国产亚洲精品| 人人爽人人爽人人片av| 国产成人精品综合在线观看| 欧洲精品在线一区| 蜜臀av国内免费精品久久久夜夜| 在线免费观看视频一区| 成人做爰www看视频软件| 欧美特黄一级大片| 9.1国产丝袜在线观看| 国产富婆一级全黄大片| 国产精品乱人伦中文| 精品国产免费av| 一区二区三区四区精品视频| 日韩视频免费在线观看| 日本免费精品视频| 99精品视频在线播放观看| 久久久无码中文字幕久...| 日韩成人亚洲| 亚洲欧美日韩国产中文| 亚洲精品午夜久久久久久久| 国产在线精品一区二区不卡了 | 免费看黄在线看| 久久九九精品视频| 色哟哟网站入口亚洲精品| 天天干,天天干| 久久香蕉国产线看观看99| 少妇高潮喷水在线观看| 99精品国产一区二区三区2021| 日韩在线播放一区| 国产精品九九九九| 国产精品视频看| www.99av.com| 欧美日韩在线播放视频| 国产福利视频一区二区| 青青草免费在线视频| 欧美日韩一区二区三区| 国产精品久久久免费观看| 国产人成精品一区二区三| 国产精品一区视频网站| 国产第一页在线视频| 精品噜噜噜噜久久久久久久久试看| 一区二区成人免费视频| 国产成人免费视频网站| 日韩国产成人无码av毛片| 日韩精品在线免费播放| 亚洲成人网在线| 草草影院第一页| 久久精品亚洲| 日韩国产欧美一区| 国产成人精品一区二区三区在线| 中文字幕免费精品一区| 怡红院成永久免费人全部视频| 国产午夜亚洲精品午夜鲁丝片| 国产淫片av片久久久久久| 精品一区二区三区中文字幕老牛| 国产精品美女免费看| 久久bbxx| 日韩欧美在线影院| 国产午夜精品一区二区理论影院| 成人自拍视频在线| 人妻少妇被粗大爽9797pw| 国产精品免费不| 国产在线久久久| 亚洲综合图区| 亚洲精品久久7777777| 午夜久久久久久久久久影院| 国产精品国产三级国产三级人妇| 午夜免费福利网站| 影音先锋亚洲电影| 欧美少妇一区| 自拍偷拍亚洲图片| 国模gogo一区二区大胆私拍| 日韩二区三区| 在线观看91精品国产麻豆| 激情综合网五月婷婷| 久久久久久久电影| 91在线第一页| 久久aⅴ国产紧身牛仔裤| 国产又爽又黄ai换脸| 第四色中文综合网| 国产精品久久久91| 欧洲黄色一区| 一区二区三区在线播放欧美| 成人黄色免费视频| 在线观看一区日韩| 久草视频手机在线观看| 久久久激情视频| 不卡的一区二区| 国产在线1区| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲最新av网址| www五月婷婷| 在线看国产日韩| 国产一卡二卡在线播放| 国产精品视频第一区| 欧美做受高潮中文字幕| 日本成人在线不卡视频| 福利视频一区二区三区四区| 久久中文字幕av一区二区不卡| 国产一区自拍视频| 国产精品xnxxcom| 国产精品1区2区在线观看| 国产原创在线观看| 久久99久久久精品欧美 | 欧美超碰在线观看| 一区二区三区四区不卡在线 | 视频国产在线观看| 欧美一区2区视频在线观看| 无码人妻精品一区二区50| 一级日本不卡的影视| 成人做爰69片免网站| 91视视频在线观看入口直接观看www | 欧美一区亚洲二区| 久久97精品| 国产a一区二区| 激情五月综合婷婷| 国产伊人精品在线| jvid一区二区三区| 国产suv精品一区二区| 岛国av在线网站| 欧美国产视频日韩| 青草在线视频| 欧美疯狂xxxx大交乱88av| 超鹏97在线| zzijzzij亚洲日本成熟少妇| 久热免费在线观看| 在线观看视频你懂得| 欧美sss在线视频| 亚洲自拍偷拍色片视频| 国产91亚洲精品久久久| 国产精品igao视频| 成人午夜视屏| 日韩美女毛茸茸| 欧美大片免费| 日本精品久久电影| 午夜影院在线观看国产主播| 午夜精品在线视频| h片在线观看视频免费免费| 久久久噜噜噜久久久| 日本在线视频中文有码| 欧美日韩国产成人| 欧美v亚洲v| 欧美日本中文字幕| 国精一区二区三区| 97人人做人人爱| 一个人www视频在线免费观看| 欧美野外猛男的大粗鳮| 性欧美18一19sex性欧美| 国产黑人绿帽在线第一区| 久久精品女人天堂av免费观看| 热久久这里只有精品| 香蕉视频亚洲一级| 成人国产在线视频| 天堂va在线高清一区| 国产精品久久久久久久久婷婷| 超碰在线成人| 久久免费99精品久久久久久| 国产精品免费99久久久| 成人手机视频在线| 国产在线日韩| 日本熟妇人妻xxxxx| 久久99国产精品免费网站| 人妻巨大乳一二三区| 成人av免费在线播放| 亚洲精品成人无码| 中文字幕一区二区三区精华液| 午夜免费激情视频| 欧美视频中文字幕在线| 超碰在线免费97| 日韩三级在线观看| 日韩美女一级视频| 毛片精品免费在线观看| 乡村艳史在线观看| 成人免费淫片aa视频免费| 澳门久久精品| 天天综合狠狠精品| 亚洲先锋成人| mm1313亚洲国产精品无码试看| 韩国av一区二区| 成年女人免费视频| 欧美国产综合一区二区| 久久久久久久蜜桃| 欧美主播一区二区三区| 亚洲第一页综合| 永久免费看mv网站入口亚洲| 精品精品导航| 国产精品免费在线免费| 福利在线一区| 亚洲一区二区三区涩| 国产欧美日韩一区二区三区在线| 久热精品在线观看视频| 菠萝蜜视频在线观看一区| 国产wwwwxxxx| 日韩欧美精品网站| 午夜免费福利视频| 色妞在线综合亚洲欧美| 在线一区av| 豆国产97在线| 91视频一区| 毛片一区二区三区四区| 国产a级毛片一区| 污污视频网站在线免费观看| 懂色av中文一区二区三区天美| 精品国产无码AV| 色黄久久久久久| 欧美aaa大片视频一二区| 国严精品久久久久久亚洲影视| 91精品蜜臀一区二区三区在线| 久久久久久香蕉| 成人午夜免费电影| www.色小姐com| 在线播放视频一区| aaa日本高清在线播放免费观看| 91成人在线播放| 国产精品xxxav免费视频| 亚洲高潮无码久久| 韩国成人在线视频| 99成人在线观看| 欧洲中文字幕精品| 黄色在线小视频| 欧美在线激情网| 人体久久天天| 成熟丰满熟妇高潮xxxxx视频| 国产不卡在线播放| 欧美人妻精品一区二区三区| 91精品国产综合久久蜜臀| 日本www在线观看| 国产精品十八以下禁看| 久久av免费| 青青在线视频免费| 国产调教视频一区| 久久久久亚洲视频| 永久免费毛片在线播放不卡| 欧美xnxx| 一本久道久久综合狠狠爱亚洲精品| 久久综合九色综合欧美狠狠| 波多野结衣一本| 一本一道久久a久久精品综合蜜臀| 四虎精品成人影院观看地址| 欧美与欧洲交xxxx免费观看| 自拍欧美一区| 久久久精品三级| 亚洲欧洲无码一区二区三区| 国产裸体永久免费无遮挡| 欧美成人精品三级在线观看| 精品亚洲a∨一区二区三区18| 精品少妇人妻av一区二区| 国产在线精品免费av| 欧美片一区二区| 日韩国产一区三区| 成人欧美magnet| 亚洲蜜桃av| 国产在线精品视频| 久久精品www人人爽人人| 亚洲国产精品成人va在线观看| 日韩伦理精品| 西游记1978| 国产一区二区调教| 国产稀缺真实呦乱在线| 亚洲精品乱码久久久久久按摩观| 久久精品女人天堂av免费观看| 中文字幕日韩一区二区三区不卡 | 欧美成人黄色网址| 亚洲色图欧洲色图| 色呦呦中文字幕| 国产精品第一第二| 欧美成人69| 国产麻豆天美果冻无码视频| 欧美亚洲国产一区在线观看网站 | 亚洲日本在线观看| 性做久久久久久久久久| 欧美一级黄色网| 99精品在线| 国产精品300页| 欧美久久一区二区| 国产高潮在线| 一区二区三区四区视频在线| 国产成人精品三级麻豆| 六十路息与子猛烈交尾| 日韩在线观看中文字幕| 在线观看日韩www视频免费| 欧亚在线中文字幕免费| 亚洲欧美日产图| 成人免费视频播放| 中文字幕av第一页| 欧美激情中文字幕在线| 精品日韩免费| 中文字幕视频观看|