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

Python 2 還能走多遠?

開發
自2020年Python 2停止維護至今,5年過去了。雖然還有很多項目依舊在使用Python 2,但不可否認,無論是企業還是社區,都在努力向Python 3邁進。

作者丨cunshun

導語 自2020年Python 2停止維護至今,5年過去了。雖然還有很多項目依舊在使用Python 2,但不可否認,無論是企業還是社區,都在努力向Python 3邁進。Python 2簡潔易讀、靈活易上手、支持庫豐富,但隨著大規模使用,亦逐漸暴露出各種不足。尤其是近些年Python維護者們通過持續補丁對Python 2進行優化和修復,但其底層架構和實現上的問題依然無法完全解決。為什么要升級到Python 3?如何在TencentOS Server 4中進行升級?

最近在做TS4的升級工作,遇到比較多的問題是:

  • Python2不能用了嗎?
  • Python3有啥好處,為啥要升?
  • 有沒有什么方法一鍵升級到Python3?

這里在開頭先簡單統一回答一下:

  • Python2停止維護后積累很多的安全漏洞、bug,官方也不再修復,存在嚴重的使用風險,不建議繼續使用。
  • 升級 Python3 可以獲得更全更新的模塊支持、更強的性能、更好的編程語法、更長的維護保障等等。
  • 沒有一鍵升級的辦法,簡單的python代碼或許可以,復雜一點的項目需要搭配多種手段來適配。

接下來我們針對上面的問題,具體展開。

一、Python 2 的前世

1. Python 2的發布

在 Python 2 之前,還有一個在 1991 年 2 月 發布的 Python 0 和 在1994 年 1 月發布的 Python 1。一些核心功能在Python0 上已經具備,例如異常處理、函數的類以及各種核心數據類型,如 list、dict 和 str等等。

Van Rossum first published the code (for Python version 0.9.1) to alt.sources in February 1991. Several features of the language were already present at this stage, among them classes with inheritance, exception handling, functions, and various core datatypes such as list, dict, and str. The initial release also contained a module system borrowed from Modula-3; Van Rossum describes the module as "one of Python's major programming units". Python's exception model also resembled Modula-3's, with the addition of an else clause. In 1994 comp.lang.python, the primary discussion forum for Python, was formed.

Python1,又加入了一些函數式編程工具 lambda、map、filter 和 reduce的功能。

Python reached version 1.0 in January 1994. The major new features included in this release were the functional programming tools lambda, map, filter and reduce. Van Rossum stated that "Python acquired lambda, reduce(), filter() and map(), courtesy of a Lisp hacker who missed them and submitted working patches".

Python2,在2000年10月發布,從此一個持續了20年的版本帝國拉起帷幕。

Python 2.0, released October 2000,[8] introduced list comprehensions, a feature borrowed from the functional programming languages SETL and Haskell. Python's syntax for this construct is very similar to Haskell's, apart from Haskell's preference for punctuation characters and Python's preference for alphabetic keywords. Python 2.0 also introduced a garbage collector able to collect reference cycles.

2. Python 2的演進

下面這個表展示了整個Python的版本發布歷程,看到每個版本發布的間隔和到終止維護基本上在5年內,但是只有最后一個2.7版本,在2010年發布,又繼續維護了10年之久,甚至很多人都覺得Python2會一直維護下去。

看下面這張圖時間線更清楚一點。python2.7很長一段時間內和python3共存,所以這段時期在各大主流發行版中,都會同時提供 Python2 和 Python3 兩個Python版本。

來源:https://zh.wikipedia.org/wiki/Python%E7%9A%84%E6%AD%B7%E5%8F%B2

二、Python 2 的今生

1. Python 2 的最后一舞

Python2官方一開始宣布在2020年1月1日停止維護。https://pythonclock.org/

但是后來PSF將Python2的實際停用時間更新為2020年4月。

https://www.python.org/psf/press-release/pr20191220/

這一舉措引起了一些Python使用者的不滿,甚至發起了請愿,要求取消2.7.18版本的發布。

https://discuss.python.org/t/petition-abandon-plans-to-ship-a-2-7-18-in-april/2946

后來官方解釋的說法是2.7.18的代碼倉在2020.1.1已經被凍結,但是版本發布在4月。

不管怎樣,這個巨無霸版本最終還是在2020年落下帷幕,2.7.18,作為Python2的最后一個版本,在2020年4月發布,同月,Python2.7的維護者在2020年4月發布一封郵件,正式和Python2道別,并呼吁開發者從Python2遷移到Python3。

PSF官網也發布Python2停止維護的公告:https://www.python.org/doc/sunset-python-2/

2. 大勢所趨?

雖然社區呼吁大家切換到Python3,那實際情況是什么樣子呢?Python官方給出了一些項目的Python使用時間線。

在Python公布出來的一些項目名單中,可以看到很多項目(sphinx, pillow,pandas,numpy,apache spark等),在20年后的新版本,就不再支持python2,而僅支持Python3了(綠色表示兼容python2,藍色表示只支持python3)。包括后續新增的項目,都會優先基于python3來構建。

提示:更多項目宣布后續會不再支持python2: https://python3statement.github.io/

三、Python 2不能用了嗎?

Python2已經挺好了,為什么還要造一個差別這么大的Python3?我的項目在Python2上跑的好好的,為什么要費勁巴拉地適配Python3?

估計大多數人都會有上面這些疑問,Python維護者們也知道要讓開發者從2切到3,就必須解釋這些問題,如果有時間,大家可以去看看Python維護者們針對 Python3 存在的一些文章和郵件,里面有很多細節。這里主要列出幾個普通開發者遇到最多的問題:

3. Python 2 的文本和二進制處理混亂

Python2中的 str 同時承擔了 “文本”和“字節”兩種語義,才導致了 Python 3 的改進:明確區分文本(str)和字節(bytes)。例如下面這個字符串,在Python3里,他只是表示由“a”、“b”、“c”和“d”組成的字符串。

'abcd'

但是在Python2里他卻可能是代表 97、98、99 和 100 的字節,所以在Python2里,你既可以把他當字節用也可以把他當字符串用,很容易出錯。但是在Python3中,做了嚴格的區分,這樣就可以保證代碼中使用不會出現問題。

操作

Python2行為

Python3行為

'abcd' + 'efg'

合法,結果是'abcd' + 'efg'

合法,結果是'abcd' + 'efg'

'abcd' + b'efg'

合法,結果是'abcd' + 'efg'

報錯,類型不兼容

b'abcd'

等價于'abcd'

bytes類型

2. Python 2 對Unicode支持不足

從上面的python版本生命線可以看到,python在1991年2月第一次發布,早于 1991 年 10 月發布的 Unicode 標準第一卷。所以Python2開始只支持ASCII,后續才加入了對Unicode的支持。這就導致在Python2里面處理Unicode比較麻煩,你要處理中文、日文等非 ASCII 字符,必須用 unicode 類型,并且要手動編碼/解碼,一不留神就會出錯。

# Python 2 
s = '你好'  # 這是utf-8編碼的字節串,不是Unicode字符串 
print(type(s))  # <type 'str'> 
print(s)        # 可能亂碼,或者報錯 

# 正確做法 
u = u'你好'     # Unicode字符串 
print(type(u))  # <type 'unicode'> 
print(u)        # 正常顯示

下面是一個demo,展示了Python2里面如何對字符串進行編解碼。

# 假設 s = '中文',文件頭聲明了 utf-8 
s = '中文'              # s 是 str 類型,utf-8 編碼的字節串 
u = s.decode('utf-8')   # u 是 unicode 類型 

print(type(u))          # <type 'unicode'> 

# 反過來 
s2 = u.encode('utf-8')  # s2 是 str 類型 
print(type(s2))         # <type 'str'>

參考:https://snarky.ca/why-python-3-exists/

四、Python 3有啥好處?

1. Python 3的優化

Python3,在性能方面做了很多改進,下面列出了其中一些。

(1) 對象的 __dict__ 共享鍵存儲(PEP 412, Python 3.3)

  • 多個同類型對象的 __dict__(屬性字典)可以共享鍵的存儲空間。
  • 優點:當你創建大量自定義對象時,節省內存并提升訪問速度。

(2) OrderedDict 用 C 實現(Python 3.5)

  • collections.OrderedDict 由純 Python 實現變為 C 實現。
  • 優點:性能提升 4 到 100 倍,插入和遍歷更快。

(3) GIL(全局解釋器鎖)行為更可預測(Python 3.2)

  • 舊版 GIL 按 Python 字節碼數讓出控制權,耗時不穩定。
  • 新版 GIL 按時間片(默認5ms)讓出控制權,線程調度更公平、可預測。

(4) io 庫用 C 重寫(Python 3.1)

  • Python 2.7 的 io 庫是純 Python 實現,Python 3.1 起用 C 實現。
  • 優點:文件和流的讀寫操作更快。

參考:https://eev.ee/blog/2016/07/31/python-faq-why-should-i-use-python-3/

2. 業內的應用實例

同時,業內已經有不少企業通過 Python2 切換到 Python3 獲得了性能和資源利用上的提升。例如 Instagram,通過適配Python3,獲得了 12% CPU 性能提升以及 30% 的內存節省效果。

數據來源:https://www.youtube.com/watch?v=66XoCk79kjM&t=2346s

3. benchmark實測

Python 官方在版本發布時,會對 Python 版本進行性能測試:

Python 3.11 的速度比 Python 3.10 快 10-60%。在平均狀況下,在標準基準測試(standard benchmark suite)中可見1.25倍的加速效果。

https://docs.python.org/zh-cn/3.11/whatsnew/3.11.html#summary-release-highlights

雖然實際到業務環境中的性能提升可能沒有 benchmark 提升那么大(受代碼影響),但是在數據上一定是Python3的性能表現更好。

我們也基于一些Python常用軟件跑了benchmark測試套,結果顯示單純基礎性能 Python3 也比 Python2 要強很多。

TS4(TencentOS Server 4) 搭載了新版本 Python3,而 TS2(TencentOS Server 2) 則還是使用 Python2

4. 更多、更好的模塊支持

除了上面提到一些老組件后續不會支持python2,只支持python3之外。因為近兩年AI勢頭興起,AI相關的組件Python占大頭,這些Python組件大部分也只支持Python3。

(1) Pytorch

例如Pytorch,可以看到Pytorch不僅標注了需要Python3.9以上版本,并且也在刪除了原來的python2兼容代碼:https://github.com/pytorch/pytorch?tab=readme-ov-file#prerequisites

# pytorch
If you are installing from source, you will need:
- Python 3.9 or later

(2) vllm

包括vllm也只支持Python3。https://github.com/vllm-project/vllm/blob/main/pyproject.toml

[project]
name = "vllm"
...
classifiers = [
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
...
]
requires-python = ">=3.9,<3.13"
dynamic = [ "version", "dependencies", "optional-dependencies"]

五、如何切換到Python 3

1. python 2項目適配到python 3的方法(推薦)

(1) python2移植python3指南:https://portingguide.readthedocs.io/en/latest/index.html

(2) python2兼容python3工具:

  • https://github.com/PyCQA/modernize
  • https://github.com/benjaminp/six

(3) python2->python3轉化工具:https://docs.python.org/3.12/library/2to3.html

上面提到的 modernize 工具,一樣也有從將代碼從python2自動轉化為python3的功能,只是后者會偏向于做一些能夠兼容python2的修改。

(4) 格式和錯誤檢查:https://github.com/astral-sh/ruff

(5) 類型檢查:https://github.com/microsoft/pyright

(6) 測試套:

  • 因為工具轉化不是100%覆蓋,所以可能還需要一定的測試用例保證功能正常
  • 可以用pytest等測試用例來進一步保證代碼正常

遷移思路:

  • 如果決心遷移到Python3,可以好好看一遍Python2->Python3的指南,然后再通過2to3/modernize轉換,轉換之后通過ruff/pyright工具進行二次確認檢查,最后運行自己的測試代碼保證功能正常。
  • 如果還是想先用Python2過渡,可以通過python-six工具兼容一些Python2和Python3之間的不兼容庫接口。

2. TS 4上安裝運行Python遷移工具

TencentOS Server 4下運行含有python2語法的代碼會報錯,下面的鏈接中的教程可以將python2的代碼轉化為python3。

https://docs.python.org/zh-cn/3.7/library/2to3.html

其中2to3這個命令在TencentOS Server 4中由 python3-devel 提供,要使用該命令需要安裝此包。

dnf install python3-devel -y

六、尾聲

來自本文作者的話:

其實新舊版本更替,是所有軟件的必經之路。我們在開發TencentOS Server 4發行版時,也經歷了類似的歷程

從2000年到2020年這20年間,正是互聯網爆發式發展的時期。數以萬計的項目看中了Python簡潔易讀、靈活易上手、支持庫豐富的特點,選擇基于Python構建開發。許多大公司也積累了大量的Python代碼。作為這個時代的產物,Python 2被廣泛使用,甚至伴隨了許多Python開發者的職業生涯。

隨著大規模的應用,Python維護者意識到了 Python2 本身的一些不足,雖然在近20年的時間里一直通過補丁的方式來對Python2的進行優化修補,但是底層架構和實現上的問題難以徹底解決的。所以Python維護者們依然決定開啟新的Python項目,來從根本上解決這些問題。

正是因為軟件飛速發展,老版本系統存在一些從根本上無法解決的問題,可能是軟件本身,也可能是一些政治經濟上的原因,所以才會有版本升級的存在。業務一旦跑起來就不想升級很正常,但是在技術更迭的大潮流下,不斷更新接納新的事物也是業務能持續發展的立身之本,畢竟誰都不想做那個被拍在沙灘上的人是吧。

責任編輯:趙寧寧 來源: 騰訊技術工程
相關推薦

2021-12-30 07:43:44

AI 人工智能大模型

2018-05-11 10:36:47

2020-11-24 19:33:20

Wi-Fi 6Wi-Fi 7頻帶

2013-01-22 13:02:41

HTML5canvasWeb

2019-04-09 20:45:01

區塊鏈AI人工智能

2022-06-20 21:52:38

元宇宙數字藏品

2013-01-24 10:26:04

HTML5HTML 5HTML5的未來

2015-08-24 10:43:42

2012-09-13 09:38:20

Win 8應用程序

2013-08-02 13:47:58

智能Android

2010-03-24 16:44:31

2021-09-24 15:37:21

人工智能

2012-10-10 13:55:53

IT技術周刊

2024-01-09 07:29:05

Argo代碼庫應用程序

2009-09-14 09:40:48

微軟Linux代碼

2019-05-22 09:48:29

區塊鏈智慧城市

2012-12-04 17:37:58

2012-04-01 09:31:05

2012-11-02 13:56:28

云計算IT

2018-01-28 15:22:03

DockerKubernetes容器
點贊
收藏

51CTO技術棧公眾號

91精品视频免费在线观看| 欧美中日韩免费视频| 国产欧美亚洲精品| 男女激情无遮挡| 91麻豆成人精品国产| 男男gay无套免费视频欧美| ●精品国产综合乱码久久久久 | 亚洲综合在线网站| 天堂在线资源8| 亚洲欧美偷拍自拍| 欧美日韩一区二区在线观看 | 亚洲三区在线播放| 亚洲无线视频| 日韩一二三区不卡| 久久99国产精品一区| 欧美高清69hd| 九九视频精品全部免费播放| 欧美日韩免费网站| 国产一区在线免费观看| 国产乡下妇女做爰毛片| 免费观看黄网站| 成年人二级毛片| 欧美97人人模人人爽人人喊视频| 久久精品一区四区| 国产精品第一第二| 精品人妻中文无码av在线| 亚洲涩涩在线| 久久精品一区二区三区不卡| 欧美一区二区影院| 精品无码人妻一区二区免费蜜桃 | 亚洲春色一区二区三区| 欧美激情自拍| 精品国产91亚洲一区二区三区婷婷| 公共露出暴露狂另类av| 国产深喉视频一区二区| 欧美日韩一区二区高清| 精品免费一区二区三区| 国产精品永久在线| 韩日午夜在线资源一区二区| 国产精品九九九九九九| 综合成人在线| 亚洲成a人片在线不卡一二三区| 韩日午夜在线资源一区二区| 69亚洲精品久久久蜜桃小说| 欧美特黄一级大片| 欧美一级免费大片| 91|九色|视频| 国产+成+人+亚洲欧洲自线| 亚洲尤物在线视频观看| 国产精品自拍首页| 一区二区三区影视| 美女毛片在线观看| 懂色aⅴ精品一区二区三区| 国产精品不卡在线观看| 亚洲japanese制服美女| 国产一级在线观看视频| 国产剧情一区| 欧美日韩色综合| 国产91在线亚洲| 天堂а在线中文在线无限看推荐| 日韩精品视频网站| www.xxxx欧美| 中国一级特黄录像播放| 成人精品三级| 在线观看不卡的av| 成人一区二区av| 男人的午夜天堂| 综合久久成人| 欧洲精品在线观看| 麻豆映画在线观看| 毛片在线能看| 菠萝菠萝蜜在线视频免费观看| 国产专区一区| 国产一区二区三区直播精品电影| 午夜大片在线观看| 亚洲色图官网| 一区二区三区 在线观看视频| 蜜桃av久久久亚洲精品| www.97超碰| 水野朝阳av一区二区三区| 欧美国产在线电影| 在线免费看视频| 日韩av资源网| 姬川优奈av一区二区在线电影| 久久久精品成人| 99re热久久这里只有精品34| 国产一区不卡在线| 伊人手机在线| 婷婷色一区二区三区| av在线三区| 亚洲播播91| 丰满岳乱妇一区二区三区| 国产精品99久久久久久人| 国产精品白嫩白嫩大学美女| 欧美日韩一区二区综合| 亚洲国产成人91精品| 中文 日韩 欧美| av成人免费看| 欧美视频精品一区| av在线观看地址| av在线免费网址| 国产精品国产a级| 欧洲精品在线一区| 四虎影院在线播放| 99久久国产综合精品色伊| 2014国产精品| 成人av一区二区三区在线观看 | 亚洲国产精品黑人久久久| 国产精品一级久久久| 99视频免费看| 国产专区综合网| 成人免费网站在线观看| 在线中文字幕网站| 免费在线观看成人| 国产精品香蕉国产| 中文字幕精品无码亚| 日韩高清国产一区在线| 国产成人一区二区三区小说| 亚洲欧美偷拍一区| 久久精品在线| 国产精品91久久久| 在线播放一级片| 久久99国产精品免费网站| 成人国产精品日本在线| 国产又粗又大又爽| 激情丁香综合五月| 91免费看蜜桃| 可以免费看毛片的网站| 99久久综合狠狠综合久久| 国内精品嫩模av私拍在线观看| 色偷偷av一区二区三区乱| 老司机福利在线观看| 99国产精品免费视频观看| 精品国产依人香蕉在线精品| 一区二区视频免费看| 欧美日韩国产综合网| 久久免费少妇高潮久久精品99| 国产对白videos麻豆高潮| 国产精品丝袜xxxxxxx| 日韩av电影免费观看高清| 中文字幕人妻色偷偷久久| 狠狠色狠狠色综合日日91app| 亚洲一区亚洲二区| 婷婷伊人综合中文字幕| 国产午夜一区二区三区| 一区二区在线中文字幕电影视频| 午夜av在线播放| 午夜视频在线观看一区二区三区| 色欲av无码一区二区人妻| 韩国精品主播一区二区在线观看| 欧美高清视频一二三区| 欧美一级片黄色| 成人同人动漫免费观看| 欧美人在线视频| 中文字幕69页| 国产麻豆精品在线| 久久久久久99| 国产高清一区二区三区视频| 精品成人国产在线观看男人呻吟| www亚洲成人| 亚洲天堂中文字幕在线观看| 亚洲免费高清视频| 精品99久久久久成人网站免费| 99精品福利视频| 91免费视频网站| 日韩精品视频无播放器在线看| 国产精品久久久久久久久图文区| 无码人妻少妇伦在线电影| 成人午夜亚洲| 亚洲毛片在线看| 朝桐光av在线| 日本免费新一区视频| 国内精品视频免费| 草莓福利社区在线| 91黄视频在线| 中文字幕乱码一区| 外国成人激情视频| 国产www精品| 黑人精品一区二区三区| 国产精品久久久久久妇女6080 | 国产伦精品一区二区三区高清 | 国产偷国产偷亚洲高清人白洁| 91亚洲精品国产| 国产福利91精品一区二区| 亚洲第一视频网站| 91视频免费在线看| 黄色精品一二区| 亚洲啪啪av| 亚洲人体视频| 亚洲精品国偷自产在线99热 | 天天做天天爱天天爽综合网| 青青草原成人在线视频| 日本黄色不卡视频| 一区二区三区色| 亚洲欧美日韩一二三区| 欧洲毛片在线视频免费观看| 18一19gay欧美视频网站| 黄色一级大片在线免费看国产一| 亚洲精品午夜久久久| 在线观看免费污视频| 国产乱码精品一区二区亚洲| 2019亚洲日韩新视频| 网站黄在线观看| 亚洲成人免费视频| 在线黄色免费网站| 亚洲人成久久| 精品国产二区在线| 国产www视频在线观看| 日韩欧美高清一区| 免费一级肉体全黄毛片| 国产精品一区2区| 亚洲天堂第一区| 精品一区二区三区中文字幕视频 | av在线影院| 欧美xxxx在线观看| 亚洲精品午夜久久久久久久| 成人av综合一区| 久草热视频在线观看| 欧美调教网站| 日本午夜精品理论片a级appf发布| 日韩av视屏| 色婷婷激情综合| 亚洲av无码国产精品麻豆天美| 日韩精品久久久久久| 色阁综合av| 91精品国产一区二区在线观看| 久久香蕉国产线看观看网| 国产日韩欧美一区二区东京热 | 91国内外精品自在线播放| 在线精品国产成人综合| 一区二区日韩在线观看| 亚洲美女免费视频| 亚洲图片欧美另类| 亚洲女优在线| 午夜一区二区三视频在线观看| 精品女同一区二区三区在线观看| 久久精品免费电影| 性一交一乱一伧老太| 五月激情综合色| 日韩丰满少妇无码内射| 精品一区二区三区欧美| 成人小视频在线观看免费| 日本欧美高清| 成人av番号网| 91吃瓜在线观看| 在线观看日韩欧美| 国模无码一区二区三区| 在线中文字幕一区二区| 国产午夜手机精彩视频| 99热这里都是精品| 午夜激情av在线| 亚洲视频精品| 日韩在线国产| 一区二区三区国产好| 欧美亚洲另类在线| 久久bbxx| 日韩久久精品成人| 在线视频 91| 午夜精品免费在线观看| 少妇愉情理伦三级| 成人精品视频一区二区三区尤物| 精品少妇无遮挡毛片| 欧美视频成人| 亚洲春色在线视频| 久久夜色精品国产噜噜av小说| 国产精品女视频| 阿v视频在线| 久久久999成人| 黄色免费在线播放| 日韩精品一区二区三区四区| 免费黄色一级大片| 亚洲va欧美va人人爽午夜| 国产三级aaa| 久久久久国产精品麻豆| 无码成人精品区在线观看| 久久er精品视频| 中文字幕日本最新乱码视频| 欧美在线免费| 一区二区三区国| 国内精品久久久久久久久电影网| 国产精品我不卡| 欧美不卡在线观看| 国产精品视频xxxx| 一区二区三区电影大全| 久久久久久69| a视频在线播放| 中文字幕免费国产精品| 欧美男男同志| 日韩国产精品一区| 免费观看黄色av| 欧美一区二区三区视频| 国产天堂第一区| 色婷婷综合久久久久中文| 在线观看亚洲欧美| 亚洲高清一区二区三区| 久草资源在线视频| 一区二区三区四区在线播放| 最新av电影网站| 国产精品美女一区二区| 成人免费视频入口| 久久九九久精品国产免费直播| 最新在线黄色网址| 99久久婷婷国产综合精品电影 | 久久日韩粉嫩一区二区三区| 少妇精品一区二区| 99久久精品免费看国产免费软件| 中文字幕99页| 成人美女视频在线观看| 国产a级片视频| 波多野结衣一区二区三区| jjzz黄色片| 成人精品国产福利| 国产亚洲色婷婷久久99精品91| a级精品国产片在线观看| 欧美xxxxx精品| 99精品国产热久久91蜜凸| 粉嫩av懂色av蜜臀av分享| 97se亚洲国产综合自在线不卡| 大乳护士喂奶hd| 91偷拍与自偷拍精品| 久久精品老司机| 国产午夜亚洲精品午夜鲁丝片 | 亚洲精品乱码久久久久久久久 | 亚洲色图欧美| 18黄暴禁片在线观看| 1024成人| 色婷婷综合久久久久中文字幕| 老司机午夜精品视频| 亚洲 欧美 日韩系列| 精品制服美女丁香| 第一页在线视频| 91天堂素人约啪| 91禁男男在线观看| 亚洲欧美日韩久久| 国产大片aaa| 在线视频国产一区| 国产乱码精品一区二区三区精东| 精品美女一区二区三区| 毛片网站在线| 久久精品精品电影网| av在线最新| 国产精品ⅴa在线观看h| av在线亚洲一区| 国产一区二区在线网站| 欧美色女视频| 国产1区2区3区中文字幕| 国产一区91| 超碰成人在线播放| 成人一级黄色片| 免费看91的网站| 一区二区在线观看视频在线观看| 美日韩一二三区| 91麻豆精品国产91| 三级无遮挡在线观看| xx视频.9999.com| 女人让男人操自己视频在线观看| 国产精品影院在线观看| 欧美午夜寂寞| 97精品国产97久久久久久粉红| 男人的天堂亚洲| 青娱乐精品在线| 久久久亚洲精品一区二区三区| 亚洲国产精品久| 欧日韩精品视频| 天堂在线资源8| 九九热最新视频//这里只有精品 | 7777精品伊久久久大香线蕉语言| 中文字幕精品影院| 男人日女人的bb| 日日摸夜夜添夜夜添精品视频 | 中文无码日韩欧| 深夜福利成人| 国产精品视频| 国产白袜脚足j棉袜在线观看| 亚洲天堂网中文字| 日韩精品成人免费观看视频| 精品国产一区二区三区久久影院| 91最新在线| 日韩免费在线播放| 理论片一区二区在线| 精品免费久久久久久久| 久久精品国产久精国产| www.狠狠爱| 日韩欧美在线视频观看| 欧美自拍偷拍第一页| 欧美成人激情视频| 亚洲影视资源| 四虎影院一区二区三区| 久久性色av| 亚洲专区区免费| 精品久久久久久久久国产字幕 | 亚洲欧美日韩图片| 理论不卡电影大全神| 成人在线视频电影| 欧美激情第8页| 日本一二三区在线| 亚洲乱码国产乱码精品精可以看| 国产又大又长又粗| 日韩中文第一页| 欧美91在线|欧美|