class test():
def __init__(self):
pass
def say(self):
print("my name is " + self.name)
def setname(self,name):
print("呼叫了set函式")
self._name = name
def getname(self):
print("呼叫的get函式")
return self._name
def delname(self):
print("呼叫的del函式")
del self._name
name = property(getname,setname,delname,"這是乙個測試文字") #類變數才能生效
test = test()
test.name = "novjam" #呼叫了set函式,例項變數的賦值並不會影響類變數的值
print(test.name.__doc__) #列印出"這是乙個測試文字",test.name.__doc__無法取到"這是乙個測試文字"
print("*" * 20)
print(test.name)
print(type(test.name))
'''個人理解:
有個巨坑:_name換成name會進入遞迴呼叫!
例項變數會先匹配是否有同名的類變數,如果有,則會根據類變數的值對例項進行相應的操作。
類變數test.name是,對其重新賦值可能會導致get,set,del,doc方法失效,原因上述。
'''
python3 關於檔案的操作
使用open函式開啟乙個檔案。第乙個引數是檔案的路徑,如果檔案在程式當前路徑下,可以只寫檔名。file open filename.txt 可以通過新增第二個引數來決定檔案的開啟模式。寫模式,可以寫檔案內容,如果檔案不存在,會新建乙個檔案。open filename.txt w 讀模式,只能讀檔案內...
關於python3裝Matplotlib模組的經驗
花了一天終於裝好了matplotlib 模組,之前用了很多方法,但還是沒有安裝成功,一直報錯 直接用pip install matplotlib 和pip install matplotlib 的whl檔案也是顯示錯誤,的build tool 然後安裝,然後我發現安裝 matplotlib 的話,還...
python3安裝 Python3的安裝
1.anaconda安裝 2.安裝包安裝 3.linux下的命令列安裝 centos red hat 1 sudo yum install y sudo yum update3 sudo yum install y python35u python35u libs python35u devel p...