老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

python獲取函數(shù)名 python獲取對象的名字

python 怎么生成可變函數(shù)名

定義一個A類,然后實例化一個A對象,通過setattr函數(shù)來給當前類添加一個變量,值是test函數(shù)。調(diào)用haha函數(shù),就相當于調(diào)用了test函數(shù)。 例2,定義一個模塊,通過另一個模塊函數(shù)調(diào)用函數(shù)來增加變量,值是test2函數(shù)。調(diào)用haha函數(shù),就相當于調(diào)用了test2函數(shù)。

10年的達坂城網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整達坂城建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“達坂城網(wǎng)站設(shè)計”,“達坂城網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

原理

python系統(tǒng)會維護一個變量的字典,可以通過locals()或者globals()獲取到該字典。由于字典是可變對象,那么,就可以動態(tài)的增加變量。由于函數(shù)也是一個對象,那么就可以將變量指向函數(shù)。這樣就可以達到動態(tài)修改函數(shù)名的目的了。

Python獲取函數(shù)參數(shù)個數(shù)和默認參數(shù)

創(chuàng)建一個函數(shù)用來計算三個數(shù)的和,如下:

下來,我們對其進行調(diào)用:

假設(shè)我們要計算這個函數(shù)返回結(jié)果的平均值。那么此時,我們只需將和值除以參數(shù)個數(shù)即可,那么參數(shù)個數(shù)怎么獲取呢?你可能會說:數(shù)一下就知道了。那么假設(shè)此時有很多的參數(shù),你還去數(shù)嗎?此時,明顯這個方法是不恰當?shù)模敲从袥]有更加方便、高效的方法呢?我們接著往下看。

通過上面這個例子,我們不但可以獲取參數(shù)個數(shù),還可以獲取所有變量名以及默認返回值。此時,我們只需根據(jù)自己的需求,去應(yīng)用就可以了,那么以上的問題,就自然解決了。

python里怎么樣通過函數(shù)名稱來獲取函數(shù)地址

如果你想通過函數(shù)的名稱來獲取函數(shù)的運行地址,可以像下面這樣實現(xiàn):

[python]?view plain?copy

#?File:?builtin-import-example-2.py

def?getfunctionbyname(module_name,?function_name):

module?=?__import__(module_name)

return?getattr(module,?function_name)

print(?repr(getfunctionbyname("dbm",?"open"))?)

在這段代碼里,通過open字符串的名稱獲取數(shù)據(jù)庫管理模塊dbm的open函數(shù)地址。

運行之后,輸出如下:

=== RESTART: D:\work\csdn\python_Game1\example\builtin-import-example-2.py ===

function open at 0x00000226467B2BF8

Python如何通過字符或數(shù)字動態(tài)獲取對象的名稱或者屬性?

首先通過一個例子來看一下本文中可能用到的對象和相關(guān)概念。

#coding: UTF-8

import sys # 模塊,sys指向這個模塊對象

import inspect

def foo(): pass # 函數(shù),foo指向這個函數(shù)對象

class Cat(object): # 類,Cat指向這個類對象

def __init__(self, name='kitty'):

self.name = name

def sayHi(self): # 實例方法,sayHi指向這個方法對象,使用類或?qū)嵗?sayHi訪問

print self.name, 'says Hi!' # 訪問名為name的字段,使用實例.name訪問

cat = Cat() # cat是Cat類的實例對象

print Cat.sayHi # 使用類名訪問實例方法時,方法是未綁定的(unbound)

print cat.sayHi # 使用實例訪問實例方法時,方法是綁定的(bound)

有時候我們會碰到這樣的需求,需要執(zhí)行對象的某個方法,或是需要對對象的某個字段賦值,而方法名或是字段名在編碼代碼時并不能確定,需要通過參數(shù)傳遞字符串的形式輸入。舉個具體的例子:當我們需要實現(xiàn)一個通用的DBM框架時,可能需要對數(shù)據(jù)對象的字段賦值,但我們無法預(yù)知用到這個框架的數(shù)據(jù)對象都有些什么字段,換言之,我們在寫框架的時候需要通過某種機制訪問未知的屬性。

這個機制被稱為反射(反過來讓對象告訴我們他是什么),或是自省(讓對象自己告訴我們他是什么,好吧我承認括號里是我瞎掰的- -#),用于實現(xiàn)在運行時獲取未知對象的信息。反射是個很嚇唬人的名詞,聽起來高深莫測,在一般的編程語言里反射相對其他概念來說稍顯復(fù)雜,一般來說都是作為高級主題來講;但在Python中反射非常簡單,用起來幾乎感覺不到與其他的代碼有區(qū)別,使用反射獲取到的函數(shù)和方法可以像平常一樣加上括號直接調(diào)用,獲取到類后可以直接構(gòu)造實例;不過獲取到的字段不能直接賦值,因為拿到的其實是另一個指向同一個地方的引用,賦值只能改變當前的這個引用而已。

1. 訪問對象的屬性

以下列出了幾個內(nèi)建方法,可以用來檢查或是訪問對象的屬性。這些方法可以用于任意對象而不僅僅是例子中的Cat實例對象;Python中一切都是對象。

cat = Cat('kitty')

print cat.name # 訪問實例屬性

cat.sayHi() # 調(diào)用實例方法

print dir(cat) # 獲取實例的屬性名,以列表形式返回

if hasattr(cat, 'name'): # 檢查實例是否有這個屬性

setattr(cat, 'name', 'tiger') # same as: a.name = 'tiger'

print getattr(cat, 'name') # same as: print a.name

getattr(cat, 'sayHi')() # same as: cat.sayHi()

dir([obj]):

調(diào)用這個方法將返回包含obj大多數(shù)屬性名的列表(會有一些特殊的屬性不包含在內(nèi))。obj的默認值是當前的模塊對象。

hasattr(obj, attr):

這個方法用于檢查obj是否有一個名為attr的值的屬性,返回一個布爾值。

getattr(obj, attr):

調(diào)用這個方法將返回obj中名為attr值的屬性的值,例如如果attr為'bar',則返回obj.bar。

setattr(obj, attr, val):

調(diào)用這個方法將給obj的名為attr的值的屬性賦值為val。例如如果attr為'bar',則相當于obj.bar = val。

2. 訪問對象的元數(shù)據(jù)

當你對一個你構(gòu)造的對象使用dir()時,可能會發(fā)現(xiàn)列表中的很多屬性并不是你定義的。這些屬性一般保存了對象的元數(shù)據(jù),比如類的__name__屬性保存了類名。大部分這些屬性都可以修改,不過改動它們意義并不是很大;修改其中某些屬性如function.func_code還可能導(dǎo)致很難發(fā)現(xiàn)的問題,所以改改name什么的就好了,其他的屬性不要在不了解后果的情況下修改。

接下來列出特定對象的一些特殊屬性。另外,Python的文檔中有提到部分屬性不一定會一直提供,下文中將以紅色的星號*標記,使用前你可以先打開解釋器確認一下。

2.0. 準備工作:確定對象的類型

在types模塊中定義了全部的Python內(nèi)置類型,結(jié)合內(nèi)置方法isinstance()就可以確定對象的具體類型了。

isinstance(object, classinfo):

檢查object是不是classinfo中列舉出的類型,返回布爾值。classinfo可以是一個具體的類型,也可以是多個類型的元組或列表。

types模塊中僅僅定義了類型,而inspect模塊中封裝了很多檢查類型的方法,比直接使用types模塊更為輕松,所以這里不給出關(guān)于types的更多介紹,如有需要可以直接查看types模塊的文檔說明。本文第3節(jié)中介紹了inspect模塊。

2.1. 模塊(module)

__doc__: 文檔字符串。如果模塊沒有文檔,這個值是None。

*__name__: 始終是定義時的模塊名;即使你使用import .. as 為它取了別名,或是賦值給了另一個變量名。

*__dict__: 包含了模塊里可用的屬性名-屬性的字典;也就是可以使用模塊名.屬性名訪問的對象。

__file__: 包含了該模塊的文件路徑。需要注意的是內(nèi)建的模塊沒有這個屬性,訪問它會拋出異常!

import fnmatch as m

print m.__doc__.splitlines()[0] # Filename matching with shell patterns.

print m.__name__ # fnmatch

print m.__file__ # /usr/lib/python2.6/fnmatch.pyc

print m.__dict__.items()[0] # ('fnmatchcase', function fnmatchcase="" at="" 0xb73deb54="")/function

2.2. 類(class)

__doc__: 文檔字符串。如果類沒有文檔,這個值是None。

*__name__: 始終是定義時的類名。

*__dict__: 包含了類里可用的屬性名-屬性的字典;也就是可以使用類名.屬性名訪問的對象。

__module__: 包含該類的定義的模塊名;需要注意,是字符串形式的模塊名而不是模塊對象。

*__bases__: 直接父類對象的元組;但不包含繼承樹更上層的其他類,比如父類的父類。

print Cat.__doc__ # None

print Cat.__name__ # Cat

print Cat.__module__ # __main__

print Cat.__bases__ # (type ?object?="",)

print Cat.__dict__ # {'__module__': '__main__', ...}/type

2.3. 實例(instance)

實例是指類實例化以后的對象。

*__dict__: 包含了可用的屬性名-屬性字典。

*__class__: 該實例的類對象。對于類Cat,cat.__class__ == Cat 為 True。

print cat.__dict__

print cat.__class__

print cat.__class__ == Cat # True

2.4. 內(nèi)建函數(shù)和方法(built-in functions and methods)

根據(jù)定義,內(nèi)建的(built-in)模塊是指使用C寫的模塊,可以通過sys模塊的builtin_module_names字段查看都有哪些模塊是內(nèi)建的。這些模塊中的函數(shù)和方法可以使用的屬性比較少,不過一般也不需要在代碼中查看它們的信息。

__doc__: 函數(shù)或方法的文檔。

__name__: 函數(shù)或方法定義時的名字。

__self__: 僅方法可用,如果是綁定的(bound),則指向調(diào)用該方法的類(如果是類方法)或?qū)嵗ㄈ绻菍嵗椒ǎ駝t為None。

*__module__: 函數(shù)或方法所在的模塊名。

2.5. 函數(shù)(function)

這里特指非內(nèi)建的函數(shù)。注意,在類中使用def定義的是方法,方法與函數(shù)雖然有相似的行為,但它們是不同的概念。

__doc__: 函數(shù)的文檔;另外也可以用屬性名func_doc。

__name__: 函數(shù)定義時的函數(shù)名;另外也可以用屬性名func_name。

*__module__: 包含該函數(shù)定義的模塊名;同樣注意,是模塊名而不是模塊對象。

*__dict__: 函數(shù)的可用屬性;另外也可以用屬性名func_dict。

不要忘了函數(shù)也是對象,可以使用函數(shù).屬性名訪問屬性(賦值時如果屬性不存在將新增一個),或使用內(nèi)置函數(shù)has/get/setattr()訪問。不過,在函數(shù)中保存屬性的意義并不大。

func_defaults: 這個屬性保存了函數(shù)的參數(shù)默認值元組;因為默認值總是靠后的參數(shù)才有,所以不使用字典的形式也是可以與參數(shù)對應(yīng)上的。

func_code: 這個屬性指向一個該函數(shù)對應(yīng)的code對象,code對象中定義了其他的一些特殊屬性,將在下文中另外介紹。

func_globals: 這個屬性指向當前的全局命名空間而不是定義函數(shù)時的全局命名空間,用處不大,并且是只讀的。

*func_closure: 這個屬性僅當函數(shù)是一個閉包時有效,指向一個保存了所引用到的外部函數(shù)的變量cell的元組,如果該函數(shù)不是一個內(nèi)部函數(shù),則始終為None。這個屬性也是只讀的。

下面的代碼演示了func_closure:

#coding: UTF-8

def foo():

n = 1

def bar():

print n # 引用非全局的外部變量n,構(gòu)造一個閉包

n = 2

return bar

closure = foo()

print closure.func_closure

# 使用dir()得知cell對象有一個cell_contents屬性可以獲得值

print closure.func_closure[0].cell_contents # 2

由這個例子可以看到,遇到未知的對象使用dir()是一個很好的主意 :)

2.6. 方法(method)

方法雖然不是函數(shù),但可以理解為在函數(shù)外面加了一層外殼;拿到方法里實際的函數(shù)以后,就可以使用2.5節(jié)的屬性了。

__doc__: 與函數(shù)相同。

__name__: 與函數(shù)相同。

*__module__: 與函數(shù)相同。

im_func: 使用這個屬性可以拿到方法里實際的函數(shù)對象的引用。另外如果是2.6以上的版本,還可以使用屬性名__func__。

im_self: 如果是綁定的(bound),則指向調(diào)用該方法的類(如果是類方法)或?qū)嵗ㄈ绻菍嵗椒ǎ駝t為None。如果是2.6以上的版本,還可以使用屬性名__self__。

im_class: 實際調(diào)用該方法的類,或?qū)嶋H調(diào)用該方法的實例的類。注意不是方法的定義所在的類,如果有繼承關(guān)系的話。

im = cat.sayHi

print im.im_func

print im.im_self # cat

print im.im_class # Cat

這里討論的是一般的實例方法,另外還有兩種特殊的方法分別是類方法(classmethod)和靜態(tài)方法(staticmethod)。類方法還是方法,不過因為需要使用類名調(diào)用,所以他始終是綁定的;而靜態(tài)方法可以看成是在類的命名空間里的函數(shù)(需要使用類名調(diào)用的函數(shù)),它只能使用函數(shù)的屬性,不能使用方法的屬性。

2.7. 生成器(generator)

生成器是調(diào)用一個生成器函數(shù)(generator function)返回的對象,多用于集合對象的迭代。

__iter__: 僅僅是一個可迭代的標記。

gi_code: 生成器對應(yīng)的code對象。

gi_frame: 生成器對應(yīng)的frame對象。

gi_running: 生成器函數(shù)是否在執(zhí)行。生成器函數(shù)在yield以后、執(zhí)行yield的下一行代碼前處于frozen狀態(tài),此時這個屬性的值為0。

next|close|send|throw: 這是幾個可調(diào)用的方法,并不包含元數(shù)據(jù)信息,如何使用可以查看生成器的相關(guān)文檔。

def gen():

for n in xrange(5):

yield n

g = gen()

print g # generator object gen at 0x...

print g.gi_code # code object gen at 0x...

print g.gi_frame # frame object at 0x...

print g.gi_running # 0

print g.next() # 0

print g.next() # 1

for n in g:

print n, # 2 3 4

接下來討論的是幾個不常用到的內(nèi)置對象類型。這些類型在正常的編碼過程中應(yīng)該很少接觸,除非你正在自己實現(xiàn)一個解釋器或開發(fā)環(huán)境之類。所以這里只列出一部分屬性,如果需要一份完整的屬性表或想進一步了解,可以查看文末列出的參考文檔。

2.8. 代碼塊(code)

代碼塊可以由類源代碼、函數(shù)源代碼或是一個簡單的語句代碼編譯得到。這里我們只考慮它指代一個函數(shù)時的情況;2.5節(jié)中我們曾提到可以使用函數(shù)的func_code屬性獲取到它。code的屬性全部是只讀的。

co_argcount: 普通參數(shù)的總數(shù),不包括*參數(shù)和**參數(shù)。

co_names: 所有的參數(shù)名(包括*參數(shù)和**參數(shù))和局部變量名的元組。

co_varnames: 所有的局部變量名的元組。

co_filename: 源代碼所在的文件名。

co_flags: 這是一個數(shù)值,每一個二進制位都包含了特定信息。較關(guān)注的是0b100(0×4)和0b1000(0×8),如果co_flags 0b100 != 0,說明使用了*args參數(shù);如果co_flags 0b1000 != 0,說明使用了**kwargs參數(shù)。另外,如果co_flags 0b100000(0×20) != 0,則說明這是一個生成器函數(shù)(generator function)。

co = cat.sayHi.func_code

print co.co_argcount # 1

print co.co_names # ('name',)

print co.co_varnames # ('self',)

print co.co_flags 0b100 # 0

2.9. 棧幀(frame)

棧幀表示程序運行時函數(shù)調(diào)用棧中的某一幀。函數(shù)沒有屬性可以獲取它,因為它在函數(shù)調(diào)用時才會產(chǎn)生,而生成器則是由函數(shù)調(diào)用返回的,所以有屬性指向棧幀。想要獲得某個函數(shù)相關(guān)的棧幀,則必須在調(diào)用這個函數(shù)且這個函數(shù)尚未返回時獲取。你可以使用sys模塊的_getframe()函數(shù)、或inspect模塊的currentframe()函數(shù)獲取當前棧幀。這里列出來的屬性全部是只讀的。

f_back: 調(diào)用棧的前一幀。

f_code: 棧幀對應(yīng)的code對象。

f_locals: 用在當前棧幀時與內(nèi)建函數(shù)locals()相同,但你可以先獲取其他幀然后使用這個屬性獲取那個幀的locals()。

f_globals: 用在當前棧幀時與內(nèi)建函數(shù)globals()相同,但你可以先獲取其他幀……。

def add(x, y=1):

f = inspect.currentframe()

print f.f_locals # same as locals()

print f.f_back # frame object at 0x...

return x+y

add(2)

2.10. 追蹤(traceback)

追蹤是在出現(xiàn)異常時用于回溯的對象,與棧幀相反。由于異常時才會構(gòu)建,而異常未捕獲時會一直向外層棧幀拋出,所以需要使用try才能見到這個對象。你可以使用sys模塊的exc_info()函數(shù)獲得它,這個函數(shù)返回一個元組,元素分別是異常類型、異常對象、追蹤。traceback的屬性全部是只讀的。

tb_next: 追蹤的下一個追蹤對象。

tb_frame: 當前追蹤對應(yīng)的棧幀。

tb_lineno: 當前追蹤的行號。

def div(x, y):

try:

return x/y

except:

tb = sys.exc_info()[2] # return (exc_type, exc_value, traceback)

print tb

print tb.tb_lineno # "return x/y" 的行號

div(1, 0)

3. 使用inspect模塊

inspect模塊提供了一系列函數(shù)用于幫助使用自省。下面僅列出較常用的一些函數(shù),想獲得全部的函數(shù)資料可以查看inspect模塊的文檔。

3.1. 檢查對象類型

is{module|class|function|method|builtin}(obj):

檢查對象是否為模塊、類、函數(shù)、方法、內(nèi)建函數(shù)或方法。

isroutine(obj):

用于檢查對象是否為函數(shù)、方法、內(nèi)建函數(shù)或方法等等可調(diào)用類型。用這個方法會比多個is*()更方便,不過它的實現(xiàn)仍然是用了多個is*()。

im = cat.sayHi

if inspect.isroutine(im):

im()

對于實現(xiàn)了__call__的類實例,這個方法會返回False。如果目的是只要可以直接調(diào)用就需要是True的話,不妨使用isinstance(obj, collections.Callable)這種形式。我也不知道為什么Callable會在collections模塊中,抱歉!我猜大概是因為collections模塊中包含了很多其他的ABC(Abstract Base Class)的緣故吧:)

3.2. 獲取對象信息

getmembers(object[, predicate]):

這個方法是dir()的擴展版,它會將dir()找到的名字對應(yīng)的屬性一并返回,形如[(name, value), ...]。另外,predicate是一個方法的引用,如果指定,則應(yīng)當接受value作為參數(shù)并返回一個布爾值,如果為False,相應(yīng)的屬性將不會返回。使用is*作為第二個參數(shù)可以過濾出指定類型的屬性。

getmodule(object):

還在為第2節(jié)中的__module__屬性只返回字符串而遺憾嗎?這個方法一定可以滿足你,它返回object的定義所在的模塊對象。

get{file|sourcefile}(object):

獲取object的定義所在的模塊的文件名|源代碼文件名(如果沒有則返回None)。用于內(nèi)建的對象(內(nèi)建模塊、類、函數(shù)、方法)上時會拋出TypeError異常。

get{source|sourcelines}(object):

獲取object的定義的源代碼,以字符串|字符串列表返回。代碼無法訪問時會拋出IOError異常。只能用于module/class/function/method/code/frame/traceack對象。

getargspec(func):

僅用于方法,獲取方法聲明的參數(shù),返回元組,分別是(普通參數(shù)名的列表, *參數(shù)名, **參數(shù)名, 默認值元組)。如果沒有值,將是空列表和3個None。如果是2.6以上版本,將返回一個命名元組(Named Tuple),即除了索引外還可以使用屬性名訪問元組中的元素。

def add(x, y=1, *z):

return x + y + sum(z)

print inspect.getargspec(add)

#ArgSpec(args=['x', 'y'], varargs='z', keywords=None, defaults=(1,))

getargvalues(frame):

僅用于棧幀,獲取棧幀中保存的該次函數(shù)調(diào)用的參數(shù)值,返回元組,分別是(普通參數(shù)名的列表, *參數(shù)名, **參數(shù)名, 幀的locals())。如果是2.6以上版本,將返回一個命名元組(Named Tuple),即除了索引外還可以使用屬性名訪問元組中的元素。

def add(x, y=1, *z):

print inspect.getargvalues(inspect.currentframe())

return x + y + sum(z)

add(2)

#ArgInfo(args=['x', 'y'], varargs='z', keywords=None, locals={'y': 1, 'x': 2, 'z': ()})

getcallargs(func[, *args][, **kwds]):

返回使用args和kwds調(diào)用該方法時各參數(shù)對應(yīng)的值的字典。這個方法僅在2.7版本中才有。

getmro(cls):

返回一個類型元組,查找類屬性時按照這個元組中的順序。如果是新式類,與cls.__mro__結(jié)果一樣。但舊式類沒有__mro__這個屬性,直接使用這個屬性會報異常,所以這個方法還是有它的價值的。

print inspect.getmro(Cat)

#(class '__main__.Cat', type 'object')

print Cat.__mro__

#(class '__main__.Cat', type 'object')

python如何獲取函數(shù)的參數(shù)名

我這里用的是IDLE(我自己也覺得有點低端),Python3(2應(yīng)該也可以)

help()

Welcome to Python 3.7's help utility!

If this is your first time using Python, you should definitely check out

the tutorial on the Internet at .

Enter the name of any module, keyword, or topic to get help on writing

Python programs and using Python modules. To quit this help utility and

return to the interpreter, just type "quit".

To get a list of available modules, keywords, symbols, or topics, type

"modules", "keywords", "symbols", or "topics". Each module also comes

with a one-line summary of what it does; to list the modules whose name

or summary contain a given string such as "spam", type "modules spam".

help sum

Help on built-in function sum in module builtins:

sum(iterable, start=0, /)

Return the sum of a 'start' value (default: 0) plus an iterable of numbers

When the iterable is empty, return the start value.

This function is intended specifically for use with numeric values and may

reject non-numeric types.

解釋一下:先在Shell輸入help(),它就會問你你要哪個函數(shù)的說明。然后你輸入對應(yīng)函數(shù)(比如sum),就可以看到這一行:sum(iterable, start=0, /),也就是說你要先輸入iterable參數(shù),start可以選擇輸入(有默認值)。

或者還有一種方法:用的時候直接輸入函數(shù)加上左括號 比如sum( 然后你就可以看到下面有一個框,然后按照說明寫就好了。如果不小心不見了,就可以把左括號去掉再重新輸入,就可以再看到這個框啦!

如何用python解析獲取C源文件的函數(shù)名

class stdata(Structure):

_fields_ = [('pBuf', c_char_p), ('buflen', c_int)]

N=100

buf = create_string_buffer(N)

d = stdata()

d.buflen = N

d.pBuf = cast(buf, c_char_p)

n = CallMyCFunc_GetData(byref(d))

關(guān)鍵在于create_string_buffer創(chuàng)建可寫buffer;cast轉(zhuǎn)換為char*類型。


文章名稱:python獲取函數(shù)名 python獲取對象的名字
文章源于:http://www.xueling.net.cn/article/doccgpi.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲激情视频免费观看 | 高清国产天堂在线bt免费 | 成人毛片大全 | 国产熟妇乱子伦视频在线观看 | 精品少妇人妻AV免费久久洗澡 | 日本免费新一区视频 | 少妇人妻综合久久中文字幕 | 一级黄色录像毛片 | 欧美黑人xxxx性高清版 | 免费观看亚洲人成网站 | 日本高清不卡一区 | 日本三级在线观看视频 | 国产精品爽爽爽爽爽爽在线观看 | FREEZEFRAME丰满老妇 | 影视先锋AV资源噜噜 | 国产精品一区二区免费在线观看 | 亚洲一区二区在线免费观看视频 | 99久视频| 成人高清视频免费观看 | 一区二区三区日韩精品 | 日p在线观看 | 国产在线观看免费人成视频 | 亚洲欧美成人 | 久久精品一区中文字幕 | 亚洲自偷观看高清久久 | 久久久免费的成人性教育片 | 亚洲AV无码一区二区三区系列 | 二级大黄大片在线播放 | 国产视热频国只有精品 | 中文字幕日韩一区 | 欧美激情国产日韩精品一区18 | 蜜桃视频麻豆女神沈芯语免费观看 | 日韩AV无码中文字幕 | 久久无码人妻国产一区二区 | 91探花福利精品国产自产在线 | 六九视频在线观看 | 豪放女大兵免费看 | a4yy私人毛片 | 国产在线视频www色 一区二区三区网址 | 中文人妻精品一区在线 | 国内一级片在线观看 |