国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

python中self _init_(self,param1,param2)問題

瀏覽:94日期:2022-09-17 14:06:33

問題描述

昨天的self _init_(self,param1,param2)問題class Ball:

def setName(tt,name): tt.name=namedef kick(tt): print(’我是%s,該死的,誰踢我...’%tt.name)

a=Ball()a.setName(’球A’)b=Ball()b.setName(’球B’)c=Ball()c.setName(’球C’)a.kick()c.kick()將self改為其他變量名tt不影響結果

class Ball:

def __init__(self,name): self.name=namedef kick(self): print(’我是%s,該死的,誰踢我...’%self.name)

b=Ball(’土豆’)b.kick()c=Ball(’黃瓜’)c.kick()注意:_init__(self,name)這個構造函數的左右下劃線都是兩個。固定格式,不然會報錯TypeError: object() takes no parameters 類型錯誤:對象不接受參數。前后對比發現是直接調用Ball的,相當于類Ball的自身函數。__init__()是類的構造函數,在建立對象時調用。self是對“對象”自身的引用。內部函數調用,用于初始化對象。class Ball:

def __init__(tt,name): tt.name=namedef kick(tt): print(’我是%s,該死的,誰踢我...’%tt.name)

b=Ball(’土豆’)b.kick()c=Ball(’黃瓜’)c.kick()把self換成其他變量名發現結果不變?那改與不改究竟有撒區別呢?請理論+實例講解下。class Person:

name=’小甲魚’

p=Person()print(p.name)

class Person:

__name=’小甲魚’

p=Person()print(p._Person__name)

從外部訪問這個變量了,Python在類的內部用_classname__spam替換了__spam,

參考http://blog.csdn.net/doufei_c... http://blog.csdn.net/gudeshen...懂Python的朋友都知道Python把以兩個或以上下劃線字符開頭且沒有以兩個或以上下劃線結尾的變量當作私有變量。私有變量會在代碼生成之前被轉換為長格式(變為公有)。轉換機制是這樣的:在變量前端插入類名,再在前端加入一個下劃線字符。這就是所謂的私有變量軋壓(Private name mangling)。如類A里的__private標識符將被轉換為_A__private,這就是上一節出現_A__private和__private消失的原因了。Python為了保證不能再class之外訪問該變量,,Python會在類的內部自動的把你定義的__spam變量的名字替換成為 _classname__spam(注意,classname前面是一個下劃線,spam前是兩個下劃線),Python把這種技術叫做“name mangling”。因此,用戶在外部訪問__spam的時候就會提示找不到相應的變量。解釋下用途 區別

問題解答

回答1:

你是要問什么?不太明白哈~

回答2:

永遠不要那么訪問 教程只是為了告訴你底層如何實現的

回答3:

http://greybeard.iteye.com/bl...http://python3-cookbook.readt...

這兩個鏈接可能可以解答你的疑問

回答4:

特殊變量命名

1、 _xx 以單下劃線開頭的表示的是protected類型的變量。即保護類型只能允許其本身與子類進行訪問。若內部變量標示,如: 當使用“from M import”時,不會將以一個下劃線開頭的對象引入 。

2、 __xx 雙下劃線的表示的是私有類型的變量。只能允許這個類本身進行訪問了,連子類也不可以用于命名一個類屬性(類變量),調用時名字被改變(在類FooBar內部,__boo變成_FooBar__boo,如self._FooBar__boo)

3、 __xx__定義的是特列方法。用戶控制的命名空間內的變量或是屬性,如init , __import__或是file 。只有當文檔有說明時使用,不要自己定義這類變量。 (就是說這些是python內部定義的變量名)

標簽: Python 編程
主站蜘蛛池模板: 欧美精品亚洲精品日韩专区 | 丰满老熟女毛片 | 国产第一草草影院 | 日本三级在线观看中文字 | 久热中文字幕在线精品免费 | 美女黄色免费在线观看 | 亚洲成在人线中文字幕 | 一级美国乱色毛片 | 99九九精品国产高清自在线 | 久久91精品国产99久久yfo | 免费福利入口在线观看 | 亚洲男人的天堂久久精品 | 亚洲欧美日韩国产精品一区 | 亚洲综合色就色手机在线观看 | 91久久精品一区二区三区 | 久久精品网站免费观看调教 | 99午夜高清在线视频在观看 | 欧美一级毛片无遮无挡 | 国产第一区二区三区在线观看 | 国产高清视频在线 | 亚洲精品手机在线 | 国内精品久久久久影院亚洲 | 久久免费精品一区二区 | 国产日本韩国 | 性色aⅴ在线观看swag | 成年人午夜免费视频 | 美女视频黄.免费网址 | 一级特黄aa大片欧美 | 国产三级久久 | 午夜免费的国产片在线观看 | 亚洲欧美另类专区 | 亚洲国产成人久久综合一 | 手机在线精品视频 | 色资源二区在线视频 | 中国一级性生活片 | 青青草色久综合网 | 日韩一区二区三区视频 | 91原创视频在线观看 | 亚洲乱码一区二区三区国产精品 | 国产在线精品一区二区中文 | 国产成人精品区在线观看 |