<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          24 個(gè)好用到爆的 Python 實(shí)用技巧!

          共 8699字,需瀏覽 18分鐘

           ·

          2021-11-16 20:02


          在這里,我嘗試以 A - Z 開(kāi)頭的格式分享這些技巧中的一些,并且在本文中簡(jiǎn)單介紹這些方法,如果你對(duì)其中一個(gè)或多個(gè)感興趣,你可以通過(guò)文末參考資料查看官方文檔。希望對(duì)你能有所幫助。

          A - Z?

          all or any

          Python 語(yǔ)言如此流行的眾多原因之一,是因?yàn)樗哂泻芎玫目勺x性和表現(xiàn)力。

          人們經(jīng)常開(kāi)玩笑說(shuō) Python 是可執(zhí)行的偽代碼。當(dāng)你可以像這樣寫(xiě)代碼時(shí),就很難反駁。

          x?=?[True,?True,?False]
          if?any(x):
          ????print("至少有一個(gè)True")
          if?all(x):
          ????print("全是True")
          if?any(x)?and?not?all(x):
          ????print("至少一個(gè)True和一個(gè)False")

          bashplotlib

          你有沒(méi)有想過(guò)在控制臺(tái)中繪制圖形嗎?

          Bashplotlib 是一個(gè) Python 庫(kù),他能夠幫助我們?cè)诿钚?粗曠的環(huán)境)中繪制數(shù)據(jù)。

          #?模塊安裝
          pip?install?bashplotlib
          #?繪制實(shí)例
          import?numpy?as?np
          from?bashplotlib.histpgram?import?plot_hist
          arr?=?np.ramdom.normal(size=1000,?loc=0,?scale=1)
          plot_hist(arr,?bincount=50)

          collections

          Python 有一些很棒的默認(rèn)數(shù)據(jù)類(lèi)型,但有時(shí)它們的行為并不完全符合你的期望。

          幸運(yùn)的是,Python 標(biāo)準(zhǔn)庫(kù)提供了?collections 模塊[1]。這個(gè)方便的附加組件為你提供了更多的數(shù)據(jù)類(lèi)型。

          from?collections?import?OrderedDict,?Counter
          #?記住鍵的添加順序!
          x?=?OrderedDict(a=1,?b=2,?c=3)
          #?統(tǒng)計(jì)每個(gè)字符出現(xiàn)的頻率
          y?=?Counter("Hello?World!")

          dir

          有沒(méi)有想過(guò)如何查看 Python 對(duì)象內(nèi)部并查看它具有哪些屬性?在命令行中輸入:

          dir()?
          dir("Hello?World")?
          dir(dir)

          當(dāng)以交互方式運(yùn)行 Python 以及動(dòng)態(tài)探索你正在使用的對(duì)象和模塊時(shí),這可能是一個(gè)非常有用的功能。在這里閱讀更多functions[2]相關(guān)內(nèi)容。

          emoji

          emoji[3]?是日本在無(wú)線通信中所使用的視覺(jué)情感符號(hào),繪指圖畫(huà),文字指的則是字符,可用來(lái)代表多種表情,如笑臉表示笑、蛋糕表示食物等。在中國(guó)大陸,emoji通常叫做“小黃臉”,或者直稱(chēng)emoji。

          #?安裝模塊
          pip?install?emoji
          #?做個(gè)嘗試
          from?emoji?import?emojize
          print(emojize(":thumbs_up:"))

          ??

          from __future__ import

          Python 流行的結(jié)果之一,總是有新版本正在開(kāi)發(fā)中。新版本意味著新功能 —— 除非你的版本已過(guò)時(shí)。

          不過(guò)不要擔(dān)心。使用該__future__模塊[4]可以幫助你用Python的未來(lái)版本導(dǎo)入功能。從字面上看,這就像時(shí)間旅行、魔法或其他東西。

          from?__future__?import?print_function
          print("Hello?World!")

          geogy

          地理,對(duì)大多數(shù)程序員來(lái)說(shuō)是一個(gè)具有挑戰(zhàn)性的領(lǐng)域。在獲取地理信息或者繪制地圖時(shí),也會(huì)遇到不少問(wèn)題。這個(gè)geopy 模塊[5]讓地理相關(guān)內(nèi)容變得非常容易。

          pip?install?geopy

          它通過(guò)抽象一系列不同地理編碼服務(wù)的 API 來(lái)工作。通過(guò)它,你能夠獲得一個(gè)地方的完整街道地址、緯度、經(jīng)度甚至海拔高度。

          還有一個(gè)有用的距離類(lèi)。它以你偏好的測(cè)量單位計(jì)算兩個(gè)位置之間的距離。

          from?geopy?import?GoogleV3
          place?=?"221b?Baker?Street,?London"
          location?=?GoogleV3().geocode(place)
          print(location.address)
          print(location.location)

          howdoi

          當(dāng)你使用terminal終端編程時(shí),通過(guò)在遇到問(wèn)題后會(huì)在StackOverflow上搜索答案,完后會(huì)回到終端繼續(xù)編程,此時(shí)有時(shí)會(huì)不記得你之前查到的解決方案,此時(shí)需要重新查看StackOverflow,但又不想離開(kāi)終端,那么此時(shí)你需要用到這個(gè)有用的命令行工具howdoi[6]

          pip?install?howdoi

          無(wú)論你有什么問(wèn)題,都可以問(wèn)它,它會(huì)盡力回復(fù)。

          howdoi?vertical?align?css
          howdoi?for?loop?in?java
          howdoi?undo?commits?in?git

          但請(qǐng)注意——它會(huì)從 StackOverflow 的最佳答案中抓取代碼。它可能并不總是提供最有用的信息......

          howdoi?exit?vim

          inspect

          Python 的inspect模塊[7]非常適合了解幕后發(fā)生的事情。你甚至可以調(diào)用它自己的方法!

          下面的代碼示例inspect.getsource()?用于打印自己的源代碼。?inspect.getmodule()?還用于打印定義它的模塊。

          最后一行代碼打印出它自己的行號(hào)。

          import?inspect
          print(inspect.getsource(inspect.getsource))
          print(inspect.getmodule(inspect.getmodule))
          print(inspect.currentframe().f_lineno)

          當(dāng)然,除了這些微不足道的用途,inspect 模塊可以證明對(duì)理解你的代碼在做什么很有用。你還可以使用它來(lái)編寫(xiě)自文檔化代碼。

          Jedi

          Jedi 庫(kù)是一個(gè)自動(dòng)完成和代碼分析庫(kù)。它使編寫(xiě)代碼更快、更高效。

          除非你正在開(kāi)發(fā)自己的 IDE,否則你可能對(duì)使用Jedi?[8]作為編輯器插件比較感興趣。幸運(yùn)的是,這已經(jīng)有可用的負(fù)載!

          **kwargs

          在學(xué)習(xí)任何語(yǔ)言時(shí),都會(huì)有許多里程碑。使用 Python 并理解神秘的**kwargs語(yǔ)法可能算作一個(gè)重要的里程碑。

          字典對(duì)象前面的雙星號(hào)**kwargs[9]允許你將該字典的內(nèi)容作為命名參數(shù)傳遞給函數(shù)。

          字典的鍵是參數(shù)名稱(chēng),值是傳遞給函數(shù)的值。你甚至不需要調(diào)用它kwargs!

          dictionary?=?{"a":?1,?"b":?2}
          def?someFunction(a,?b):
          ????print(a?+?b)
          ????return
          #?這些做同樣的事情:
          someFunction(**dictionary)
          someFunction(a=1,?b=2)

          當(dāng)你想編寫(xiě)可以處理未預(yù)先定義的命名參數(shù)的函數(shù)時(shí),這很有用。

          列表(list)推導(dǎo)式

          關(guān)于 Python 編程,我最喜歡的事情之一是它的列表推導(dǎo)式[10]

          這些表達(dá)式可以很容易地編寫(xiě)非常順暢的代碼,幾乎與自然語(yǔ)言一樣。

          numbers?=?[1,2,3,4,5,6,7]
          evens?=?[x?for?x?in?numbers?if?x?%?2?is?0]
          odds?=?[y?for?y?in?numbers?if?y?not?in?evens]
          cities?=?['London',?'Dublin',?'Oslo']

          def?visit(city):
          ????print("Welcome?to?"+city)
          ????
          for?city?in?cities:
          ????visit(city)

          map

          Python 通過(guò)許多內(nèi)置功能支持函數(shù)式編程。最有用的map()功能之一是函數(shù)——尤其是與lambda 函數(shù)[11]結(jié)合使用時(shí)。

          x?=?[1,?2,?3]?
          y?=?map(lambda?x?:?x?+?1,?x)
          #?打印出?[2,3,4]
          print(list(y))

          在上面的示例中,map()將一個(gè)簡(jiǎn)單的?lambda?函數(shù)應(yīng)用于x. 它返回一個(gè)映射對(duì)象,該對(duì)象可以轉(zhuǎn)換為一些可迭代對(duì)象,例如列表或元組。

          newspaper3k

          如果你還沒(méi)有看過(guò)它,那么準(zhǔn)備好被Python newspaper module?[12]模塊震撼到。它使你可以從一系列領(lǐng)先的國(guó)際出版物中檢索新聞文章和相關(guān)的元數(shù)據(jù)。你可以檢索圖像、文本和作者姓名。它甚至有一些內(nèi)置的 NLP 功能[13]

          因此,如果你正在考慮在下一個(gè)項(xiàng)目中使用?BeautifulSoup?或其他一些 DIY 網(wǎng)頁(yè)抓取庫(kù),使用本模塊可以為你自己節(jié)省不少時(shí)間和精力。

          pip?install?newspaper3k

          Operator overloading

          Python 提供對(duì)運(yùn)算符重載的[14]支持,這是讓你聽(tīng)起來(lái)像一個(gè)合法的計(jì)算機(jī)科學(xué)家的術(shù)語(yǔ)之一。

          這實(shí)際上是一個(gè)簡(jiǎn)單的概念。有沒(méi)有想過(guò)為什么 Python 允許你使用+運(yùn)算符來(lái)添加數(shù)字以及連接字符串?這就是操作符重載的作用。

          你可以定義以自己的特定方式使用 Python 的標(biāo)準(zhǔn)運(yùn)算符符號(hào)的對(duì)象。并且你可以在與你正在使用的對(duì)象相關(guān)的上下文中使用它們。

          class?Thing:
          ????def?__init__(self,?value):
          ????????self.__value?=?value
          ????def?__gt__(self,?other):
          ????????return?self.__value?>?other.__value
          ????def?__lt__(self,?other):
          ????????return?self.__value?something?=?Thing(100)
          nothing?=?Thing(0)
          #?True
          something?>?nothing
          #?False
          something?#?Error
          something?+?nothing

          pprint

          Python 的默認(rèn)print函數(shù)完成了它的工作。但是如果嘗試使用print函數(shù)打印出任何大的嵌套對(duì)象,其結(jié)果相當(dāng)難看。這個(gè)標(biāo)準(zhǔn)庫(kù)的漂亮打印模塊pprint[15]可以以易于閱讀的格式打印出復(fù)雜的結(jié)構(gòu)化對(duì)象。

          這算是任何使用非平凡數(shù)據(jù)結(jié)構(gòu)的 Python 開(kāi)發(fā)人員的必備品。

          import?requests
          import?pprint
          url?=?'https://randomuser.me/api/?results=1'
          users?=?requests.get(url).json()
          pprint.pprint(users)

          Queue

          Python 標(biāo)準(zhǔn)庫(kù)的 Queue 模塊實(shí)現(xiàn)支持多線程。這個(gè)模塊讓你實(shí)現(xiàn)隊(duì)列數(shù)據(jù)結(jié)構(gòu)。這些是允許你根據(jù)特定規(guī)則添加和檢索條目的數(shù)據(jù)結(jié)構(gòu)。

          “先進(jìn)先出”(FIFO)隊(duì)列讓你可以按添加順序檢索對(duì)象。“后進(jìn)先出”(LIFO) 隊(duì)列讓你可以首先訪問(wèn)最近添加的對(duì)象。

          最后,優(yōu)先隊(duì)列讓你可以根據(jù)對(duì)象的排序順序檢索對(duì)象。

          這是一個(gè)如何在 Python 中使用隊(duì)列Queue[16]進(jìn)行多線程編程的示例。

          __repr__

          在 Python 中定義類(lèi)或?qū)ο髸r(shí),提供一種將該對(duì)象表示為字符串的“官方”方式很有用。例如:

          >>>?file?=?open('file.txt',?'r')?
          >>>?print(file)?
          'file.txt',?mode?'r'?at?0x10d30aaf0>

          這使得調(diào)試代碼更加容易。將其添加到你的類(lèi)定義中,如下所示:

          class?someClass:?
          ????def?__repr__(self):?
          ????????return?""
          someInstance?=?someClass()
          #?打印?
          print(someInstance)

          sh

          Python 是一種很棒的腳本語(yǔ)言。有時(shí)使用標(biāo)準(zhǔn)的 os 和 subprocess 庫(kù)可能有點(diǎn)頭疼。

          SH庫(kù)[17]讓你可以像調(diào)用普通函數(shù)一樣調(diào)用任何程序——對(duì)于自動(dòng)化工作流和任務(wù)非常有用。

          import?sh
          sh.pwd()
          sh.mkdir('new_folder')
          sh.touch('new_file.txt')
          sh.whoami()
          sh.echo('This?is?great!')

          Type hints

          Python 是一種動(dòng)態(tài)類(lèi)型語(yǔ)言。定義變量、函數(shù)、類(lèi)等時(shí)不需要指定數(shù)據(jù)類(lèi)型。這允許快速的開(kāi)發(fā)時(shí)間。但是,沒(méi)有什么比由簡(jiǎn)單的輸入問(wèn)題引起的運(yùn)行時(shí)錯(cuò)誤更煩人的了。

          從?Python 3.5[18]?開(kāi)始,你可以選擇在定義函數(shù)時(shí)提供類(lèi)型提示。

          def?addTwo(x?:?Int)?->?Int:
          ????return?x?+?2

          你還可以定義類(lèi)型別名。

          from?typing?import?List
          Vector?=?List[float]
          Matrix?=?List[Vector]
          def?addMatrix(a?:?Matrix,?b?:?Matrix)?->?Matrix:
          ??result?=?[]
          ??for?i,row?in?enumerate(a):
          ????result_row?=[]
          ????for?j,?col?in?enumerate(row):
          ??????result_row?+=?[a[i][j]?+?b[i][j]]
          ????result?+=?[result_row]
          ??return?result
          x?=?[[1.0,?0.0],?[0.0,?1.0]]
          y?=?[[2.0,?1.0],?[0.0,?-2.0]]
          z?=?addMatrix(x,?y)

          盡管不是強(qiáng)制性的,但類(lèi)型注釋可以使你的代碼更易于理解。

          它們還允許你使用類(lèi)型檢查工具,在運(yùn)行前捕獲那些雜散的 TypeError。如果你正在處理大型、復(fù)雜的項(xiàng)目,這是很有用的!

          uuid

          通過(guò)Python 標(biāo)準(zhǔn)庫(kù)的?uuid 模塊[19]生成通用唯一 ID(或“UUID”)的一種快速簡(jiǎn)便的方法。

          import?uuid
          user_id?=?uuid.uuid4()
          print(user_id)

          這將創(chuàng)建一個(gè)隨機(jī)的 128 位數(shù)字,該數(shù)字幾乎肯定是唯一的。事實(shí)上,可以生成超過(guò) 2122 種可能的 UUID。這超過(guò)了五個(gè)十進(jìn)制 (或 5,000,000,000,000,000,000,000,000,000,000,000,000)。

          在給定的集合中發(fā)現(xiàn)重復(fù)的概率極低。即使有一萬(wàn)億個(gè) UUID,重復(fù)存在的可能性也遠(yuǎn)低于十億分之一。

          Virtual environments

          你可能同時(shí)在多個(gè) Python 項(xiàng)目上工作。不幸的是,有時(shí)兩個(gè)項(xiàng)目將依賴(lài)于相同依賴(lài)項(xiàng)的不同版本。你在你的系統(tǒng)上安裝了什么?

          幸運(yùn)的是,Python支持對(duì)?虛擬環(huán)境[20]?的讓你可以?xún)扇涿馈拿钚校?/p>

          python?-m?venv?my-project?
          source?my-project/bin/activate?
          pip?install?all-the-modules

          現(xiàn)在,你可以在同一臺(tái)機(jī)器上運(yùn)行 Python 的獨(dú)立版本和安裝。

          wikipedia

          維基百科有一個(gè)很棒的 API,它允許用戶(hù)以編程方式訪問(wèn)無(wú)與倫比的完全免費(fèi)的知識(shí)和信息。在wikipedia模塊[21]使訪問(wèn)該API非常方便。

          import?wikipedia
          result?=?wikipedia.page('freeCodeCamp')
          print(result.summary)
          for?link?in?result.links:
          ????print(link)

          和真實(shí)站點(diǎn)一樣,該模塊提供了多語(yǔ)言支持、頁(yè)面消歧、隨機(jī)頁(yè)面檢索,甚至還有一個(gè)donate()方法。

          xkcd

          幽默是 Python 語(yǔ)言的一個(gè)關(guān)鍵特征,它是以英國(guó)喜劇小品劇Python飛行馬戲團(tuán)[22]命名的。Python 的許多官方文檔都引用了該節(jié)目最著名的草圖。不過(guò),Python 的幽默并不僅限于文檔。試試運(yùn)行下面的行:

          import?antigravity

          YAML

          YAML[23]指的是 “ 非標(biāo)記語(yǔ)言” 。它是一種數(shù)據(jù)格式化語(yǔ)言,是 JSON 的超集。

          與 JSON 不同,它可以存儲(chǔ)更復(fù)雜的對(duì)象并引用它自己的元素。你還可以編寫(xiě)注釋?zhuān)蛊涮貏e適合編寫(xiě)配置文件。該PyYAML模塊[24]可讓你使用YAML使用Python。

          安裝并然后導(dǎo)入到你的項(xiàng)目中:

          pip?install?pyyaml

          import?yaml

          PyYAML 允許你存儲(chǔ)任何數(shù)據(jù)類(lèi)型的 Python 對(duì)象,以及任何用戶(hù)定義類(lèi)的實(shí)例。

          zip

          壓軸出場(chǎng)的也是很棒的一個(gè)模塊。你曾經(jīng)遇到過(guò)需要從兩個(gè)列表中形成字典嗎?

          keys?=?['a',?'b',?'c']
          vals?=?[1,?2,?3]
          zipped?=?dict(zip(keys,?vals))

          zip()內(nèi)置函數(shù)需要一系列可迭代的對(duì)象,并返回一個(gè)元組列表中。每個(gè)元組按位置索引對(duì)輸入對(duì)象的元素進(jìn)行分組。

          你還可以通過(guò)調(diào)用對(duì)象來(lái)“解壓縮”對(duì)象*zip()。

          寫(xiě)在最后

          Python 是一種非常多樣化且發(fā)展良好的語(yǔ)言,因此肯定會(huì)有許多我沒(méi)有考慮的功能。如果你想了解更多的python模塊,可以參考awesome-python[25]

          參考資料

          [1]?

          collections 模塊:?https://docs.python.org/3/library/collections.html

          [2]?

          functions:?https://docs.python.org/3/library/functions.html#dir

          [3]?

          emoji:?https://pypi.org/project/emoji/

          [4]?

          __future__模塊:?https://docs.python.org/2/library/future.html

          [5]?

          geopy 模塊:?https://geopy.readthedocs.io/en/latest/

          [6]?

          howdoi:?https://github.com/gleitz/howdoi

          [7]?

          inspect模塊:?https://docs.python.org/3/library/inspect.html

          [8]?

          Jedi :?https://jedi.readthedocs.io/en/latest/docs/usage.html

          [9]?

          **kwargs:?https://docs.python.org/3/tutorial/controlflow.html#keyword-arguments

          [10]?

          列表推導(dǎo)式:?https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions

          [11]?

          lambda 函數(shù):?https://docs.python.org/3/tutorial/controlflow.html#lambda-expressions

          [12]?

          Python newspaper module :?https://pypi.org/project/newspaper3k/

          [13]?

          內(nèi)置的 NLP 功能:?https://newspaper.readthedocs.io/en/latest/user_guide/quickstart.html#performing-nlp-on-an-article

          [14]?

          運(yùn)算符重載的:?https://docs.python.org/3/reference/datamodel.html#special-method-names

          [15]?

          pprint:?https://docs.python.org/3/library/pprint.html

          [16]?

          Queue:?https://www.tutorialspoint.com/python3/python_multithreading.htm

          [17]?

          SH庫(kù):?http://amoffat.github.io/sh/

          [18]?

          Python 3.5:?https://docs.python.org/3/library/typing.html

          [19]?

          uuid 模塊:?https://docs.python.org/3/library/uuid.html

          [20]?

          虛擬環(huán)境:?https://docs.python.org/3/tutorial/venv.html

          [21]?

          wikipedia模塊:?https://wikipedia.readthedocs.io/en/latest/quickstart.html

          [22]?

          Python飛行馬戲團(tuán):?https://en.wikipedia.org/wiki/Monty_Python's_Flying_Circus

          [23]?

          YAML:?http://yaml.org/

          [24]?

          PyYAML模塊:?https://pyyaml.org/wiki/PyYAMLDocumentation

          [25]?

          awesome-python:?https://awesome-python.com/



          我們開(kāi)了一個(gè)“菜鳥(niǎo)玩轉(zhuǎn)服務(wù)器”星球
          最近搞了一個(gè)阿里云的白領(lǐng)服務(wù)器的活動(dòng),很多同學(xué)拿了服務(wù)器之后不知道怎么玩。好比你買(mǎi)了一臺(tái)車(chē),但是不會(huì)開(kāi)只能停在停車(chē)場(chǎng)太浪費(fèi)了。


          于是我們開(kāi)了教大家玩轉(zhuǎn)云服務(wù)器,主要教大家玩Linux,安裝Python,安裝數(shù)據(jù)庫(kù),用Django+uwsigi+nginx web服務(wù)搭建網(wǎng)站,求職簡(jiǎn)歷網(wǎng)站搭建,寫(xiě)腳本部署股票基金機(jī)器人,還可以搭建個(gè)人網(wǎng)盤(pán)!

          星球的價(jià)格是一年88元,算下來(lái)每個(gè)月7塊錢(qián),連半杯奶茶的錢(qián)都不到,一天才2毛多錢(qián),非常劃算。







          推薦閱讀:

          入門(mén):?最全的零基礎(chǔ)學(xué)Python的問(wèn)題? |?零基礎(chǔ)學(xué)了8個(gè)月的Python??|?實(shí)戰(zhàn)項(xiàng)目?|學(xué)Python就是這條捷徑


          干貨:爬取豆瓣短評(píng),電影《后來(lái)的我們》?|?38年NBA最佳球員分析?|? ?從萬(wàn)眾期待到口碑撲街!唐探3令人失望? |?笑看新倚天屠龍記?|?燈謎答題王?|用Python做個(gè)海量小姐姐素描圖?|碟中諜這么火,我用機(jī)器學(xué)習(xí)做個(gè)迷你推薦系統(tǒng)電影


          趣味:彈球游戲? |?九宮格? |?漂亮的花?|?兩百行Python《天天酷跑》游戲!


          AI:?會(huì)做詩(shī)的機(jī)器人?|?給圖片上色?|?預(yù)測(cè)收入?|?碟中諜這么火,我用機(jī)器學(xué)習(xí)做個(gè)迷你推薦系統(tǒng)電影


          小工具:?Pdf轉(zhuǎn)Word,輕松搞定表格和水?。?/a>?|?一鍵把html網(wǎng)頁(yè)保存為pdf!|??再見(jiàn)PDF提取收費(fèi)!?|?用90行代碼打造最強(qiáng)PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換?|?制作一款釘釘?shù)蛢r(jià)機(jī)票提示器!?|60行代碼做了一個(gè)語(yǔ)音壁紙切換器天天看小姐姐!

          瀏覽 68
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美超碰人人操 | 亚洲第一视频网 | 久久久欧美精品蜜芽毛片 | 国产亲子乱婬一级A片借种 | 亚洲黄色电影网址 |