青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

任我行

一天一個(gè)腳印......
每日一句:
posts - 54, comments - 218, trackbacks - 1, articles - 0
  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

Python完全新手教程(lesson11-lesson13)

Posted on 2005-10-11 16:41 任我行 閱讀(1035) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Python
Lesson 11 走向模塊化的第二步

函數(shù)上面還能是什么呢??jī)?nèi)嵌函數(shù)^_^,其實(shí)python是支持的。不過(guò)用起來(lái)會(huì)讓你吐血的,LGB名稱查找規(guī)則。。。(寒)。python是面向?qū)ο蟮模瑢?duì)于面向?qū)ο蟮闹С滞猛娴摹?BR>

class person:
    def __init__(self):
        self.name = 'taowen'
        self.id = 20022479
    def say_id(self):
        print "%s's id is %d" % (self.name, self.id)


me = person()
me.say_id()

比較復(fù)雜了吧。如果不熟悉面向?qū)ο蟮母拍畹模赡軙?huì)覺(jué)得暈。我來(lái)解釋一下。所謂面向?qū)ο笫前褦?shù)據(jù)和操作數(shù)據(jù)的函數(shù)放到同一個(gè)類中去,然后用類來(lái)創(chuàng)建對(duì)象,操作的時(shí)候能夠比較方便(很不精確的說(shuō)法,任何一個(gè)OO高手都可以把我罵得屁都不是)。


類是class關(guān)鍵來(lái)定義的。class person:就是說(shuō)定義一個(gè)類,名字叫person。

對(duì)象
對(duì)象是用類來(lái)產(chǎn)生的。所以me就是對(duì)象,產(chǎn)生的辦法就是像調(diào)用函數(shù)一樣,person(),而且()中是能夠放參數(shù)的,什么時(shí)候要參數(shù),看下面的“初始化函數(shù)“

初始化函數(shù)
類可以有自己的初始化函數(shù),每次類被創(chuàng)建的時(shí)候(調(diào)用person()這樣的語(yǔ)句的時(shí)候),都會(huì)調(diào)用它。這個(gè)在C++中的名稱是構(gòu)造函數(shù)。__init__是必須的名字,你不能用其他名字來(lái)當(dāng)初始化函數(shù)。但是你可以沒(méi)有初始化函數(shù)。

類的數(shù)據(jù)
類的數(shù)據(jù)是所有類產(chǎn)生的對(duì)象共享的數(shù)據(jù)。這里沒(méi)有用到類的數(shù)據(jù),要寫的話是這樣:


class person:
    school = 'bit'
    def __init__(self):
        self.name = 'taowen'
        self.id = 20022479
    def say_id(self):
        print "%s's id is %d" % (self.name, self.id)


me = person()
me.say_id()
print me.school

對(duì)象的數(shù)據(jù)
對(duì)象的數(shù)據(jù)是用
self.變量名 = 。。。
來(lái)生成的。這里self.name就是對(duì)象的數(shù)據(jù)。對(duì)象的數(shù)據(jù)和類的數(shù)據(jù)不同,因?yàn)閷?duì)象之間的數(shù)據(jù)是互不共享的,而類的數(shù)據(jù)是被所有由類生成的對(duì)象共享的。

對(duì)象的函數(shù)(類的函數(shù))
兩個(gè)沒(méi)有區(qū)別,是類的就是對(duì)象的。其實(shí)就是類的(我說(shuō)的是底層實(shí)現(xiàn),不過(guò)不用管,如果關(guān)心怎么實(shí)現(xiàn)的,等我寫Hacking OO吧,還沒(méi)影呢)。say_id就是對(duì)象的函數(shù),你能夠調(diào)用它。每個(gè)對(duì)象的函數(shù)都需要一個(gè)self參數(shù),表示[color]這個(gè)對(duì)象。

為什么使用面向?qū)ο缶幊?BR>除去讓人覺(jué)得你比較專業(yè)外,當(dāng)然由切實(shí)的好處。比較淺顯的是你能夠表達(dá)一定的層次關(guān)系,類與類之間能夠有包含和繼承的關(guān)系(當(dāng)然你現(xiàn)在還不會(huì)。。。)。而且對(duì)象能夠把數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)放在一起,能夠比較清晰。雖然有所謂的數(shù)據(jù)隱藏的概念,但是在python中其實(shí)就是一個(gè)不要直接調(diào)用對(duì)象中的數(shù)據(jù)的約定,而要用一個(gè)函數(shù)作為中轉(zhuǎn)。其實(shí)不懂面向?qū)ο蠛苷#鋵?shí)有的時(shí)候就是要在用的中間感悟的。什么時(shí)候把用函數(shù)編程用牛了,用出個(gè)道道來(lái)了,說(shuō)不定你已經(jīng)感覺(jué)到了什么是面向?qū)ο缶幊獭A硗猓核^什么OO,都是一些認(rèn)為規(guī)定,不用語(yǔ)法支持,只要心中有這個(gè)想法(什么想法?自己悟啊),就能夠?qū)懗鯫O的代碼,不管你用的是什么語(yǔ)言,什么語(yǔ)法。

Lesson 12 python to exe

about py2exe

本文講述如何將一個(gè)python源代碼編譯成一個(gè)exe.....我會(huì)的只是最初步最基本的.....實(shí)際上那個(gè)py2exe似乎有著更強(qiáng)大的功能

1:下載安裝py2exe.....from http://twh@bitunion.org
2:假設(shè)你寫好了一個(gè)python程序....guess_number.py.......存在了c:\Python23\下面
3:再寫一個(gè)setup.py....也存在c:\Python23\下面......內(nèi)容如下

# setup.py
from distutils.core import setup
import py2exe

setup(name="guess_number",
      scripts=["guess_number.py"],
)

其中name和scripts是需要你到時(shí)候具體修改的....

4:找到windows的dos模式(命令提示符).....或者自己做個(gè)快捷方式也可以....
C:\Python23>
C:\Python23>python setup.py py2exe
構(gòu)造就開始了....
幾秒鐘以后....
在你的C:\Python23就會(huì)出現(xiàn)兩個(gè)文件夾build和dist,前面那個(gè)里面似乎是源程序(這個(gè)我不太清楚)....dist里面的就是編譯好的.exe了.....ok....

btw....等國(guó)兩天有了實(shí)際應(yīng)用再來(lái)翻譯這些東西

Specifying additional files
Some applications need additional files at runtime, this maybe configuration files, fonts, bitmaps, whatever.

py2exe can copy these files into subdirectories of dist\myscript if they are specified in the setup script with the data_files option. data_files should contain a sequence of (target-dir, files) tuples, where files is a sequence of files to be copied.

Here's an example:
# setup.py
from distutils.core import setup
import glob
import py2exe

setup(name="myscript",
      scripts=["myscript.py"],
      data_files=[("bitmaps",
                   ["bm/large.gif", "bm/small.gif"]),
                  ("fonts",
                   glob.glob("fonts\\*.fnt"))],
)

This would create a subdirectory bitmaps in dist\myscript, containing the two bitmaps, and a subdirectory fonts, containing all the *.fnt files.

相關(guān)資料出處....
http://starship.python.net/crew/theller/py2exe/

Lesson 13 寫一個(gè)簡(jiǎn)單的界面很容易

圖形界面是非常有吸引力的東西。但是制作出來(lái)似乎不是那么容易,這個(gè)觀點(diǎn)對(duì)于用C來(lái)笨拙寫windows的窗口程序來(lái)說(shuō),是比較正確的。微軟公司出品的windows是一個(gè)圖形界面的操作系統(tǒng),這個(gè)和dos或者linux這些不一樣,他們一開始出來(lái)是針對(duì)字符界面的,然后再在上面加上一些庫(kù)來(lái)提供圖形的功能。windows則不同,它是包含在自己的最原始的功能之中,而這些圖形功能的提供是在user32.dll這樣的system目錄下的dll文件中以函數(shù)導(dǎo)出的形式提供的,但是要使用這些東西必須使用c語(yǔ)言的函數(shù)接口,而且編寫麻煩。有一個(gè)很大的wndproc中要填入所有的事件處理代碼,非常丑陋。而作為腳本語(yǔ)言,所應(yīng)該有的簡(jiǎn)潔性,python對(duì)這個(gè)進(jìn)行了封裝。但是事情不是如你所想象。中間過(guò)程非常復(fù)雜,而且python用的也不是自己的庫(kù),還是tcl的一個(gè)tk的庫(kù)再封裝了一次。雖然經(jīng)過(guò)層層封裝,裹得非常嚴(yán)實(shí),但是除了影響其在比較高性能的圖形場(chǎng)合下的應(yīng)用之外,并沒(méi)有帶來(lái)太大的麻煩。你能夠用很少的代碼,來(lái)完成其他語(yǔ)言+庫(kù)要很大行代碼才能表達(dá)的圖形樣式,雖然非常簡(jiǎn)陋,不過(guò)足夠使用。而且python除了自己原包裝帶的這個(gè)tkinter庫(kù)之外,還有其他的第三方的選擇,比較豐富,而且也有能夠勝任各種應(yīng)用的選擇。甚至,還有opengl和directx的庫(kù)的封裝庫(kù),能夠用來(lái)編寫2d和3d的游戲,這個(gè)非常的誘人哦。但是我不會(huì),

圖形界面的奧秘其實(shí)并不深?yuàn)W。我相信很多人學(xué)習(xí)windows編程都是從寫一個(gè)窗口開始的,而且都是從嘗試?yán)斫饽莻€(gè)消息和事件驅(qū)動(dòng)的模型入手的。大體的過(guò)程是這樣的,窗口就是用象素畫出來(lái)的。你可以把一個(gè)窗口想象成一個(gè)窗口,也可以把窗口看成一堆象素的集合。就像有人說(shuō)看女色不過(guò)是皮肉色相一樣。而且窗口中的按鈕,編輯礦,各種圖標(biāo),無(wú)論是什么看起來(lái)像一個(gè)”物體“的東西,其實(shí)本質(zhì)上都是有應(yīng)用程序或者是庫(kù)或者是操作系統(tǒng)調(diào)用顯卡的驅(qū)動(dòng),通過(guò)顯卡的功能在屏幕上繪畫一些點(diǎn)出來(lái)。而所謂的”物體“有很多稱法,在windows中一般成為控件(control)。

而對(duì)于圖形界面的操控一般是通過(guò)鼠標(biāo)和鍵盤來(lái)完成的。鼠標(biāo)在屏幕上有一個(gè)自己的形象,那就是一個(gè)箭頭(當(dāng)然你也可以調(diào)整這個(gè)圖形為其他好玩的東西,it is your freedom)。而鍵盤呢則一般表示為一個(gè)虛線的框,表示這個(gè)是鍵盤的”焦點(diǎn)“所在的地方。或者是編輯框中閃動(dòng)的豎杠。這兩點(diǎn)中有一個(gè)共同點(diǎn),就是都有一個(gè)位置來(lái)確定要操作的對(duì)象。你點(diǎn)下鼠標(biāo)的時(shí)候,你操作的就是鼠標(biāo)的箭頭尖端指向的那個(gè)空間,而鍵盤按下也是在其焦點(diǎn)所在的控件那兒放聲。發(fā)生的是什么呢?發(fā)生的過(guò)程從硬件層面到軟件層面之后,最終是被操作系統(tǒng)接收。操作系統(tǒng)能夠知道你是點(diǎn)擊的是鼠標(biāo)還是鍵盤,在什么一個(gè)地方點(diǎn)下的,而且按下的是左鍵還是右鍵。操作系統(tǒng)還知道當(dāng)前窗口各處擺放的位置。綜合各路的信息,操作系統(tǒng)就能夠知道把這個(gè)”事件“作為”消息“發(fā)送給哪個(gè)窗口來(lái)處理。從中應(yīng)該能夠明白什么叫事件,而消息呢則是一個(gè)C中的結(jié)構(gòu)體,其中有幾個(gè)field中間放了有關(guān)這個(gè)事件的信息,然后就像一封信一樣從操作系統(tǒng)投遞到了窗口所在的應(yīng)用程序。然后應(yīng)用程序有一個(gè)事先注冊(cè)的”窗口過(guò)程“,其實(shí)就是一個(gè)函數(shù),用來(lái)接收這封“信”。其實(shí)就是接收到傳過(guò)來(lái)的參數(shù)。然后再進(jìn)行一些判斷,作出一定的響應(yīng)。這個(gè)就是所謂的事件驅(qū)動(dòng)。在沒(méi)有冗長(zhǎng)的代碼,和展示所有細(xì)節(jié)的情況下,如果你真的以前對(duì)這個(gè)過(guò)程一無(wú)所知,肯定會(huì)覺(jué)得非常茫然。這個(gè)一筆帶過(guò)的敘述其實(shí)只是讓你有一個(gè)感性的認(rèn)識(shí)。其實(shí)在python中使用窗口根本不用管諸葛么多。基本上只是把自己要的窗口和控件,給一些位置的參數(shù),一些文字的提示內(nèi)容的參數(shù)就能把窗口擺好,顯示出來(lái)。然后再通過(guò)代碼告訴python,當(dāng)“這個(gè)按鈕按下的時(shí)候執(zhí)行這個(gè)函數(shù)”,然后就能讓窗口有響應(yīng)。最后記得給一個(gè)退出窗口的辦法就一切OK了。其中能省的復(fù)雜度基本上都被庫(kù)給隱藏掉了。付出的代價(jià)是慢一些,但是我就不相信你能感覺(jué)出來(lái),除非你用的電腦連vcd都看不流暢。所以大可放心的享受這種便利。

OK,下面來(lái)正式的看看怎么在python中創(chuàng)建一個(gè)窗口,然后顯示出來(lái)。


from Tkinter import *
root = Tk()
root.mainloop()

就3行就能夠把主窗口顯示出來(lái)了。root是一個(gè)變量名稱,其代表了這個(gè)主窗口。以后創(chuàng)建控件的時(shí)候指定控件創(chuàng)建在什么窗口之中,就要用這個(gè)root來(lái)表示了。而Tk()是一個(gè)Tkinter庫(kù)之中的函數(shù)(其實(shí)是類的構(gòu)造函數(shù),構(gòu)造了一個(gè)對(duì)象)。而mainloop則是主窗口的成員函數(shù),也就是表示讓這個(gè)root工作起來(lái),開始接收鼠標(biāo)的和鍵盤的操作。你現(xiàn)在就能夠通過(guò)鼠標(biāo)縮放以及關(guān)閉這個(gè)窗口了。注意到窗口的標(biāo)題是tk,我們可以進(jìn)行一些修改

root= Tk(className='bitunion')

然后窗口的標(biāo)題就變成了bitunion了。下面要作的是把這個(gè)窗口的內(nèi)容填充一下,讓其有一些東西。先加入一個(gè)標(biāo)簽,所謂標(biāo)簽就是一行字。

from Tkinter import *
root = Tk(className='bitunion')
label = Label(root)
label['text'] = 'be on your own'
label.pack()
root.mainloop()

我們很驚訝的發(fā)現(xiàn)窗口變小了,但是其中多了一行字。變小了是因?yàn)榇翱谥幸呀?jīng)放了東西了,python的Tkinter非常智能,能夠根據(jù)內(nèi)容自動(dòng)縮放,而不用和傳統(tǒng)的windows程序一樣,手工的指定絕對(duì)坐標(biāo)了。對(duì)于label,它還是一個(gè)變量而已。不過(guò)這個(gè)變量代表了一個(gè)標(biāo)簽,也就是那一行字。而這個(gè)label的創(chuàng)建是用Label,而Label的參數(shù)是root表明了這個(gè)控件是root主窗口的成員控件,或者說(shuō)是子窗口。label['text']表示設(shè)置這個(gè)標(biāo)簽的text屬性為'be on your own',也就是文字內(nèi)容了。label.pack和root.mainloop一樣費(fèi)解,但是內(nèi)涵一樣深刻。你現(xiàn)在可以簡(jiǎn)單理解為把label顯示出來(lái)的功能,因?yàn)槟惆裵ack去掉,那你就看不到東西了。其實(shí)pack是和控件的布局排版有關(guān)西的。

再添加一個(gè)按鈕就能夠有更加豐富的內(nèi)容了,方法是很類似的。看著吧:

from Tkinter import *
root = Tk(className='bitunion')
label = Label(root)
label['text'] = 'be on your own'
label.pack()
button = Button(root)
button['text'] = 'change it'
button.pack()
root.mainloop()

只不過(guò)把button替換了label而Button替換了Label。注意一下Button和Label這些都是Tkinter這些庫(kù)提供的,而button和Button這樣大小寫之間的差別僅僅是巧合,你能夠隨便的給變量取名字,但是Button和Label這些則是需要記住的東西,寫代碼的時(shí)候要經(jīng)常用到的名字。但是點(diǎn)擊按鈕你會(huì)比較失望,因?yàn)椴](méi)有什么反應(yīng)。不過(guò)也是當(dāng)然的事情,你并沒(méi)有告訴計(jì)算機(jī)對(duì)于這樣一個(gè)按鈕的點(diǎn)擊操作需要作出一個(gè)什么樣的反應(yīng)來(lái)反饋給用戶。而這個(gè)指定作出什么反應(yīng)的工作只需要一個(gè)行,但是作出具體什么樣反應(yīng)的描述則需要新建一個(gè)函數(shù)來(lái)進(jìn)行處理。

from Tkinter import *
def on_click():
    label['text'] = 'no way out'
root = Tk(className='bitunion')
label = Label(root)
label['text'] = 'be on your own'
label.pack()
button = Button(root)
button['text'] = 'change it'
button['command'] = on_click
button.pack()
root.mainloop()

button['command'] = on_click表示對(duì)于button(按鈕)的點(diǎn)擊屬性用on_click這個(gè)函數(shù)來(lái)處理。而on_click函數(shù)也很簡(jiǎn)潔,只是把label的文本重新設(shè)置一下。這個(gè)完成了一個(gè)事件消息的處理,如果用C來(lái)寫,需要比這個(gè)長(zhǎng)更加不好懂的寫法。另外你是否會(huì)對(duì)on_click中出現(xiàn)label這個(gè)變量比較奇怪呢?明明在on_click前面沒(méi)有定義label這個(gè)變量啊。如果我在C中這么寫程序,編譯器一定會(huì)告訴我出錯(cuò)的。而python是怎么知道label這個(gè)變量存在,然后沒(méi)有報(bào)錯(cuò)的呢?其實(shí)python在你寫的時(shí)候根本就不用知道其是否存在,只是要在運(yùn)行的時(shí)候找得到label就可以了。而運(yùn)行的前后關(guān)系,是通過(guò)時(shí)間來(lái)關(guān)聯(lián)的而不是代碼上前后行的關(guān)系。這里由于label = Label(root)先于on_click執(zhí)行,所以當(dāng)on_click執(zhí)行的時(shí)候,label就是一個(gè)已經(jīng)定義的變量。如果沒(méi)有定義呢?那就報(bào)告出錯(cuò)嘍。

最后一個(gè)例子:

from Tkinter import *
def on_click():
    label['text'] = text.get()

root = Tk(className='bitunion')
label = Label(root)
label['text'] = 'be on your own'
label.pack()
text = StringVar()
text.set('change to what?')
entry = Entry(root)
entry['textvariable'] = text
entry.pack()
button = Button(root)
button['text'] = 'change it'
button['command'] = on_click
button.pack()
root.mainloop()

這個(gè)就比較復(fù)雜了。里面有一個(gè)StringVar。這個(gè)代表一個(gè)字符串,但是跟一般字符串不一樣。一般的這樣'dfsdf'的字符串是不可變的,你只能把變量指定為不同的字符串,但是字符串本身的內(nèi)容是不可改變的。而StringVar則是可變的字符串。所以了set和get來(lái)設(shè)置和取得其內(nèi)容。主要是entry(單行輸入框)要求一個(gè)這樣的屬性來(lái)設(shè)置和接收其輸入框的內(nèi)容。一開始可能不習(xí)慣,但是用多了之后會(huì)覺(jué)得很方便的,因?yàn)橹灰眠@個(gè)變量text,就能一直得到當(dāng)前輸入框的內(nèi)容。當(dāng)你能夠完整的把這個(gè)例子看懂的時(shí)候,你已經(jīng)入門了。但是離自己寫一個(gè)有窗口的應(yīng)用程序還有一定距離。主要是缺少更加豐富的控件和事件響應(yīng)的處理能力,以及合理排版布局的能力。這個(gè)下次再說(shuō)。

The End~~~~~~~~
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美成人免费全部| 久久精品噜噜噜成人av农村| 欧美大片在线看| 狼人天天伊人久久| 亚洲激情视频网站| 亚洲国产成人不卡| 男女av一区三区二区色多| 91久久久亚洲精品| 日韩一二三区视频| 国产精品亚洲第一区在线暖暖韩国| 亚洲欧美伊人| 久久久久国产成人精品亚洲午夜| 亚洲国产精品久久久久秋霞蜜臀| 亚洲片在线资源| 国产精品视频免费在线观看| 久久综合影音| 欧美巨乳在线观看| 久久精品亚洲乱码伦伦中文| 米奇777超碰欧美日韩亚洲| 这里只有精品丝袜| 欧美与欧洲交xxxx免费观看| 亚洲人成在线观看| 亚洲欧美日韩网| 亚洲三级免费| 欧美影院一区| 亚洲手机视频| 狼人社综合社区| 久久爱www久久做| 欧美日韩国产美| 麻豆精品视频在线观看| 国产精品福利影院| 亚洲高清毛片| 国模套图日韩精品一区二区| 亚洲精品乱码久久久久久| 国产永久精品大片wwwapp| 99视频一区| 91久久国产综合久久91精品网站| 亚洲永久免费精品| 一本色道久久99精品综合| 久久久亚洲精品一区二区三区 | 亚洲综合国产| 麻豆成人综合网| 久久精品在线观看| 国产精品国内视频| 亚洲激情亚洲| 亚洲国产另类久久精品| 久久男人资源视频| 久久精品系列| 国产自产精品| 午夜一区不卡| 久久成人免费视频| 国产精品国产三级国产专播品爱网| 亚洲国产cao| 亚洲日本成人网| 女人香蕉久久**毛片精品| 久热国产精品| 狠狠色丁香久久综合频道| 欧美一区影院| 久久久中精品2020中文| 国产视频一区在线观看一区免费 | 欧美激情综合| 欧美激情第一页xxx| 99热这里只有精品8| 欧美二区乱c少妇| 欧美成人综合在线| 亚洲国产一区在线观看| 麻豆成人小视频| 亚洲高清色综合| 99re8这里有精品热视频免费 | 亚洲国产女人aaa毛片在线| 久久精品亚洲一区二区| 鲁大师影院一区二区三区| 狠狠久久婷婷| 欧美国产日本高清在线| 亚洲精品一区二区三区樱花| 亚洲无人区一区| 国产精品乱子乱xxxx| 亚洲欧美日韩中文视频| 久久午夜影视| 亚洲欧洲精品一区二区三区| 欧美精品久久一区二区| 一本色道久久综合亚洲精品不| 亚洲欧美电影院| 国产一区二区三区无遮挡| 久久视频在线看| 亚洲精品资源| 欧美专区福利在线| 亚洲大片免费看| 欧美日韩亚洲一区三区 | 欧美福利视频在线观看| 日韩亚洲视频| 国产美女搞久久| 久久香蕉精品| 亚洲少妇最新在线视频| 久久久久久久国产| 99国产精品视频免费观看| 国产精品永久免费| 美女精品网站| 中文在线资源观看网站视频免费不卡 | 亚洲欧美激情在线视频| 狠狠色狠狠色综合日日五| 欧美福利视频网站| 亚洲欧美日韩一区二区在线 | 亚洲欧美中文另类| 在线观看国产一区二区| 国产精品扒开腿做爽爽爽视频| 欧美中文在线字幕| 99国产一区| 欧美大胆人体视频| 欧美在线亚洲一区| 在线亚洲免费视频| 亚洲黄一区二区三区| 国产欧美精品在线| 欧美日韩不卡视频| 裸体女人亚洲精品一区| 欧美一级视频免费在线观看| 亚洲精品网站在线播放gif| 麻豆久久精品| 久久精品国产99精品国产亚洲性色| 亚洲欧美另类国产| 久久伊人精品天天| 亚洲伊人一本大道中文字幕| 亚洲国产导航| 国产亚洲人成a一在线v站| 欧美日韩一级黄| 欧美大片专区| 久久综合九色综合欧美狠狠| 午夜视频在线观看一区二区| 中文精品视频| 一区二区三区高清不卡| 91久久精品久久国产性色也91| 噜噜噜在线观看免费视频日韩| 久久精视频免费在线久久完整在线看| 亚洲一区二区三区高清不卡| 一区二区三区 在线观看视| 亚洲人体1000| 亚洲精品小视频在线观看| 91久久精品www人人做人人爽 | 国产在线精品一区二区中文 | 国产精品成人观看视频免费| 欧美日韩国产色站一区二区三区| 欧美粗暴jizz性欧美20| 欧美freesex交免费视频| 鲁大师成人一区二区三区| 欧美成人免费观看| 欧美精品粉嫩高潮一区二区| 欧美日本一区| 欧美日韩国产综合在线| 欧美片第一页| 国产精品日韩精品欧美精品| 国产精品久久久久久久久久ktv| 国产精品久久77777| 国产精品影视天天线| 国内精品一区二区| 亚洲片国产一区一级在线观看| 亚洲剧情一区二区| 亚洲午夜在线观看视频在线| 午夜精品在线观看| 美国十次成人| 亚洲日本成人网| 亚洲小视频在线| 久久精品中文字幕一区二区三区| 久久男女视频| 欧美婷婷久久| 精品51国产黑色丝袜高跟鞋| 亚洲人成久久| 午夜一区不卡| 欧美电影打屁股sp| 一本色道久久综合狠狠躁篇怎么玩| 亚洲欧美日韩精品久久久| 久久久欧美精品sm网站| 欧美日韩精品免费观看视频| 国产欧美精品日韩区二区麻豆天美 | 欧美大片国产精品| 国产精品视频精品视频| 1024国产精品| 亚洲专区在线视频| 免费在线观看精品| 亚洲社区在线观看| 噜噜噜在线观看免费视频日韩| 国产精品v一区二区三区| 黄色欧美成人| 亚洲欧美成人网| 欧美国产亚洲视频| 欧美一级成年大片在线观看| 欧美黄色成人网| 国内精品久久久久影院薰衣草| 中文av字幕一区| 女生裸体视频一区二区三区| 亚洲午夜电影| 欧美精品激情| 永久久久久久| 久久不射2019中文字幕| 亚洲看片一区| 免费观看成人| 伊人成年综合电影网| 欧美一区二区三区四区高清| 免费日韩成人| 欧美国产日产韩国视频| 午夜视频一区|