摘要:類類是現(xiàn)實(shí)世界或思維世界的實(shí)體在計(jì)算機(jī)中的反映它將數(shù)據(jù)以及這些數(shù)據(jù)上的操作封裝在一起首字母大寫(xiě)單詞之間大寫(xiě)連接類包含變量和方法變量類變量實(shí)例變量方法實(shí)例方法類方法裝飾器特殊的類方法構(gòu)造函數(shù)作用讓模板創(chuàng)建不同的對(duì)象,初始化對(duì)象的特性默認(rèn)被調(diào)用
1.類
類是現(xiàn)實(shí)世界或思維世界的實(shí)體在計(jì)算機(jī)中的反映 它將數(shù)據(jù)以及這些數(shù)據(jù)上的操作封裝在一起 首字母大寫(xiě);單詞之間大寫(xiě)連接2.類包含:變量和方法
變量: 類變量 實(shí)例變量 方法: 1.實(shí)例方法 2.類方法 @classmethod(裝飾器) 1.特殊的類方法:構(gòu)造函數(shù) def __init__(self,x,y): 作用:讓模板創(chuàng)建不同的對(duì)象,初始化對(duì)象的特性 默認(rèn)被調(diào)用;亦可被主動(dòng)調(diào)用 2.普通類方法:前面加 @classmethod裝飾器 3.靜態(tài)方法 @staticmethod3.方法訪問(wèn)變量
1.實(shí)例方法訪問(wèn)實(shí)例變量 def 方法(self,x): self.實(shí)例變量=x 2.實(shí)例方法訪問(wèn)類變量 self.__class__.類變量= 3.類方法訪問(wèn)類變量 def plus_sum(cls): cls.類變量4.成員的可見(jiàn)性
1.原則:只允許內(nèi)部的方法操作變量,避免直接修改數(shù)據(jù)變量 2.__ 前面加 雙下劃線 變量變成私有 def 方法(self,x): self.__變量=x 3.在外部調(diào)用 self.__變量=x 時(shí),不是訪問(wèn)而是新建一個(gè) 4.可通過(guò)__dict__查變量字典5.類方法 @classmethod裝飾器
1. 在函數(shù)前加上一個(gè)@classmethod 將self改成cls 2. 避免邏輯錯(cuò)亂,不要用對(duì)象調(diào)用類方法 3. 可以訪問(wèn)類變量 cls.sum(實(shí)例方法:self.__class__.變量 ) 4. 調(diào)用:類.類方法() (不建議用對(duì)象調(diào)用類方法,不合邏輯)6.靜態(tài)方法 @staticmethod,不推薦用此方法
# 在函數(shù)前加上一個(gè)@staticmethod # 可以同時(shí)被 對(duì)象、類 調(diào)用 # 可以訪問(wèn)類變量 Student.sum,和變量關(guān)聯(lián)性不大的方法時(shí)用案例
class Student(): #類變量 sum1=0 # 構(gòu)造函數(shù)(類方法) def __init__(self,name,age): #實(shí)例變量 self.name=name self.age=age #調(diào)用類變量 self.__class__.sum1+=1 #構(gòu)造函數(shù)默認(rèn)被調(diào)用 print("學(xué)員人數(shù)",self.sum1) #通過(guò)方法對(duì)變量進(jìn)行賦值(不提倡直接訪問(wèn)類變量的方式來(lái)修改值) def marking(self,score): self.__score=score print(self.name+"同學(xué)的成績(jī)?yōu)椋?+str(self.__score)) #通過(guò)類方法調(diào)用類變量 @classmethod def stu_sum(cls): print("學(xué)員人數(shù)",cls.sum1) #實(shí)例方法,調(diào)用內(nèi)部實(shí)例方法 def do_homework(self): self.do_eng_homework() #實(shí)例方法 def do_eng_homework(self): print(self.name,"do eng homework") student1=Student("小明",21) student2=Student("小明2",21) student3=Student("小明3",21) student1.do_homework() Student.stu_sum() student1.marking(90) # 偷偷調(diào)用私有變量的方法 #print(student1.__dict__) #->{"name": "小明", "age": 21, "_Student__score": 90} #print(student1._Student__score)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/43730.html
摘要:如果初學(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)題...
摘要:面向?qū)ο缶幊蹋?jiǎn)稱,是一種程序設(shè)計(jì)思想。面向過(guò)程與面向?qū)ο竺嫦蜻^(guò)程的程序設(shè)計(jì)把函數(shù)作為程序的基本單元。以上是在計(jì)算機(jī)世界里認(rèn)識(shí)面向?qū)ο蠛兔嫦蜻^(guò)程,接下來(lái)給大家舉個(gè)生活中的例子就拿你早上想吃雞蛋灌餅為例。 面向?qū)ο缶幊獭狾bject Oriented Programming,簡(jiǎn)稱OOP,是一種程序設(shè)計(jì)思想。OOP把對(duì)象作為程序的基本單元,一個(gè)對(duì)象包含了數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)。 面向過(guò)程 ...
摘要:一面向?qū)ο缶幊?。是一門(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ǔ)言,...
摘要:這里推薦一本書(shū)源碼剖析源碼剖析豆瓣這本書(shū)把源碼中最核心的部分,給出了詳細(xì)的闡釋,不過(guò)閱讀此書(shū)需要對(duì)語(yǔ)言內(nèi)存模型和指針有著很好的理解。 是否非常想學(xué)好 Python,一方面被瑣事糾纏,一直沒(méi)能動(dòng)手,另一方面,擔(dān)心學(xué)習(xí)成本太高,心里默默敲著退堂鼓? 幸運(yùn)的是,Python 是一門(mén)初學(xué)者友好的編程語(yǔ)言,想要完全掌握它,你不必花上太多的時(shí)間和精力。 Python 的設(shè)計(jì)哲學(xué)之一就是...
閱讀 1775·2021-11-02 14:47
閱讀 3722·2019-08-30 15:44
閱讀 1408·2019-08-29 16:42
閱讀 1802·2019-08-26 13:53
閱讀 1004·2019-08-26 10:41
閱讀 3566·2019-08-23 17:10
閱讀 686·2019-08-23 14:24
閱讀 1797·2019-08-23 11:59