• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    Python程序語言快速上手教程

    來源:懂視網 責編:小采 時間:2020-11-27 14:39:13
    文檔

    Python程序語言快速上手教程

    Python程序語言快速上手教程:本來打算從網上找一篇入門教程,但因為Python很少是程序員的第一次接觸程序所學的語言,所以網上現有的教程多不是很基礎,還是決定自己寫下這些。 如果沒有程序基礎的話,可能會覺得本文涵蓋的內容有點多。對照大學里面常教的C語言的教學速度,本文大約有四五
    推薦度:
    導讀Python程序語言快速上手教程:本來打算從網上找一篇入門教程,但因為Python很少是程序員的第一次接觸程序所學的語言,所以網上現有的教程多不是很基礎,還是決定自己寫下這些。 如果沒有程序基礎的話,可能會覺得本文涵蓋的內容有點多。對照大學里面常教的C語言的教學速度,本文大約有四五

    本來打算從網上找一篇入門教程,但因為Python很少是程序員的第一次接觸程序所學的語言,所以網上現有的教程多不是很基礎,還是決定自己寫下這些。

    如果沒有程序基礎的話,可能會覺得本文涵蓋的內容有點多。對照大學里面常教的C語言的教學速度,本文大約有四五個課時的內容;對照網上程序類的視頻 教程,大致相當于兩三個小時的內容;對于翻一本程序書籍,大約相當于翻一個小時書。也因此,如果有深入學習的打算的話,為了效率還是推薦看書。

    如果暫時不能理解本文中的一些內容也沒關系,因為都是一些經常會用到的基礎知識,在實際編寫代碼的過程中會一直遇到。后面會大約有兩三篇關于實用代碼編寫的文章,可以選擇那時再對這些知識加深印象。

    但如果是覺得技術對于SEO沒有必要而對本文沒有興趣的話,試問打算將SEO作為自己多久的職業?如果打算真正將它做好的話,在至少有上萬小時需要用去的精力里面,從里面抽幾十幾百小時去學習些技術應該是合情合理的。

    若因文章有什么沒表述清楚而導致無法理解,請務必幫忙提出。第一次寫程序類的較完整的教程,難免有疏漏之處。

    為什么學習Python

    如果決定學習一些技術來輔助SEO的話,對于程序語言至少在我看來Python可以算是首選。

    其一、Python入門相對簡單

    如果誰在大學課程里面接觸過C語言但對程序了解不多的話,或許會覺得程序就是像C那么麻煩,其實不然,學了具有美感的Python代碼以后就會知道C代碼又臭又長。就算完全沒接觸過程序也沒關系,Python本身就適合作為程序的入門選擇。

    我雖然很早就有寫程序,但那時是興趣使然,從未深入過,正式接觸程序是接觸SEO以后的事情,大約學了幾個小時以后就能寫些簡單的采集程序,到現在只要能想到需求就很少有技術無法實現的。所以沒什么有基礎沒基礎的問題在,無論什么的基礎都是需要自己打下的。

    其二、Python代碼非常靈活

    來看一段非常常用的代碼示例,如果沒有程序基礎的話會看不懂這些代碼,但暫時沒關系,看代碼行數也能對比出代碼簡潔性。

    PHP:

    代碼如下:


    $list_1 = array(1,2);
    $list_2 = array();
    foreach ($list_1 as $current) {
    array_push($list_2, $current+1);
    }
    print_r($list_2);
    ?>


    Python:

    代碼如下:


    list_1 = [1,2]
    list_2 = [current+1 for current in list_1]
    print list_2


    Python代碼的第2行叫做“列表推導”,它提供了不少像這樣便利的語言特性可以使得代碼非常簡潔。

    盡管語法靈活并非總是好事,靈活的代碼寫法意味著每個人寫出來的代碼往往風格迥異,會把團隊成員的水平差距拉大而不利于團隊開發。但對于小型SEO應用需求一般都是個人開發,此時代碼的書寫效率比起團隊合作性而言更重要。

    其三、Python使用廣泛

    Python在程序語言里面受歡迎的程度大約是5-10位左右。排在其之前的有C#, Java, PHP等,但很多時候不是因為它們更強大,而是因為前面提到的原因,它們的代碼顯得相對不是很靈活從而適合團隊開發,所以才更受歡迎。

    一般來說,多數提供API的網絡服務都會提供Python接口(如百度網盟、Amazon云服務等),而另一些比Python某些方面更強的語言則 沒有這么廣泛的支持度,比如代碼更加靈活一些的GO語言。(多數Web服務的API接口有:C#、PHP、Java、Python、Ruby、Perl, 所以一般情況下選擇其中至少一種語言學習)

    Python的模塊也非常多,有許多既有模塊意味著可以少做很多事情。比如下載一個網頁,在很多語言里面都需要5-10行代碼,而Python僅需兩行:

    代碼如下:


    import urllib2
    print urllib2.urlopen('http://g.cn/').read()


    另外有意思的是以前Google限制過自己內部使用Python語言進行開發。原因有二:一、因為Python編寫效率高,之前被其過多的運用;二、Python語言的執行效率較慢。而對于SEO,卻正是最需要注重編寫效率而一般無需在意執行效率的。

    至此廢話了不少,但興趣往往是學習的最好動力,希望沒有白白廢話。

    安裝環境與配置

    Python程序和普通程序略有不一樣,通常情況下沒有可以直接在Windows下面雙擊運行的exe文件,雖然并非無法編譯成exe但相對較麻煩,實際運用中很少會去如此操作。

    Python程序就是一段文字代碼,保存到后綴名為.py的文件里面。在電腦安裝了Python的運行環境以后,方可以運行py文件。(其實很多程序都依賴于運行環境,最常見的是.net Framework,只不過這個在Windows上預裝了,一般感覺不到罷了)

    對于Windows系統需要安裝運行環境,Linux系統則一般自帶Python無需配置。

    Python運行環境的下載鏈接為:http://python.org/getit/

    在這個頁面上,通常是在第一個下載鏈接,尋找并下載:Python 2.7.x Windows Installer (Windows binary — does not include source)

    需要注意的是下載的最好是2.7.x版本(x代表任意數值,2.7這個大版本都是類似的),而Python 3以上的版本和先前版本區別較大,對于初學者不建議使用。

    下載后安裝,沒什么需要特別注意的地方。一般安裝在默認路徑,即c:python27,不要將之放在目錄層級很深的文件夾,不然運行的時候比較麻煩。

    操作系統

    前面已經提到,Python可以在Windows及Linux系統下運行,它還支持更多系統,如Mac等,甚至也可以在越獄過的iPhone等設備上面編寫并運行Python程序。

    但因為Python的一個主要強大之處在于其模塊的支持,有了模塊就可以方便的做很多事情。而模塊的配置在Windows等系統里面往往有些麻煩,Linux往往容易得多,所以過了入門階段以后,推薦在Linux環境下進行開發。

    Linux環境的搭建有三種選擇:

    1.本機安裝Linux系統。適合在Linux下長期工作的人,需要對Linux的基礎知識有一定的了解。主要缺點是總有些Windows里面才能運行的程序,偶爾需要切換系統。我主要是在這樣的環境下工作。

    2.在Windows里面安裝VMware等虛擬機,然后在虛擬機里面安裝使用Linux。適合初學者,但因為虛擬機的關系,除非計算機配置很好, 不然兩邊系統的運行效率都會比較低下。且虛擬機不利于塑造學習Linux的氣氛,因為用虛擬機的時候碰到問題,多數人會傾向用Windows解決而非用 Linux,那么就較難熟悉它。個人不怎么推薦這種選擇。

    3.買一臺Linux的VPS,使用SSH遠程操作。主要優點是在工作及家里都可以很方便的連上服務器,不用每天把程序、數據等隨著U盤之類的帶來 帶去;也可以在不影響Windows使用的情況下使用Linux。但缺點同樣明顯,沒有圖形界面對入門者不友好;因為網絡延時的關系,寫代碼的效率經常受 影響等等。對于初學者,個人比較推薦這個解決方案。

    至于VPS的購買,推薦Linode或PhotonVPS等,大約每月50-150RMB能買一個可以用來書寫運行普通程序的VPS,也可以同時在上面放兩三個小網站。

    Linux有很多發行版可以選擇來安裝,如Ubuntu,Fedora等。

    對于在本機上搭建Linux環境時,因為擁有圖形界面,若是工作為主要目的,推薦安裝Fedora。它和服務器最常用的CentOS系統同出Red Hat系,很多地方比較接近,熟悉它對于熟悉CentOS也有較大助益。

    如果在本機安裝,且有時會將Linux系統用作觀看視頻等娛樂之用的話,推薦Ubuntu,它在日常使用方面略勝Fedora一籌。

    對于VPS上面搭建Linux,則推薦CentOS系統,因為它使用最廣泛,所以各種軟件對其的支持往往更好。

    對應Linux環境解決方案1,一般使用U盤加載iso鏡像進行安裝;對于解決方案2,一般直接由虛擬機軟件加載iso鏡像安裝;對于解決方案3,一般VPS都可在其后臺直接選擇操作系統無需自己安裝,比較方便。

    編輯器

    書寫代碼前面首先需要有一個合適的編輯器。盡管Windows自帶的記事本也不是不可以使用,但編寫程序時會非常不順手。

    對于Windows系統的編輯器,較簡單的我比較推薦Notepad++,當然也可以選擇更流行的UltraEdit。

    也可以使用IDE,這是用來開發軟件項目的集成環境的統稱,它在開發大型項目時具有較大優勢,但在處理小型需求時可能顯得略有不靈活。IDE里面比較好的有Eclipse,加上PyDev插件即可開發Python程序,它在Windows和Linux里面皆可以使用。

    如果平常需要書寫的代碼量很大,或是對自己的學習能力較有自信的話,對于Linux推薦Vim,Windows則推薦gVim(Vim的圖形界面)。它和普通編輯器書寫代碼有極大的不同之處,往往需要幾天的學習時間與幾個月的熟練時間,但書寫代碼的效率一般可以快不少。

    開始編寫程序

    Hello World!

    “Hello World”最早的出處是計算機領域的最經典書籍之一——《The C Programming Language》,后來被廣泛沿用。”Hello World”程序的目的只是在屏幕上輸出一個”Hello World”,盡管很簡單,當它作為每個人第一個所寫的程序時還是有著較大的意義。

    打開編輯器,輸入一行:(友情提示:復制粘貼不利記憶)

    代碼如下:


    print "Hello World!"


    完畢。保存文件到c:hello.py(路徑隨意)。

    按Win + R快捷鍵,打開“運行”,輸入CMD,回車,打開命令行提示符。(Linux圖形界面的話是Ctrl+Alt+T來打開終端)

    輸入:

    (Windows)
    c:python27python.exe c:hello.py

    (Linux)
    python 路徑/hello.py

    可以看到程序運行并顯示了一行“Hello World!”。至此,第一個程序完成了。

    變量與賦值

    代碼如下:


    s = 'Hello World!'
    print s

    程序輸出:
    Hello World!

    上述代碼,s稱為變量;第一行所做的操作叫做賦值。

    再來個例子加深印象:

    代碼如下:


    a = 1
    b = 2
    print a + b

    程序輸出:
    3

    函數

    代碼如下:


    def hello(name):
    s = 'Hello ' + name + '!'
    return s
    print hello('world')
    print hello('semwatch')


    程序輸出:
    Hello world!
    Hello semwatch!

    函數是用來包裝一系列的行為的,通過傳遞一個或多個參數進入函數(def hello(name)),然后函數再返回一個計算之后的數值(return s)。

    于是print hello(‘world')就相當于輸出hello函數運行之后的運算結果,即輸出Hello world!

    可以再看這個例子來加深理解:

    代碼如下:


    def add_num(a, b)
    return a + b
    print add_num(1, 2)
    print add_num(2, 3)


    程序輸出:
    3
    5

    循環及判斷

    后面提到的for循環、while循環及if判斷,這是所有程序語言里面的基礎,務必完全掌握。

    (Python里面沒有其他語言常有的do while循環,也沒switch case判斷)

    for循環:

    PHP范例:

    代碼如下:


    for($i=0;$i<10;$i++) {
    echo "$i ";
    }
    ?>


    之所以這里舉一個PHP的例子,是因為多數程序語言的for循環都和該例是類似的語法,先以這種形式舉例。

    應該較容易理解,給變量i賦值0($i=0),每次循環的時候+1($i++),在i小于10的時候就一直循環($i<10),所以循環10次。

    echo語句負責把每次循環時候的數字輸出,此例中會依次輸出0-9這些數字,不過沒必要研究echo語法,只需理解for循環的概念就行了。

    Python的for循環語法比較另類,但也很簡潔:

    代碼如下:


    for i in range(10):
    print i

    這兩句語句會和前面一樣,依次輸出0-9這些數字,且print語句會自動每次輸出后換行。

    while循環:

    代碼如下:


    i = 0
    while i < 10:
    i = i + 1
    print i

    代碼的意思是,先給i賦值0,然后當i小于10的時候,不斷執行循環體里面的內容。此處即為將i的值加1,并輸出i。

    運行后輸出的結果依次是0-9幾個數字。

    if判斷:

    代碼如下:


    i = 1
    if i < 2:
    print "i<2"
    else:
    print "i>=2"


    程序輸出:
    i<2

    程序先給i賦值1,然后判斷i是否小于2,如果小于2則輸出i<2,不然輸出i>=2。

    另外等于和不等于的判斷符號是如下的:

    代碼如下:


    i = 1
    if i == 1:
    print "i=1"
    elif i != 1:
    print "i!=1"

    等于是==符號,這點容易混淆。使用=符號在多數語言里面會產生一些問題,而在Python里面會直接視為代碼錯誤。而不等于符號是!=,也可以使 用<>,但<>號在如今的程序語言里面使用越來越少,也可能在Python的日后版本里被棄用,所以一般推薦使用!=。

    上面代碼中第三行elif是else if的簡寫。意為如果i==1沒有滿足的話,就繼續判斷i!=1是否滿足。

    列表與字典

    多數語言都有“數組”,它是一個存著多個數值的變量。而Python沒有,類似的是“列表”和“字典”等。

    如果有PHP基礎的話,看下以下對比就可以很快理解它們:

    列表:

    PHP

    代碼如下:


    $l = array(1,2,3);
    ?>

    Python

    代碼如下:

    l = [1,2,3]

    字典:

    PHP

    代碼如下:


    $d = array(
    'a' => 1,
    'b' => 2,
    'c' => 3,
    );
    ?>


    Python

    代碼如下:


    d = {
    'a': 1,
    'b': 2,
    'c': 3,
    }

    如果沒有其他語言基礎的話,通過實際代碼來理解列表及字典或許更合適。

    列表:

    代碼如下:


    l = [1,2,3]
    for current in l:
    print current


    運行的結果會依次輸出1-3這些數字。(Python里面沒有PHP的foreach語法,全都使用for完成)

    字典:

    代碼如下:


    d = {
    'a': 1,
    'b': 2,
    'c': 3,
    }
    for key in d:
    print key
    print d[key]


    運行的結果會輸出a1b2c3,分六行顯示。

    解釋下字典,字典的結構是這樣的:

    dict = {key: value, key2: value2, …}

    for循環可以在每次循環的時候,把相應的key賦值給變量,如果要訪問對應的value,就需要使用類似dict[key]這樣的,即尋找dict里面對應key的value。

    類似的,列表也有類似操作,如:

    代碼如下:


    l = [1,2,3]
    print l[1]


    運行輸出:
    2

    它的意思是輸出列表l的第1項。需要注意的是,對于絕大多數程序語言,都是從第0項開始算的。即這里l[0]是1,l[1]是2,l[2]是3。

    字符串及切片

    字符串如其名,是一串字符。如print “Hello World!”就是輸出字符串Hello World!。Python里面的字符串比較特殊,它和列表一樣屬于序列類型,很多使用方法上和列表一樣。

    代碼如下:


    s = "abc"
    print s[1]

    運行結果會輸出b。

    根據這樣的特性,可以衍生出一些簡潔的代碼運用。比如要輸出”Hello World!”這個字符串的前5個字符的話,多數語言會和PHP類似是這樣做的:

    代碼如下:


    $s = "Hello World!";
    echo substr($s,0,5);
    ?>

    而Python簡單得多:

    代碼如下:


    s = "Hello World!"
    print s[:5]

    兩段代碼都會輸出Hello。

    其中的s[:5]使用了Python的“切片”特性,完整的寫法應該是s[0:5],但0可以省略,這里代表著輸出這個序列索引號從0開始到5之前的內容。

    當然列表也是可以使用切片的,如:

    代碼如下:


    l = [1,2,3]
    print l[1:]


    運行后輸出[2,3]。

    意味著從索引號1開始,輸出到列表的最后。

    知識點匯總

    將前面所有的內容加上一些新的知識點,融合成一段代碼。認真思考每一個輸出的結果是如何出來的,就能更好的理解這些。因為知識點比較多,可以暫時不求甚解,但這些都是任何程序語言里面都會有的基礎內容,最終是必須掌握的。

    代碼中,#號意味著注釋的開始,這些內容不會被運行。

    另外代碼的第一行聲明了代碼編碼為utf-8。因為注釋中出現了非英文字符,所以就需要指定編碼,不然程序會報錯。

    代碼如下:


    # -*- coding:utf-8 -*-
    str_1 = 'Hello'
    str_2 = 'World!'

    #以下語句都會輸出Hello World!

    #print語句中的逗號意味著不換行,而是用空格間隔它們
    print str_1, str_2

    #以下和上面一句是同樣的效果
    print str_1,
    print str_2

    #同樣可以用字符串連接符
    print str_1 + ' ' + str_2

    #也可以用格式化操作符,它比前者更常用
    #會將后面的變量依次替換到前面的%x上面
    #%s指定替換為字符串,若替換整數則為%d,小數%f
    print '%s %s' % (str_1, str_2)

    #會輸出00 11 22
    for i in range(3):
    print '%d%d' % (i, i),
    print '' #輸出一個空的字符串用于換行

    #會輸出11 22 33
    for i in range(1, 4):
    print '%d%d' % (i, i),
    print ''

    #會輸出00 22 44
    for i in range(0, 5, 2):
    print '%d%d' % (i, i),
    print ''

    #會輸出0 1 0 1 0
    i = 0
    while i < 5:
    i += 1 #等同于i = i + 1
    if i % 2==0: #如果i除2的余數為0
    print 1,
    else:
    print 0,
    print ''

    #會輸出c
    i = 3
    if i==1:
    print 'a'
    elif i==2:
    print 'b'
    elif i==3:
    print 'c'
    else:
    print 'error'

    #會輸出1 2 3 3 4 4 5 5 6
    for i in range(10):
    i += 1
    print i,
    if i < 3:
    continue #如果i<3則中斷該次循環,從循環體的頭部重新運行
    elif i > 5:
    break #如果i>5則中斷整個循環
    print i,


    最后

    雖然現在提及的是程序,但SEO要涉及的技術遠不僅是程序。盡管很想從頭開始提及所有應該學習的方面,無奈這是幾本書都寫不完的,單用幾篇文章更無法窮盡。

    在接下來的文章里面,將跳空一些知識點,如果讀者沒有相關基礎,則需自行學習。之后將跳過的包括但不限于:

    1. 基礎Web知識,比如非ASCII字符集的URL需要編碼等常識:http://www.w3school.com.cn/html/html_urlencode.asp

    2. 瀏覽器開發人員工具的運用,可以選擇Chrome的開發人員工具、或Firefox的Firebug插件等,個人推薦用Chrome。尤其需要先了解其抓 包功能,在采集數據的時候經常要用到。抓包功能在Chrome開發人員工具里面,對應的是”Network”選項卡。

    3. 獨立配置Python的pycurl模塊。此處主要有兩種選擇,一種是在Windows系統安裝Curl、再安裝setuptools、最后安裝模塊,比 較麻煩也不推薦,且以后其他模塊在Windows里面配置可能也是這么麻煩。另一種選擇即是配置一個Linux環境,在CentOS及Fedora等系統 里面,執行:sudo yum install python-pycurl,在Ubuntu等系統里面,執行sudo apt-get install python-pycurl。之后將大量的使用到這個模塊,所以務必配置好。Linux的入門命令可見:http://ooxx.me/common-ssh-commands.orz

    4. 了解正則表達式。它是用來處理字符串的強大工具,可以在百度上尋找資料對它做初步的了解,至少要先知道.*?和[sS]*?這兩個的含義,它們在采集數據的過程中是最常用的。這是一個很不錯但難度較高的正則教程,可能不是很適合初學:http://manual.phpv.net/regular_expression.html

    此外最好買一本Python書籍,雖然因為SEO沒必要對程序涉及很深入,大多程序類書籍上的多數知識的重要性不高。比如每本書都會花大量篇幅去介 紹面向對象編程的思路與實現,但SEO的多數需求往往只有幾百行代碼,一般都不太會去涉及這些。不過,一開始的一些基礎知識學習的過程中,容易疏漏或者遺 忘知識點,有一本書會好得多。

    尚未找到比較適合SEO看的Python書籍。我自己手邊有一本《Python核心編程》,應該說還可以吧。如果不確定買哪本的話,可以到這個論壇去找下pdf試看,它上面各類計算機書籍應該是相對最齊全的:http://club.topsage.com/forum-300-1.html

    但不要只看pdf,一般學一門語言至少備一本紙質書籍,它應該是在自己不清楚或忘記了哪些知識點以后,可以隨時拿來翻看的工具書。

    文章作者:ZERO

    本文來自semwatch 轉載請注明出處鏈接及作者。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Python程序語言快速上手教程

    Python程序語言快速上手教程:本來打算從網上找一篇入門教程,但因為Python很少是程序員的第一次接觸程序所學的語言,所以網上現有的教程多不是很基礎,還是決定自己寫下這些。 如果沒有程序基礎的話,可能會覺得本文涵蓋的內容有點多。對照大學里面常教的C語言的教學速度,本文大約有四五
    推薦度:
    標簽: 教程 程序 語言
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 青青青青久久精品国产| 91av国产精品| 亚洲一区精品中文字幕| 十八18禁国产精品www| 精品午夜国产人人福利| 久久777国产线看观看精品| 日韩精品久久无码人妻中文字幕| 国产精品一区二区三区免费| 精品久久久久久综合日本| 人妻少妇精品视中文字幕国语 | 亚洲精品乱码久久久久久自慰| 国产亚洲精品无码拍拍拍色欲| 久久亚洲国产欧洲精品一| 精品无码久久久久国产| 亚洲精品无码成人片久久| 四虎影视永久在线精品| 精品久久综合1区2区3区激情| 国产成人精品久久亚洲高清不卡 | 久久精品国产只有精品2020| 国产99久久精品一区二区| CAOPORM国产精品视频免费| 精品一区二区三区在线成人| 亚洲国产成人精品无码区在线观看| 日本精品久久久久久久久免费| 久久精品国产国产精品四凭| 国产乱码精品一区二区三| 国产成人精品午夜福麻豆| 99精品福利国产在线| 91精品日韩人妻无码久久不卡 | 精品久久久久久无码专区| 亚洲精品乱码久久久久久按摩| 中文字幕一精品亚洲无线一区| 亚洲午夜精品久久久久久app| 亚洲精品高清在线| 亚洲日韩精品一区二区三区无码| 亚洲国产精品专区在线观看| 午夜精品一区二区三区在线视| 亚洲国产精品碰碰| 色欲精品国产一区二区三区AV | 四虎国产精品永久一区| 8050免费午夜一级国产精品|