99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀全面了解python中的類,對象,方法,屬性
全面了解python中的類,對象,方法,屬性
2018-01-29
收藏

全面了解python中的類,對象,方法,屬性

python中一切皆為對象,所謂對象:我自己就是一個對象,我玩的電腦就是對象,坐著的椅子就是對象,家里養(yǎng)的小狗也是一個對象。。。。。。

我們通過描述屬性(特征)和行為來描述一個對象的。比如家里的小狗,它的顏色,大小,年齡,體重等是它的屬性或特征。它會汪汪叫,會搖尾巴等是它的行為。

我們在描述一個真實對象(物體)時包括兩個方面:

它可以做什么(行為)

它是什么樣的(屬性或特征)。

python中,一個對象的特征也稱為屬性(attribute)。它所具有的行為也稱為方法(method)

結(jié)論:對象=屬性+方法

python中,把具有相同屬性和方法的對象歸為一個類(class)

比如人類,動物,植物等等,這些都是類的概念。

類是對象的模板或藍圖,類是對象的抽象化,對象是類的實例化。類不代表具體的事物,而對象表示具體的事物。

>>> class people:
 
...   def speak(self):
 
...       print ("hello!")
 
...
 
'''


定義一個people類,定義一個speak方法,但沒有定義屬性,

因為屬性不屬于類,而是屬于各個類的實例。也就是說屬于對象。

因此我們可以給每個實例設(shè)置不同的屬性

'''  
>>> class people:          #類  
...   def speak(self):      #方法        
...       print ("hello!")        
...
>>>
 
>>> jack = people()  #創(chuàng)建jack實例
>>> tom = people()  #創(chuàng)建tom實例
>>> import tab    #導(dǎo)入table鍵功能模塊
>>> jack.      #輸入jack.,可以看到以下方法
jack.__class__  jack.__doc__   jack.__module__ jack.speak(   
>>> jack.speak()  #引用speak方法
hello!
 
>>> jack.age=39      #添加age屬性
>>> jack.height=120    #添加height屬性
>>> jack.
jack.__class__  jack.__module__ jack.height   
jack.__doc__   jack.age     jack.speak(   
>>> jack.height
120
>>> jack.age
39
 
'''



#初始化對象

創(chuàng)建類時,可以定義一個特定的方法,名為__init__(),只要創(chuàng)建這個類的一個實例

就會運行這個方法??梢韵騙_init__()方法傳遞參數(shù),

這樣創(chuàng)建對象時就可以把屬性設(shè)置為你希望的值

__init__()這個方法會在創(chuàng)建對象時完成初始化,


'''
>>> class peo:
...   def __init__(self,name,age,sex):
...       self.Name = name
...       self.Age = age
...       self.Sex = sex
...   def speak(self):
...       print "my name" + self.Name
...
>>>
 
實例化這個類的對象時:
>>> zhangsan=peo("zhangsan",24,'man')
>>> print zhangsan.Age
24
>>> print zhangsan.Name
zhangsan
>>> print zhangsan.Sex
man
 
# ----------
>>> print zhangsan
<__main__.peo instance at 0x7fe5041ec248>
'''


要讓print能打印出來,就得使用__str__方法

__str__()這個方法告訴python在打印(print)一個對象時,具體顯示什么內(nèi)容


'''
#! /usr/bin/python
class peo:
  def __init__(self,name,age,sex):
    self.Name = name
    self.Age = age
    self.Sex = sex
  def speak(self):
    print "my name" + self.Name
  def __str__(self):
    msg='my name is: ' +self.Name+ ","+ "my age is: " + self.Age +','+ "my sex is:" +self.Sex
    # msg='my name is: ' +self.Name+ ","+ "my age is: " + str(self.Age) +','+ "my sex is:" +self.Sex
    return msg
shanghai=peo('shanghai','23','man')
# shanghai=peo('shanghai',23,'man')
'''
msg='my name is: ' +self.Name+ ","+ "my age is: " + self.Age +','+ "my sex is:" +self.Sex

此處23是年齡,但被轉(zhuǎn)成了字符串,因為self.Age定義的是字符串

如果不將23轉(zhuǎn)義,則會報錯

如果希望在程序中就事先轉(zhuǎn)義,需要使用str(self.Age)

'''
print shanghai

'''
之前多次用到self這個形參
類就好比是一張藍圖,使用一個類可以創(chuàng)建多個對象實例,
speak()方法在被調(diào)用時,必須知道是哪個對象調(diào)用了它.

這里self參數(shù)就會告訴方法是哪個對象來調(diào)用的.這稱為實例引用。
zhangsan。speak()就好比寫成了peo.speak(zhangsan)
'''

以上這篇全面了解python中的類,對象,方法,屬性就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考



數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }