• <del id="a8uas"></del>
    • 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

      400-811-9990
      手機站
      千鋒教育

      千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

      千鋒教育

      掃一掃進入千鋒手機站

      領(lǐng)取全套視頻
      千鋒教育

      關(guān)注千鋒學(xué)習(xí)站小程序
      隨時隨地免費學(xué)習(xí)課程

      上海
      • 北京
      • 鄭州
      • 武漢
      • 成都
      • 西安
      • 沈陽
      • 廣州
      • 南京
      • 深圳
      • 大連
      • 青島
      • 杭州
      • 重慶
      當(dāng)前位置:合肥千鋒IT培訓(xùn)  >  技術(shù)干貨  >  python self是什么意思,怎么使用?

      python self是什么意思,怎么使用?

      來源:千鋒教育
      發(fā)布人:xqq
      時間: 2023-10-17 21:24:11

      一、python self

      介紹

      首先明確的是self只有在類的方法中才會有,獨立的函數(shù)或方法是不必帶有self的。self在定義類的方法時是必須有的,雖然在調(diào)用時不必傳入相應(yīng)的參數(shù)。

      self名稱不是必須的,在python中self不是關(guān)鍵詞,你可以定義成a或b或其它名字都可以,但是約定成俗(為了和其他編程語言統(tǒng)一,減少理解難度),不要搞另類,大家會不明白的。

      下例中將self改為myname一樣沒有錯誤:

      class Person:

      ??? def _init_(myname,name):

      ??????? myname.name=name

      ??? def sayhello(myname):

      ??????? print ‘My name is:’,myname.name

      p=Person(‘Bill’)

      print p

      self指的是類實例對象本身(注意:不是類本身)。

      class Person:

      ??? def _init_(self,name):

      ??????? self.name=name

      ??? def sayhello(self):

      ??????? print ‘My name is:’,self.name

      p=Person(‘Bill’)

      print p

      在上述例子中,self指向Person的實例p。 為什么不是指向類本身呢,如下例子:

      class Person:

      ??? def _init_(self,name):

      ??????? self.name=name

      ??? def sayhello(self):

      ??????? print ‘My name is:’,self.name

      p1=Person(‘Bill’)

      p2 = Person(‘Apple’)

      print p1

      如果self指向類本身,那么當(dāng)有多個實例對象時,self指向哪一個呢?

      總結(jié)

      self在定義時需要定義,但是在調(diào)用時會自動傳入。

      self的名字并不是規(guī)定死的,但是較好還是按照約定是用self

      self總是指調(diào)用時的類的實例。

      延伸閱讀:

      二、編碼發(fā)展的歷史

      在計算機歷史的早期,美國為代表的英語系國家主導(dǎo)了整個計算機行業(yè),26個英文字母組成了多樣的英語單詞、語句、文章。因此,較早的字符編碼規(guī)范是ASCII碼,一種8位即1個字節(jié)的編碼規(guī)范,它可以涵蓋整個英語系的編碼需要。

      編碼是什么?編碼就是把一個字符用一個二進制來表示。我們都知道,所有的東西,不管是英文、中文還是符號等等,最終存儲在磁盤上都是01010101這類東西。在計算機內(nèi)部,讀取和存儲數(shù)據(jù)歸根結(jié)底,處理的都是0和1組成的比特流。問題來了,人類看不懂這些比特流,如何讓這些010101對人類變得可讀呢?于是出現(xiàn)了字符編碼,它是個翻譯機,在計算機內(nèi)部某個地方,透明的幫我們將比特流翻譯成人類可以直接理解的文字。對于一般用戶,不需要知道這個過程是什么原理,是怎么執(zhí)行的。但是對于程序員卻是個必須搞清楚的問題。

      以ASCII編碼為例,它規(guī)定1個字節(jié)8個比特位代表1個字符的編碼,也就是“00000000”這么寬,一個一個字節(jié)的解讀。例如:01000001表示大寫字母A,有時我們會“偷懶”的用65這個十進制來表示A在ASCII中的編碼。8個比特位,可以沒有重復(fù)的非常多表示2的8次方(255)個字符。

      后來,計算機得到普及,中文、日文、韓文等等國家的文字需要在計算機內(nèi)表示,ASCII的255位遠(yuǎn)遠(yuǎn)不夠,于是標(biāo)準(zhǔn)組織制定出了叫做UNICODE的萬國碼,它規(guī)定任何一個字符(不管哪國的)至少以2個字節(jié)表示,可以更多。其中,英文字母就是用2個字節(jié),而漢字是3個字節(jié)。這個編碼雖然很好,滿足了所有人的要求,但是它不兼容ASCII,同時還占用較多的空間和內(nèi)存。因為,在計算機世界更多的字符是英文字母,明明可以1個字節(jié)就能夠表示,非要用2個。

      于是UTF-8編碼應(yīng)運而生,它規(guī)定英文字母系列用1個字節(jié)表示,漢字用3個字節(jié)表示等等。因此,它兼容ASCII,可以解碼早期的文檔。UTF-8很快就得到了廣泛的應(yīng)用。

      在編碼的發(fā)展歷程中,我國還創(chuàng)造了自己的編碼方式,例如GBK,GB2312,BIG5。他們只局限于在國內(nèi)使用,不被國外認(rèn)可。在GBK編碼中,中文漢字占2個字節(jié)。

      聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

      猜你喜歡LIKE

      web前端會用到哪些軟件工具?

      2023-10-17

      java/Python這么火,c++這么難,為什么我們還要選擇用C++?

      2023-10-17

      app開發(fā)的制作為什么報價和開發(fā)周期都不一樣?

      2023-10-17

      最新文章NEW

      對數(shù)量龐大的照片進行分類管理,較好的方便檢索的方法是什么?

      2023-10-17

      PHP中的interface有什么用處?

      2023-10-17

      PHP有哪些運行環(huán)境?

      2023-10-17

      相關(guān)推薦HOT

      更多>>

      快速通道 更多>>

      最新開班信息 更多>>

      網(wǎng)友熱搜 更多>>