国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
類和方法的概念和實例
?1.python類:class
2.類的構(gòu)造方法__init__()
3.類中方法的參數(shù)self
4.繼承
5.方法重寫
類的特殊屬性與方法
類的私有屬性
類的私有方法
首頁 后端開發(fā) Python教程 Python中的class類和method方法的使用方法

Python中的class類和method方法的使用方法

Apr 21, 2023 pm 02:28 PM
python class

類和方法的概念和實例

  • 類(Class):用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。

  • 方法:類中定義的函數(shù)。

  • 類的構(gòu)造方法__init__():類有一個名為 init() 的特殊方法(構(gòu)造方法),該方法在類實例化時會自動調(diào)用。

  • 實例變量:在類的聲明中,屬性是用變量來表示的,這種變量就稱為實例變量,實例變量就是一個用 self 修飾的變量。

  • 實例化:創(chuàng)建一個類的實例,類的具體對象。

  • 繼承:即一個派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個派生類的對象作為一個基類對象對待。例如,有這樣一個設(shè)計:一個Dog類型的對象派生自Animal類,這是模擬"是一個(is-a)"關(guān)系(例圖,Dog是一個Animal)。

?1.python類:class

python的class(類)相當(dāng)于一個多個函數(shù)組成的家族,如果在這個Myclass大家族里有一個人叫f,假如這個f具有print天氣的作用,那么如果有一天我需要這個f來print一下今天的天氣,那么我必須叫他的全名MyClass.f才可以讓他給我print,即在調(diào)用他的時候需要帶上他的家族名稱 他的名稱。

  • 屬性:屬性就是在這個類里的變量。如果變量是物品,那么不同的屬性就是這個大家族里不同的物品

  • 方法:方法就是在這個類里的函數(shù)。如果函數(shù)是人,那么不同的方法就是這個大家族里不同的人。

?MyClass實例:

#Myclass家族,但是這個家族只有一個人f
class MyClass:   
  """一個簡單的類實例"""    
  i = 12345    
  def f(self):        
    return 'hello world'
# 實例化類
x = MyClass() 
# 訪問類的屬性和方法
print("MyClass 類的屬性 i 為:", x.i) #家族x + 物品名i
print("MyClass 類的方法 f 輸出為:", x.f()) #家族x + 人名f

輸出結(jié)果:

Python中的class類和method方法的使用方法

2.類的構(gòu)造方法__init__()

假如init()也是人,但是他是家族和外界聯(lián)絡(luò)員,當(dāng)外界的人想調(diào)用自己家族的人,就必須要先告訴他,所以只要家族的人被調(diào)用,那么init()就會被先執(zhí)行,然后由他去告訴那個被調(diào)用的人,執(zhí)行被調(diào)用的。

init()實例:

class Complex:
    def __init__(self, realpart, imagpart): #必須要有一個self參數(shù),
        self.r = realpart
        self.i = imagpart
x = Complex(3.0, -4.5)
print(x.r, x.i)   # 輸出結(jié)果:3.0 -4.5

輸出結(jié)果:

Python中的class類和method方法的使用方法

3.類中方法的參數(shù)self

在類的內(nèi)部,使用 def 關(guān)鍵字來定義一個方法,與一般函數(shù)定義不同,類方法必須包含參數(shù)self, 且為第一個參數(shù),self代表的是類的實例。

  • self:類的方法與普通的函數(shù)只有一個特別的區(qū)別——必須有一個額外的第一個參數(shù)名稱, 按照慣例它的名稱是self。

  • 類的實例:是將類應(yīng)用在實例場景之中,比如有個類里的函數(shù)是f,假如這個f具有print某一時刻的天氣狀況的能力,那么如果我需要這個f來print一下今天12點的天氣,那么讓他打印今天12點的天氣這個動作,就是類的實例化,讓類中的函數(shù)具有的能力變成真實的動作。

實例化實例

#類定義
class people:
    #定義基本屬性
    name = ''
    age = 0
    #定義私有屬性,私有屬性在類外部無法直接進(jìn)行訪問
    #定義構(gòu)造方法
    def __init__(self,n,a):
        self.name = n
        self.age = a
    def speak(self):
        print("%s 說: 我 %d 歲。" %(self.name,self.age))

# 實例化類
p = people('Python',10,30)
p.speak()

輸出結(jié)果:

Python中的class類和method方法的使用方法

4.繼承

假如有兩個家族,有一個家族A開始沒落了,另一個新興的家族B想繼承A家族的物資和傭人,那么就可以通過如下的方式實現(xiàn)繼承,在這里,家族A即是父類,家族B是子類。在用法上,如果B家族可以任意使用A家族的物品和傭人。

class [子類]([父類]):
  • BaseClassName(示例中的基類名)必須與派生類定義在一個作用域內(nèi)。除了類,還可以用表達(dá)式,基類定義在另一個模塊中時這一點非常有用。

  • python還支持多繼承,即可以繼承多個父類。繼承方式和單繼承方式一樣,方式如下:

class [子類]([父類]1, [父類]2, [父類]3):

繼承實例:

#類定義
class people:
    #定義基本屬性
    name = ''
    age = 0
    #定義私有屬性,私有屬性在類外部無法直接進(jìn)行訪問
    __weight = 0
    #定義構(gòu)造方法
    def __init__(self,n,a,w):
        self.name = n
        self.age = a
        self.__weight = w
    def speak(self):
        print("%s 說: 我 %d 歲。" %(self.name,self.age))

#單繼承示例
class student(people): #student為子類,people為父類
    grade = ''
    def __init__(self,n,a,w,g):
        #調(diào)用父類的構(gòu)函
        people.__init__(self,n,a,w)
        self.grade = g
    #覆寫父類的方法
    def speak(self):
        print("%s 說: 我 %d 歲了,我在讀 %d 年級"%(self.name,self.age,self.grade))

s = student('ken',10,60,3)
s.speak()

運行結(jié)果:

Python中的class類和method方法的使用方法

5.方法重寫

如果你的父類方法的功能不能滿足你的需求,你可以在子類重寫你父類的方法。即如果B家族繼承了A家族,但是B家族有個傭人只會掃地,于是A家族給這個人洗腦,讓他啥都不會,然后再教這個傭人洗碗、擦桌子的技能,那么這個傭人就只會洗碗和擦桌子了。

  • super()函數(shù)是用于調(diào)用父類(超類)的一個方法。

方法重寫實例:

class Parent:        # 定義父類
   def myMethod(self):
      print('調(diào)用父類方法')

class Child(Parent): # 定義子類
   def myMethod(self):
      print('調(diào)用子類方法')

c = Child()          # 子類實例
c.myMethod()         # 子類調(diào)用重寫方法
super(Child,c).myMethod() #用子類對象調(diào)用父類已被覆蓋的方法

輸出結(jié)果:

Python中的class類和method方法的使用方法

類的特殊屬性與方法

類的私有屬性

  • _private_attrs:兩個下劃線開頭,聲明該屬性為私有,不能在類的外部被使用或直接訪問。在類內(nèi)部的方法中使用時 self.__private_attrs。

私有屬性實例:

class JustCounter:
    __secretCount = 0  # 私有變量
    publicCount = 0    # 公開變量

    def count(self):
        self.__secretCount += 1
        self.publicCount += 1
        print(self.__secretCount)

counter = JustCounter()
counter.count()
counter.count()
print(counter.publicCount)
print(counter.__secretCount)  # 報錯,實例不能訪問私有變量

輸出結(jié)果:

Python中的class類和method方法的使用方法

類的私有方法

  • __private_method:兩個下劃線開頭,聲明該方法為私有方法,只能在類的內(nèi)部調(diào)用 ,不能在類的外部調(diào)用。self.__private_methods。

私有方法實例:

class Site:
    def __init__(self, name, url):
        self.name = name       # public
        self.__url = url   # private

    def who(self):
        print('name  : ', self.name)
        print('url : ', self.__url)

    def __foo(self):          # 私有方法
        print('這是私有方法')

    def foo(self):            # 公共方法
        print('這是公共方法')
        self.__foo()

x = Site('Python', 'www.irvingao.com')
x.who()        # 正常輸出
x.foo()        # 正常輸出
x.__foo()      # 報錯

輸出結(jié)果:

Python中的class類和method方法的使用方法

以上是Python中的class類和method方法的使用方法的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276
如何用PHP結(jié)合AI實現(xiàn)文本糾錯 PHP語法檢測與優(yōu)化 如何用PHP結(jié)合AI實現(xiàn)文本糾錯 PHP語法檢測與優(yōu)化 Jul 25, 2025 pm 08:57 PM

要實現(xiàn)PHP結(jié)合AI進(jìn)行文本糾錯與語法優(yōu)化,需按以下步驟操作:1.選擇適合的AI模型或API,如百度、騰訊API或開源NLP庫;2.通過PHP的curl或Guzzle調(diào)用API并處理返回結(jié)果;3.在應(yīng)用中展示糾錯信息并允許用戶選擇是否采納;4.使用php-l和PHP_CodeSniffer進(jìn)行語法檢測與代碼優(yōu)化;5.持續(xù)收集反饋并更新模型或規(guī)則以提升效果。選擇AIAPI時應(yīng)重點評估準(zhǔn)確率、響應(yīng)速度、價格及對PHP的支持。代碼優(yōu)化應(yīng)遵循PSR規(guī)范、合理使用緩存、避免循環(huán)查詢、定期審查代碼,并借助X

python seaborn關(guān)節(jié)圖示例 python seaborn關(guān)節(jié)圖示例 Jul 26, 2025 am 08:11 AM

使用Seaborn的jointplot可快速可視化兩個變量間的關(guān)系及各自分布;2.基礎(chǔ)散點圖通過sns.jointplot(data=tips,x="total_bill",y="tip",kind="scatter")實現(xiàn),中心為散點圖,上下和右側(cè)顯示直方圖;3.添加回歸線和密度信息可用kind="reg",并結(jié)合marginal_kws設(shè)置邊緣圖樣式;4.數(shù)據(jù)量大時推薦kind="hex",用

python列表到字符串轉(zhuǎn)換示例 python列表到字符串轉(zhuǎn)換示例 Jul 26, 2025 am 08:00 AM

字符串列表可用join()方法合并,如''.join(words)得到"HelloworldfromPython";2.數(shù)字列表需先用map(str,numbers)或[str(x)forxinnumbers]轉(zhuǎn)為字符串后才能join;3.任意類型列表可直接用str()轉(zhuǎn)換為帶括號和引號的字符串,適用于調(diào)試;4.自定義格式可用生成器表達(dá)式結(jié)合join()實現(xiàn),如'|'.join(f"[{item}]"foriteminitems)輸出"[a]|[

Python連接到SQL Server PYODBC示例 Python連接到SQL Server PYODBC示例 Jul 30, 2025 am 02:53 AM

安裝pyodbc:使用pipinstallpyodbc命令安裝庫;2.連接SQLServer:通過pyodbc.connect()方法,使用包含DRIVER、SERVER、DATABASE、UID/PWD或Trusted_Connection的連接字符串,分別支持SQL身份驗證或Windows身份驗證;3.查看已安裝驅(qū)動:運行pyodbc.drivers()并篩選含'SQLServer'的驅(qū)動名,確保使用如'ODBCDriver17forSQLServer'等正確驅(qū)動名稱;4.連接字符串關(guān)鍵參數(shù)

python pandas融化示例 python pandas融化示例 Jul 27, 2025 am 02:48 AM

pandas.melt()用于將寬格式數(shù)據(jù)轉(zhuǎn)為長格式,答案是通過指定id_vars保留標(biāo)識列、value_vars選擇需融化的列、var_name和value_name定義新列名,1.id_vars='Name'表示Name列不變,2.value_vars=['Math','English','Science']指定要融化的列,3.var_name='Subject'設(shè)置原列名的新列名,4.value_name='Score'設(shè)置原值的新列名,最終生成包含Name、Subject和Score三列

優(yōu)化用于內(nèi)存操作的Python 優(yōu)化用于內(nèi)存操作的Python Jul 28, 2025 am 03:22 AM

pythoncanbeoptimizedFormized-formemory-boundoperationsbyreducingOverHeadThroughGenerator,有效dattratsures,andManagingObjectLifetimes.first,useGeneratorSInsteadoFlistSteadoflistSteadoFocessLargedAtasetSoneItematatime,desceedingingLoadeGingloadInterveringerverneDraineNterveingerverneDraineNterveInterveIntMory.second.second.second.second,Choos,Choos

python django形式示例 python django形式示例 Jul 27, 2025 am 02:50 AM

首先定義一個包含姓名、郵箱和消息字段的ContactForm表單;2.在視圖中通過判斷POST請求處理表單提交,驗證通過后獲取cleaned_data并返回響應(yīng),否則渲染空表單;3.在模板中使用{{form.as_p}}渲染字段并添加{%csrf_token%}防止CSRF攻擊;4.配置URL路由將/contact/指向contact_view視圖;使用ModelForm可直接關(guān)聯(lián)模型實現(xiàn)數(shù)據(jù)保存,DjangoForms實現(xiàn)了數(shù)據(jù)驗證、HTML渲染與錯誤提示的一體化處理,適合快速開發(fā)安全的表單功

什么是加密貨幣中的統(tǒng)計套利?統(tǒng)計套利是如何運作的? 什么是加密貨幣中的統(tǒng)計套利?統(tǒng)計套利是如何運作的? Jul 30, 2025 pm 09:12 PM

統(tǒng)計套利簡介統(tǒng)計套利是一種基于數(shù)學(xué)模型在金融市場中捕捉價格錯配的交易方式。其核心理念源于均值回歸,即資產(chǎn)價格在短期內(nèi)可能偏離長期趨勢,但最終會回歸其歷史平均水平。交易者利用統(tǒng)計方法分析資產(chǎn)之間的關(guān)聯(lián)性,尋找那些通常同步變動的資產(chǎn)組合。當(dāng)這些資產(chǎn)的價格關(guān)系出現(xiàn)異常偏離時,便產(chǎn)生套利機(jī)會。在加密貨幣市場,統(tǒng)計套利尤為盛行,主要得益于市場本身的低效率與劇烈波動。與傳統(tǒng)金融市場不同,加密貨幣全天候運行,價格極易受到突發(fā)新聞、社交媒體情緒及技術(shù)升級的影響。這種持續(xù)的價格波動頻繁制造出定價偏差,為套利者提供

See all articles