




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
面向對象程序設計(ObjectOrientedProgramming,OOP)主要針對大型軟件設計而提出,使得軟件設計更加靈活,能夠很好地支持代碼復用和設計復用,并且使得代碼具有更好的可讀性和可擴展性。面向對象程序設計的一條基本原則是計算機程序由多個能夠起到子程序作用的單元或對象組合而成,這大大地降低了軟件開發(fā)的難度,使得編程就像搭積木一樣簡單。面向對象程序設計的一個關鍵性觀念是將數(shù)據(jù)以及對數(shù)據(jù)的操作封裝在一起,組成一個相互依存、不可分割的整體,即對象。對于相同類型的對象進行分類、抽象后,得出共同的特征而形成了類,面向對象程序設計的關鍵就是如何合理地定義和組織這些類以及類之間的關系。面向對象程序設計面向對象程序設計Python完全采用了面向對象程序設計的思想,是真正面向對象的高級動態(tài)編程語言,完全支持面向對象的基本功能,如封裝、繼承、多態(tài)以及對基類方法的覆蓋或重寫。Python中對象的概念很廣泛,Python中的一切內容都可以稱為對象,除了數(shù)字、字符串、列表、元組、字典、集合、range對象、zip對象等等,函數(shù)也是對象,類也是對象。創(chuàng)建類時用變量形式表示的對象屬性稱為數(shù)據(jù)成員,用函數(shù)形式表示的對象行為稱為成員方法,成員屬性和成員方法統(tǒng)稱為類的成員。7.1.1類定義語法Python使用class關鍵字來定義類,class關鍵字之后是一個空格,然后是類的名字,再然后是一個冒號,最后換行并定義類的內部實現(xiàn)。類名的首字母一般要大寫,當然也可以按照自己的習慣定義類名,但一般推薦參考慣例來命名,并在整個系統(tǒng)的設計和實現(xiàn)中保持風格一致,這一點對于團隊合作尤其重要。classCar:
definfor(self):print("Thisisacar")7.1.1類定義語法定義了類之后,可以用來實例化對象,并通過“對象名.成員”的方式來訪問其中的數(shù)據(jù)成員或成員方法。>>>car=Car()>>>r()Thisisacar在Python中,可以使用內置方法isinstance()來測試一個對象是否為某個類的實例。>>>isinstance(car,Car)True>>>isinstance(car,str)False7.1.1類定義語法Python提供了一個關鍵字“pass”,類似于空語句,可以用在類和函數(shù)的定義中或者選擇結構中。當暫時沒有確定如何實現(xiàn)功能,或者為以后的軟件升級預留空間,或者其他類型功能時,可以使用該關鍵字來“占位”。>>>classA:
pass>>>defdemo():
pass>>>if5>3:
pass7.1.2self參數(shù)類的所有實例方法都必須至少有一個名為self的參數(shù),并且必須是方法的第一個形參(如果有多個形參的話),self參數(shù)代表將來要創(chuàng)建的對象本身。在類的實例方法中訪問實例屬性時需要以self為前綴。在外部通過對象名調用對象方法時并不需要傳遞這個參數(shù)。如果在外部通過類名調用對象方法則需要顯式為self參數(shù)傳值。7.1.2self參數(shù)在Python中,在類中定義實例方法時將第一個參數(shù)定義為“self”只是一個習慣,而實際上類的實例方法中第一個參數(shù)的名字是可以變化的,而不必須使用“self”這個名字,盡管如此,建議編寫代碼時仍以self作為方法的第一個參數(shù)名字。>>>classA:
def__init__(hahaha,v):
hahaha.value=v
defshow(hahaha):
print(hahaha.value)>>>a=A(3)>>>a.show()37.1.3類成員與實例成員屬于實例的數(shù)據(jù)成員一般是指在構造函數(shù)__init__()中定義的,定義和使用時必須以self作為前綴;屬于類的數(shù)據(jù)成員是在類中所有方法之外定義的。在主程序中(或類的外部),實例屬性屬于實例(對象),只能通過對象名訪問;而類屬性屬于類,可以通過類名或對象名都可以訪問。7.1.3類成員與實例成員在實例方法中可以調用該實例的其他方法,也可以訪問類屬性以及實例屬性。在Python中比較特殊的是,可以動態(tài)地為類和對象增加成員,這一點是和很多面向對象程序設計語言不同的,也是Python動態(tài)類型特點的一種重要體現(xiàn)。7.1.3類成員與實例成員classCar:price=100000#定義類屬性
def__init__(self,c):self.color=c#定義實例屬性car1=Car("Red")#實例化對象car2=Car("Blue")print(car1.color,Car.price)#查看實例屬性和類屬性的值Car.price=110000#修改類屬性C='QQ'#動態(tài)增加類屬性car1.color="Yellow"#修改實例屬性print(car2.color,Car.price,C)print(car1.color,Car.price,C)7.1.3類成員與實例成員importtypesdefsetSpeed(self,s):self.speed=scar1.setSpeed=types.MethodType(setSpeed,car1)#動態(tài)增加成員方法car1.setSpeed(50)#調用成員方法print(car1.speed)Python類型的動態(tài)性使得我們可以動態(tài)為自定義類及其對象增加新的屬性和行為,俗稱混入(mixin)機制,這在大型項目開發(fā)中會非常方便和實用。例如系統(tǒng)中的所有用戶分類非常復雜,不同用戶組具有不同的行為和權限,并且可能會經(jīng)常改變。這時候我們可以獨立地定義一些行為,然后根據(jù)需要來為不同的用戶設置相應的行為能力。7.1.3類成員與實例成員>>>importtypes>>>classPerson(object):
def__init__(self,name):
assertisinstance(name,str),'namemustbestring'
=name>>>defsing(self):
print(+'cansing.')>>>defwalk(self):
print(+'canwalk.')
>>>defeat(self):
print(+'caneat.')7.1.3類成員與實例成員>>>zhang=Person('zhang')>>>zhang.sing()#用戶不具有該行為AttributeError:'Person'objecthasnoattribute'sing'>>>zhang.sing=types.MethodType(sing,zhang)#動態(tài)增加一個新行為>>>zhang.sing()zhangcansing.>>>zhang.walk()AttributeError:'Person'objecthasnoattribute'walk'>>>zhang.walk=types.MethodType(walk,zhang)>>>zhang.walk()zhangcanwalk.>>>delzhang.walk#刪除用戶行為>>>zhang.walk()AttributeError:'Person'objecthasnoattribute'walk'7.1.3類成員與實例成員7.1.3類成員與實例成員在Python中,函數(shù)和方法是有區(qū)別的。方法一般指與特定實例綁定的函數(shù),通過對象調用方法時,對象本身將被作為第一個參數(shù)隱式傳遞過去,普通函數(shù)并不具備這個特點。>>>classDemo:
pass>>>t=Demo()>>>deftest(self,v):
self.value=v >>>t.test=test>>>t.test#普通函數(shù)<functiontestat0x00000000034B7EA0>>>>t.test(t,3)#必須為self參數(shù)傳值7.1.3類成員與實例成員>>>t.test=types.MethodType(test,t)>>>t.test#綁定的方法<boundmethodtestof<__main__.Demoobjectat0x000000000074F9E8>>>>>t.test(5)#不需要為self參數(shù)傳值7.1.4私有成員與公有成員Python并沒有對私有成員提供嚴格的訪問保護機制。在定義類的成員時,如果成員名以兩個下劃線“__”或更多下劃線開頭而不以兩個或更多下劃線結束則表示是私有成員。私有成員在類的外部不能直接訪問,需要通過調用對象的公開成員方法來訪問,也可以通過Python支持的特殊方式來訪問。公開成員既可以在類的內部進行訪問,也可以在外部程序中使用。7.1.4私有成員與公有成員>>>classA: def__init__(self,value1=0,value2=0): self._value1=value1 self.__value2=value2 defsetValue(self,value1,value2): self._value1=value1 self.__value2=value2 defshow(self): print(self._value1) print(self.__value2)>>>a=A()>>>a._value10>>>a._A__value2#在外部訪問對象的私有數(shù)據(jù)成員07.1.4私有成員與公有成員在IDLE環(huán)境中,在對象或類名后面加上一個圓點“.”,稍等一秒鐘則會自動列出其所有公開成員,模塊也具有同樣的用法。如果在圓點“.”后面再加一個下劃線,則會列出該對象、類或模塊的所有成員,包括私有成員。7.1.4私有成員與公有成員在Python中,以下劃線開頭的變量名和方法名有特殊的含義,尤其是在類的定義中。用下劃線作為變量名和方法名前綴和后綴來表示類的特殊成員:_xxx:受保護成員,不能用'frommoduleimport*'導入;__xxx__:系統(tǒng)定義的特殊成員;__xxx:私有成員,只有類對象自己能訪問,子類對象不能直接訪問到這個成員,但在對象外部可以通過“對象名._類名__xxx”這樣的特殊方式來訪問。注意:Python中不存在嚴格意義上的私有成員。7.1.4私有成員與公有成員在IDLE交互模式下,一個下劃線“_”表示解釋器中最后一次顯示的內容或最后一次語句正確執(zhí)行的輸出結果。>>>3+58>>>8+210>>>_*330>>>_/56.0>>>1/0ZeroDivisionError:integerdivisionormodulobyzero>>>_6.0在程序中,可以使用一個下劃線來表示不關心該變量的值。>>>for_inrange(5):
print(3,end='')
33333>>>a,_=divmod(60,18)#只關心整商,不關心余數(shù),
#等價于a=60//18>>>a37.1.4私有成員與公有成員7.1.4私有成員與公有成員下面的代碼演示了特殊成員定義和訪問的方法:>>>classFruit:
def__init__(self):
self.__color='Red'
self.price=1>>>apple=Fruit()>>>apple.price#顯示對象公開數(shù)據(jù)成員的值1>>>apple.price=2#修改對象公開數(shù)據(jù)成員的值>>>apple.price2>>>print(apple.price,apple._Fruit__color)#顯示對象私有數(shù)據(jù)成員的值2Red>>>apple._Fruit__color="Blue"#修改對象私有數(shù)據(jù)成員的值>>>print(apple.price,apple._Fruit__color)2Blue>>>print(apple.__color)#不能直接訪問對象的私有數(shù)據(jù)成員,出錯AttributeError:Fruitinstancehasnoattribute'__color'7.2方法在類中定義的方法可以粗略分為四大類:公有方法、私有方法、靜態(tài)方法和類方法。公有方法、私有方法都屬于對象,私有方法的名字以兩個下劃線“__”開始,每個對象都有自己的公有方法和私有方法,在這兩類方法中可以訪問屬于類和對象的成員;公有方法通過對象名直接調用,私有方法不能通過對象名直接調用,只能在屬于對象的方法中通過self調用或在外部通過Python支持的特殊方式來調用。如果通過類名來調用屬于對象的公有方法,需要顯式為該方法的self參數(shù)傳遞一個對象名,用來明確指定訪問哪個對象的數(shù)據(jù)成員。7.2方法靜態(tài)方法和類方法都可以通過類名和對象名調用,但不能直接訪問屬于對象的成員,只能訪問屬于類的成員。靜態(tài)方法可以沒有參數(shù)。一般將cls作為類方法的第一個參數(shù)名稱,但也可以使用其他的名字作為參數(shù),并且在調用類方法時不需要為該參數(shù)傳遞值。>>>classRoot:__total=0def__init__(self,v):#構造方法self.__value=vRoot.__total+=1defshow(self):#普通實例方法print('self.__value:',self.__value)print('Root.__total:',Root.__total)@classmethod#修飾器,聲明類方法defclassShowTotal(cls):#類方法print(cls.__total)@staticmethod#修飾器,聲明靜態(tài)方法defstaticShowTotal():#靜態(tài)方法print(Root.__total)7.2方法7.2方法>>>r=Root(3)>>>r.classShowTotal()#通過對象來調用類方法1>>>r.staticShowTotal()#通過對象來調用靜態(tài)方法1>>>r.show()self.__value:3Root.__total:1>>>rr=Root(5)>>>Root.classShowTotal()#通過類名調用類方法2>>>Root.staticShowTotal()#通過類名調用靜態(tài)方法27.2方法>>>Root.show()#試圖通過類名直接調用實例方法,失敗TypeError:unboundmethodshow()mustbecalledwithRootinstanceasfirstargument(gotnothinginstead)>>>Root.show(r)#但是可以通過這種方法來調用方法并訪問實例成員self.__value:3Root.__total:2>>>Root.show(rr)#通過類名調用實例方法時為self參數(shù)顯式傳遞對象名self.__value:5Root.__total:27.3屬性Python2.x和Python3.x對屬性的實現(xiàn)和處理方式不一樣,內部實現(xiàn)有較大的差異,使用時應注意二者之間的區(qū)別。7.3.1Python2.x中的屬性在Python2.x中,使用@property或property()來聲明一個屬性,然而屬性并沒有得到真正意義的實現(xiàn),也沒有提供應有的訪問保護機制。在Python2.x中,為對象增加新的數(shù)據(jù)成員時,隱藏同名的已有屬性。>>>classTest: def__init__(self,value): self.__value=value @property#修飾器,用來聲明屬性 defvalue(self): returnself.__value>>>a=Test(3)>>>a.value3>>>a.value=5#動態(tài)添加了新成員,隱藏了定義的屬性>>>a.value5>>>t._Test__value#原來的私有變量沒有改變37.3.1Python2.x中的屬性除了動態(tài)增加成員時會隱藏已有屬性,下面的代碼從表面看來是修改屬性的值,而實際上也是增加了新成員,從而隱藏了已有屬性。>>>classTest: def__init__(self,value): self.__value=value def__get(self): returnself.__value def__set(self,v): self.__value=v value=property(__get,__set)#可讀、可寫屬性 defshow(self): printself.__value7.3.1Python2.x中的屬性>>>t=Test(3)>>>t.value3>>>t.value+=2#動態(tài)添加了新成員>>>t.value#這里訪問的是新成員5>>>t.show()#訪問原來定義的私有數(shù)據(jù)成員3>>>delt.value#這里刪除的是剛才添加的新成員>>>t.value#訪問原來的屬性3>>>delt.value#試圖刪除屬性,失敗AttributeError:Testinstancehasnoattribute'value'>>>delt._Test__value#刪除私有成員>>>t.value#訪問屬性,但對應的私有成員已不存在,失敗AttributeError:Testinstancehasnoattribute'_Test__value'7.3.1Python2.x中的屬性下面的代碼演示了普通數(shù)據(jù)成員和私有數(shù)據(jù)成員的區(qū)別:>>>classTest: defshow(self): printself.value printself.__v>>>t=Test()>>>t.show()AttributeError:Testinstancehasnoattribute'value'>>>t.value=3#添加新的數(shù)據(jù)成員>>>t.show()3AttributeError:Testinstancehasnoattribute'_Test__v'>>>t.__v=5>>>t.show()3AttributeError:Testinstancehasnoattribute'_Test__v'>>>t._Test__v=5#添加私有數(shù)據(jù)成員>>>t.show()357.3.2Python3.x中的屬性在Python3.x中,屬性得到了較為完整的實現(xiàn),支持更加全面的保護機制。7.3.2Python3.x中的屬性只讀屬性>>>classTest: def__init__(self,value): self.__value=value @property defvalue(self):#只讀,無法修改和刪除
returnself.__value7.3.2Python3.x中的屬性>>>t=Test(3)>>>t.value3>>>t.value=5#只讀屬性不允許修改值AttributeError:can'tsetattribute>>>t.v=5#動態(tài)增加新成員>>>t.v5>>>delt.v#動態(tài)刪除成員>>>delt.value#試圖刪除對象屬性,失敗AttributeError:can'tdeleteattribute>>>t.value37.3.2Python3.x中的屬性可讀、可寫屬性>>>classTest: def__init__(self,value): self.__value=value def__get(self): returnself.__value def__set(self,v): self.__value=v value=property(__get,__set) defshow(self): print(self.__value)7.3.2Python3.x中的屬性>>>t=Test(3)>>>t.value#允許讀取屬性值3>>>t.value=5#允許修改屬性值>>>t.value5>>>t.show()#屬性對應的私有變量也得到了相應的修改5>>>delt.value#試圖刪除屬性,失敗AttributeError:can'tdeleteattribute7.3.2Python3.x中的屬性也可以將屬性設置為可讀、可修改、可刪除。>>>classTest: def__init__(self,value): self.__value=value def__get(self): returnself.__value def__set(self,v): self.__value=v def__del(self): delself.__value value=property(__get,__set,__del) defshow(self): print(self.__value)7.3.2Python3.x中的屬性>>>t=Test(3)>>>t.show()3>>>t.value3>>>t.value=5>>>t.show()5>>>t.value57.3.2Python3.x中的屬性>>>delt.value#刪除屬性>>>t.value#對應的私有數(shù)據(jù)成員已刪除AttributeError:'Test'objecthasnoattribute'_Test__value'>>>t.show()AttributeError:'Test'objecthasnoattribute'_Test__value'>>>t.value=1#為對象動態(tài)增加屬性和對應的私有數(shù)據(jù)成員>>>t.show()1>>>t.value17.4.1常用特殊方法Python類有大量的特殊方法,其中比較常見的是構造函數(shù)和析構函數(shù),除此之外,Python還支持大量的特殊方法,運算符重載就是通過重寫特殊方法實現(xiàn)的。Python中類的構造函數(shù)是__init__(),一般用來為數(shù)據(jù)成員設置初值或進行其他必要的初始化工作,在創(chuàng)建對象時被自動調用和執(zhí)行。如果用戶沒有設計構造函數(shù),Python將提供一個默認的構造函數(shù)用來進行必要的初始化工作。Python中類的析構函數(shù)是__del__(),一般用來釋放對象占用的資源,在Python刪除對象和收回對象空間時被自動調用和執(zhí)行。如果用戶沒有編寫析構函數(shù),Python將提供一個默認的析構函數(shù)進行必要的清理工作。方法功能說明__new__()類的靜態(tài)方法,用于確定是否要創(chuàng)建對象__init__()構造方法,創(chuàng)建對象時自動調用__del__()析構方法,釋放對象時自動調用__add__()+__sub__()-__mul__()*__truediv__()/__floordiv__()//__mod__()%__pow__()**__eq__()、__ne__()、__lt__()、__le__()、__gt__()、__ge__()==、!=、<、<=、>、>=__lshift__()、__rshift__()<<、>>__and__()、__or__()、__invert__()、__xor__()&、|、~、^7.4.1常用特殊方法方法功能說明__iadd__()、__isub__()+=、-=,很多其他運算符也有與之對應的復合賦值運算符__pos__()一元運算符+,正號__neg__()一元運算符-,負號__contains__()與成員測試運算符in對應__radd__()、__rsub__反射加法、反射減法,一般與普通加法和減法具有相同的功能,但操作數(shù)的位置或順序相反,很多其他運算符也有與之對應的反射運算符__abs__()與內置函數(shù)abs()對應__bool__()與內置函數(shù)bool()對應,要求該方法必須返回True或False__bytes__()與內置函數(shù)bytes()對應__complex__()與內置函數(shù)complex()對應,要求該方法必須返回復數(shù)__dir__()與內置函數(shù)dir()對應__divmod__()與內置函數(shù)divmod()對應__float__()與內置函數(shù)float()對應,要求該該方法必須返回實數(shù)__hash__()與內置函數(shù)hash()對應__int__()與內置函數(shù)int()對應,要求該方法必須返回整數(shù)7.4.1常用特殊方法方法功能說明__len__()與內置函數(shù)len()對應__next__()與內置函數(shù)next()對應__reduce__()提供對reduce()函數(shù)的支持__reversed__()與內置函數(shù)reversed()對應__round__()對內置函數(shù)round()對應__str__()與內置函數(shù)str()對應,要求該方法必須返回str類型的數(shù)據(jù)__repr__()打印、轉換,要求該方法必須返回str類型的數(shù)據(jù)__getitem__()按照索引獲取值__setitem__()按照索引賦值__delattr__()刪除對象的指定屬性__getattr__()獲取對象指定屬性的值,對應成員訪問運算符“.”7.4.1常用特殊方法方法功能說明__getattribute__()獲取對象指定屬性的值,如果同時定義了該方法與__getattr__(),那么__getattr__()將不會被調用,除非在__getattribute__()中顯式調用__getattr__()或者拋出AttributeError異常__setattr__()設置對象指定屬性的值__base__該類的基類__class__返回對象所屬的類__dict__對象所包含的屬性與值的字典__subclasses__()返回該類的所有子類__call__()包含該特殊方法的類的實例可以像函數(shù)一樣調用__get__()定義了這三個特殊方法中任何一個的類稱作描述符(descriptor),描述符對象一般作為其他類的屬性來使用,這三個方法分別在獲取屬性、修改屬性值或刪除屬性時被調用__set__()__delete__()7.4.1常用特殊方法7.4.2案例精選例6-1:自定義數(shù)組。在MyArray.py文件中,定義了一個數(shù)組類,重寫了一部分特殊方法以支持數(shù)組之間、數(shù)組與整數(shù)之間的四則運算以及內積、大小比較、成員測試和元素訪問等運算符。code\MyArray.py7.4.2案例精選>>>fromMyArrayimportMyArray>>>x=MyArray(1,2,3,4,5,6)>>>y=MyArray(6,5,4,3,2,1)>>>len(x)6>>>x+5[6,7,8,9,10,11]>>>x*3[3,6,9,12,15,18]>>>x.dot(y)56>>>x.append(7)>>>x[1,2,3,4,5,6,7]>>>x.dot(y)Thesizemustbeequal.>>>x[9]=8Indextypeerrororoutofrange7.4.2案例精選>>>x/2[0.5,1.0,1.5,2.0,2.5,3.0,3.5]>>>x//2[0,1,1,2,2,3,3]>>>x%3[1,2,0,1,2,0,1]>>>x[2]3>>>'a'inxFalse>>>3inxTrue>>>x<yTrue>>>x=MyArray(1,2,3,4,5,6)>>>x+y[7,7,7,7,7,7]例6-2自定義集合。模擬Python內置集合類型,實現(xiàn)元素添加、刪除以及并集、交集、對稱差集等基本運算。code\mySet.py7.4.2案例精選>>>frommySetimportSet#導入自定義集合類>>>x=Set(range(10))#創(chuàng)建集合對象>>>y=Set(range(8,15))>>>z=Set([1,2,3,4,5])>>>x{0,1,2,3,4,5,6,7,8,9}>>>y{8,9,10,11,12,13,14}>>>z.add(6)#增加元素>>>z{1,2,3,4,5,6}>>>z.remove(3)#刪除指定元素刪除成功>>>z{1,2,4,5,6}7.4.2案例精選>>>y.pop()#隨機刪除一個元素11>>>x-y#差集{0,1,2,3,4,5,6,7}>>>x-z{0,3,7,8,9}>>>x.difference(y){0,1,2,3,4,5,6,7}>>>x|y#并集{0,1,2,3,4,5,6,7,8,9,10,12,13,14}>>>x.union(y){0,1,2,3,4,5,6,7,8,9,10,12,13,14}>>>x&z#交集{1,2,4,5,6}7.4.2案例精選>>>x^z#對稱差集{0,3,7,8,9}>>>x.symetric_difference(y){0,1,2,3,4,5,6,7,10,12,13,14}>>>(x-y)|(y-x){0,1,2,3,4,5,6,7,10,12,13,14}>>>x==y#測試兩個集合是否相等False>>>x>y#測試集合包含關系False>>>y>xFalse>>>x>zTrue>>>x>=zTrue7.4.2案例精選>>>z.issubset(x)#測試z是否為x的子集True
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國六角模數(shù)據(jù)監(jiān)測研究報告
- 門窗回收合同范本
- 2025年中國防塵劑市場調查研究報告
- 出租車司機服務合同
- 2025年中國野外射線操作防護鉛屏風市場調查研究報告
- 學校校服采購合同范本
- 2025年中國真皮毛球市場調查研究報告
- 安全生產協(xié)議書范本
- 酒店廚房油煙機清洗服務合同范本
- 的林權土地承包合同范本
- FEMA:潛在的失效模式及影響分析解析課件
- IPCJEDEC J-STD-020 塑料集成電路(IC)SMD的潮濕回流敏感性分類 該
- 三腔二囊管的應用和護理--PPT課件 (3)
- 急診與災難醫(yī)學第二版配套課件 05 心悸與心律失常
- 流體力學第二版蔡增基課件
- 英語書寫模板
- 湖北省機關事業(yè)單位勞動合同制工人
- 云南省普通初中學生成長記錄.doc
- JJG 162-2019飲用冷水水表 檢定規(guī)程(高清版)
- 煉糖清凈工藝關鍵控制點分析
- 門窗承受荷載計算方法和公式(門窗工程專業(yè)資料)
評論
0/150
提交評論