摘要:面向?qū)ο缶幊?,?jiǎn)稱,是一種程序設(shè)計(jì)思想。把對(duì)象作為程序的基本單元,例如。面向過(guò)程把函數(shù)作為程序的基本單元例如語(yǔ)言。
面向?qū)ο缶幊獭?strong>Object Oriented Programming,簡(jiǎn)稱OOP,是一種程序設(shè)計(jì)思想。OOP把對(duì)象作為程序的基本單元,例如:JAVA。
面向過(guò)程把函數(shù)作為程序的基本單元,例如:C語(yǔ)言。
class Person(object): def __init__(self,name,age) #__init__初始化方法,self為必傳,指向創(chuàng)建的實(shí)例本身 self.__name=name #__name為私有屬性,無(wú)法直接訪問(wèn),可以添加getset方法,或者通過(guò)_Person__name訪問(wèn) self.__age=age def set_name(self,name) return self.__name=name def get_name(self) return self.__name def print_info(self) print("Name:-> ",self.name,"Age:-> ",self.age)
使用Person類:
psn=Person("jim",22) #創(chuàng)建Person實(shí)例 psn.print_info() #使用方法
繼承:
class Student(Person): def get_name(self): return self.__name+" --"
測(cè)試:
stu=Student("jim",22) stu.print_info() #Name:-> jimAge:-> 22 可以使用父類方法 stu.get_name() #jim -- 覆蓋父類的方法
多態(tài)
def run_twice(Person): Person.get_name()
測(cè)試
run_twice(psn) #jim run_twice(stu) #jim -- 在這里,靜態(tài)語(yǔ)言需要傳入的必須是psn/stu,而動(dòng)態(tài)語(yǔ)言只要傳入有g(shù)et_name()方法的對(duì)象就可以
獲取對(duì)象的信息(反射機(jī)制):
type() 用來(lái)判斷基本類型
types模塊中的常量 用來(lái)判斷一個(gè)對(duì)象是否是函數(shù)
使用isinstance(實(shí)例,類) 用來(lái)判斷實(shí)例是否是類的子類或者自己的實(shí)例
isinstance([1, 2, 3], (list, tuple)) 判斷前者是否是后者中的一個(gè)
hasattr(對(duì)象,屬性) 判斷是否存在此屬性
setattr(對(duì)象,屬性) 為對(duì)象設(shè)置屬性
getattr(對(duì)象,屬性) 獲取對(duì)象的屬性
type("123")==str #True type("123")==type("456") #True type(run_twice))==types.FunctionType #True type(abs)==types.BuiltinFunctionType type(lambda x: x)==types.LambdaType type((x for x in range(10)))==types.GeneratorType
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44907.html
摘要:看起來(lái)好像是廢話,它還有一個(gè)補(bǔ)充的說(shuō)明,在函數(shù)式編程中要避免狀態(tài)變化和使用可變對(duì)象。函數(shù)式編程的特點(diǎn)在中,函數(shù)即對(duì)象,例如聲明一個(gè)函數(shù)之后,你可以調(diào)用其屬性。 ...
摘要:一面向?qū)ο缶幊獭J且婚T(mén)面向?qū)ο蟮木幊陶Z(yǔ)言,通過(guò)對(duì)象實(shí)現(xiàn)對(duì)方法的調(diào)用。面向過(guò)程的程序設(shè)計(jì)把計(jì)算機(jī)程序視為一系列的命令集合,即一組函數(shù)的順序執(zhí)行。對(duì)于面向?qū)ο笳Z(yǔ)言,重要的概念是類和實(shí)例。 一、preface 面向?qū)ο缶幊蘋(píng)OP:object oriented programming。OOP把對(duì)象作為程序的基本單元,一個(gè)對(duì)象包含了數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)。Python是一門(mén)面向?qū)ο蟮木幊陶Z(yǔ)言,...
摘要:語(yǔ)料庫(kù)是由文本構(gòu)成的數(shù)據(jù)集通過(guò)提供現(xiàn)成的文本數(shù)據(jù)來(lái)輔助文本處理。那么可以用來(lái)做什么呢我自己是一名從事是不錯(cuò)的入門(mén)選項(xiàng)。大數(shù)據(jù)和人工智能是機(jī)器學(xué)習(xí)和的主要開(kāi)發(fā)語(yǔ)言。 Python培訓(xùn)有哪些內(nèi)容?很多零基礎(chǔ)學(xué)員不知道Python軟件是干什么用的?Python軟件是Python工程師編寫(xiě)代碼時(shí)所需...
摘要:如果初學(xué)者接觸的第一門(mén)語(yǔ)言是,學(xué)習(xí)曲線則會(huì)平滑得多,掌握一些基本語(yǔ)法和內(nèi)置的數(shù)據(jù)結(jié)構(gòu),已經(jīng)可以上手寫(xiě)一些小工具或者小型應(yīng)用。如果你的學(xué)習(xí)時(shí)間充足,我的建議是一定要學(xué)數(shù)據(jù)結(jié)構(gòu)和算法。 前言 Python是最容易入門(mén)的編程語(yǔ)言,沒(méi)有之一。如果初學(xué)者接觸的第一門(mén)語(yǔ)言是C或者C++,對(duì)他們來(lái)說(shuō)最難的不是語(yǔ)法,而是容易出現(xiàn)內(nèi)存泄漏、指針等問(wèn)題。有時(shí)候排查這些問(wèn)題對(duì)初學(xué)者的打擊很大,尤其是沒(méi)掌握排...
摘要:反對(duì)者在某些領(lǐng)域?qū)Υ擞枰苑裾J(rèn)。下面再引用一段來(lái)自維基百科中關(guān)于的歷史。類的更嚴(yán)格的定義是由某種特定的元數(shù)據(jù)所組成的內(nèi)聚的包。類還可以有運(yùn)行時(shí)表示形式元對(duì)象,它為操作與類相關(guān)的元數(shù)據(jù)提供了運(yùn)行時(shí)支持。 在開(kāi)始部分,請(qǐng)看官非常非常耐心地閱讀下面幾個(gè)枯燥的術(shù)語(yǔ)解釋,本來(lái)這不符合本教程的風(fēng)格,但是,請(qǐng)看官諒解,因?yàn)榱形粚?lái)一定要閱讀枯燥的東西的。這些枯燥的屬于解釋,均來(lái)自維基百科。 1、問(wèn)題...
閱讀 2766·2021-11-22 13:54
閱讀 2703·2021-10-14 09:42
閱讀 4051·2021-09-28 09:47
閱讀 2173·2021-09-03 10:28
閱讀 1217·2021-07-26 23:38
閱讀 2568·2019-08-30 15:54
閱讀 2649·2019-08-29 16:35
閱讀 1438·2019-08-29 15:42