文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python_类属性和实例属性

2023-01-31 01:16

关注
class AAA():
    aaa = 10           # 可AAA.aaa直接调用,当实例属性没重名时,也可以obj1.aaa调用
                    # 有重名时 通过对象调用的是实例属性
    
    def __init__(self):      # self.xxx均为实例属性,也可以在其他方法中定义,但只有在其方法调用才会生效
                     # __init__是构造函数,对象创建就调用,用于初始化实例属性
                             
        self.color = 'red'      # 此为实例对象,对内的其他方法可通过 self.color调用
                             # 对外 可以通过对象调用 obj1.color
                              
        zone = 'china'        # 此为局部变量,只能在本方法使用
        
        self.__fruit = 'apple'  # 此为私有化实例属性,对内 self.__fruit 调用
                  # 默认对外不予许访问 ,但实际提供了访问私有属性的方式,用于测试和调试
                  # obj1._AAA__color
                  #  建议数据私有化,通过get set方法等方法对数据操作
                      
                      
                      
 
 
 
    @ staticmethod             # 方法一:在函数上@ staticmethod 修饰,通过类名调用 AAA.getfruit()
    def getfruit():
        pass



    def __getfruit():            # 一个不带self参数的私有函数
        pass
    count = staticmethod(__getfruit)    # 将__getfruit()转化为静态方法,并赋值给count
                         # 类名调用AAA.count()
 
 
 
 
 
                      

# 情形1   
obj1 = AAA()  
obj2 = AAA()



print obj1.aaa,obj2.aaa,AAA.aaa

# 情形2  
obj1.aaa += 2  
print obj1.aaa, obj2.aaa, AAA.aaa   

# 情形3  
AAA.aaa += 3  
print obj1.aaa, obj2.aaa, AAA.aaa

对问题探讨的总结

到这里就可以完满解释上面的问题:
1. Python中属性的获取是按照从下到上的顺序来查找属性;
2. Python中的类和实例是两个完全独立的对象;
3. Python中的属性设置(比如赋值)是针对对象本身进行的;


在python中类和对象都可以访问类属性,而java中的静态变量只能被类调用


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯