欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中的def __init__( )函數(shù)

 更新時(shí)間:2022年09月09日 11:31:22   作者:旅途中的寬~  
這篇文章主要介紹了Python中的def __init__( )函數(shù),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下

在這里,我們要區(qū)分兩個(gè)函數(shù):

第一種形式def __init__(self):

這種形式在__init__方法中,只有一個(gè)self,指的是實(shí)例的本身,但是在方法的類部,包含三個(gè)屬性:feature_index、threshold和alpha。它允許定義一個(gè)空的結(jié)構(gòu),當(dāng)新數(shù)據(jù)來(lái)時(shí),可以直接添加。實(shí)例化時(shí),需要實(shí)例化之后,再進(jìn)行賦值。

def __init__(self):
    # 特征索引
    self.feature_index=None
    # 特征劃分閾值
    self.threshold=None
    # 指示分類準(zhǔn)確率
    self.alpha=None

第二種形式def __init__(self, 參數(shù)1,參數(shù)2,···,參數(shù)n):

這種形式在定義方法時(shí),就直接給定了三個(gè)參數(shù)feature_index、thresholdalpha,且屬性值不允許為空。實(shí)例化時(shí),直接傳入?yún)?shù)。

def __init__(self,feature_index,threshold,alpha):
    # 特征索引
    self.feature_index=feature_index
    # 特征劃分閾值
    self.threshold=threshold
    # 指示分類準(zhǔn)確率
    self.alpha=alpha

區(qū)別很明顯,前者在__init__方法中,只有一個(gè)self,指的是實(shí)例的本身,但是在方法的類部,包含三個(gè)屬性,feature_index、threshold和alpha。

下面的這個(gè)即是在定義方法時(shí),就直接給定了兩個(gè)參數(shù)。

針對(duì)這樣的兩個(gè),之前不解的地方,是如何實(shí)例化,第二個(gè)很明顯就是直接實(shí)例化時(shí),傳入相應(yīng)的參數(shù),而第一種,則需要實(shí)例化之后,對(duì)屬性進(jìn)行賦值。

兩者的區(qū)別:

第一種的區(qū)別,他定義了這樣一種類,他可以是一個(gè)空的結(jié)構(gòu),比如學(xué)生的表,當(dāng)學(xué)生還沒(méi)有進(jìn)行考試時(shí),他已經(jīng)有了學(xué)生的姓名和成績(jī),當(dāng)新的數(shù)據(jù)來(lái)的時(shí)候,可以直接添加進(jìn)來(lái)。這個(gè)可以很方便的進(jìn)行;

而第二種,則需要必須傳值,不允許為空。當(dāng)然第二種對(duì)于已有數(shù)據(jù)的導(dǎo)入是很方便的,在語(yǔ)句上減少了很多。

我們看一下第一種形式的實(shí)現(xiàn)方法:

class Student:
    def __init__(self):  # 兩者之間的區(qū)別
        self.name = None
        self.score = None

    def print_score(self):
        print("%s score is %s" % (self.name, self.score))

    def classify_grades(self):
        if self.score >= 80:
            return "A"
        elif self.score >= 70:
            return "B"
        else:
            return "C"

student = Student()
student.name = "sansan"
student.score = 90

student.print_score()
print(student.classify_grades())

我們接下來(lái)看一下第二類方法的實(shí)現(xiàn):

class Student:
    def __init__(self,name,score):  # 兩者之間的區(qū)別
        self.name = name
        self.score = score

    def print_score(self):
        print("%s score is %s" % (self.name, self.score))

    def classify_grades(self):
        if self.score >= 80:
            return "A"
        elif self.score >= 70:
            return "B"
        else:
            return "C"

student = Student('xiao ming',90)
student.print_score()
print(student.classify_grades())

以上是一個(gè)很簡(jiǎn)單的,兩者比較,兩者都在上述代碼中進(jìn)行了簡(jiǎn)單的實(shí)現(xiàn),自己進(jìn)行相應(yīng)的注釋。

到此這篇關(guān)于Python中的def __init__( )函數(shù)的文章就介紹到這了,更多相關(guān)Python def __init__( )內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論