第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

python—類的屬性和方法總結(jié)

標(biāo)簽:
Python

一、类的属性总结(类的属性定义在方法外,对象的属性定义在方法内)

理解:

类的(静态)属性:(人类的五官,理解为变量)

类的(动态)方法:(人类吃穿住行,理解为一个函数,至少带一个参数self,指向类本身)

对象:类的实例化,之后才能有属性和方法


1)类的属性,也是公有属性;类的私有属性

2)对象的公有属性;对象的私有属性

3)函数局部变量;全局变量

4)内置属性

#!/usr/bin/env python
#encoding:utf-8
 
var6 = "全局变量var6"
class Myclass(object):
    var1 = "类的公有属性var1"
    __var2 = "类的私有属性_var2"
     
    def fun1(self):
        self.var3 = "方法的公有属性var3"
        self.__var4 = "方法的私有属性_var4"
        var5 = "函数的局部变量var5"
        print var5
        print var6
         
    def fun2(self):
        print self.var1
        print self.__var2
         
    def fun3(self):
        print self.var3
        print self.__var4
         
mc = Myclass()
print mc.var1  # 外部调用类的公有属性
print mc._Myclass__var2  # 外部调用类的私有属性,一般测试用
 
print Myclass.var1    # 通过类名调用类的公有属性
#print Myclass.__var2 # 不能通过类名调用类的私有属性
#print Myclass.var3   # 不能通过类名调用内部函数的公有属性和私有属性
#print Myclass.__var4
 
mc.fun1()
print mc.var3  # 外部调用方法(可以看成是带self的内部函数)的公有属性,前提是先实例化类并执行该方法
#print mc.__var4  # 外部不能调用方法的私有属性
 
mc = Myclass()
mc.fun2()  # 内部调用类的公有、私有属性
 
mc = Myclass()
mc.fun1()
 
mc.fun3()  # 内部函数可调用其他内部函数的公有、私有属性,前提是先实例化类并执行该方法
 
mc = Myclass()
print Myclass.__dict__  # 内置属性调用


二、类的方法总结

1)公有方法,私有方法

2)类方法(动态):classmethod()函数处理,没有被调用的类中其余参数不会加载进内存中

3)静态方法:函数不带self参数,使用staticmethod()函数处理(如果不处理,缺少self,调用时会报错),加载关于这个类的所有东西

4)内置方法

#/usr/bin/env python
#encoding:utf-8
 
class Myclass(object):
    name = "Test"
     
    def __init__(self):
        self.fun1()
        self.__fun2()
        self.classFun()
        self.staticFun()
        print("我是内置函数或构造函数,实例化时自动执行")
           
    def fun1(self):
        print self.name,
        print ("我是公有方法")
        self.__fun2()
         
    def __fun2(self):
        print self.name,
        print ("我是私有方法")
  
    @classmethod   
    def classFun(self):
        print self.name,
        print ("我是类方法或动态方法")
     
    @staticmethod
    def staticFun():
        print Myclass.name,
        print ("我是静态方法")
     
mc = Myclass()
mc.fun1()  # 外部调用公有方法
 
#mc.__fun2() # 外部不能直接调用私有方法,可以通过内部函数间相互调用
 
Myclass.classFun() # 类方法(动态)如果要通过类名来调用,需加装饰器classmethod()
 
Myclass.staticFun() # 静态方法如需要类名来调用,需加装饰器staticmethod(),此时函数不再使用self

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消