Chinaunix首页 | 论坛 | 博客
  • 博客访问: 328490
  • 博文数量: 105
  • 博客积分: 358
  • 博客等级: 一等列兵
  • 技术积分: 444
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-25 23:00
个人简介

爱生活,爱养生 www.sijiyang.com 欢迎朋友来友联

文章分类

全部博文(105)

文章存档

2017年(2)

2016年(2)

2014年(24)

2013年(34)

2012年(39)

2011年(4)

分类: Python/Ruby

2014-01-17 08:01:08

#coding:utf-8
#公有属性和私有属性,本身并不区分对象的还是类的,只是我们平时便于定位才这么区分的
var4 = "全局变量var4"
class shuxing():
        var1=" 类属性,公有属性var1"
        __var2="类的私有属性 __var2"

        def fun(self):
            self.var2="对象的公有属性var2"
            self.__var3="对象的私有属性 __var3"
            '''print self.__var3 #在类的内部打印'''
            var4 = "函数 fun的局部变量var4"   # 仅仅是一个局部变量
'''         print var4 #只有在此处调用局部变量
            print self.__var2 #在类的内部打印

        #========= var4和__var3的区别===========
        #局部变量在函数的内部使用
        def other(self):
            print var4   # 默认python认为是打印全局变量,全局变量在类的外部定义
            print self.__var3
zou = shuxing()
zou.fun()   # 如果没有这个声明调用,__var3就会报错
print "#" * 20
zou.other()  # 报错 名字错误,var4没有定义,除非将var4声明为全局变量
'''
            
'''=========公有属性============'''
#zou=shuxing()
#print zou.var1  #类属性是可以被类和对象直接调用
'''>>>
类属性,公有属性var1 '''

#zou=shuxing()
#print shuxing.var1
'''>>>
类属性,公有属性var1
#由于可以直接调用,所以可以直接使用类shuxing来调用 '''

'''==========私有属性===================='''
#zou=shuxing()
#print zou.__var2    #报错
#print shuxing.__var2 #报错

'''======== 对象的公有属性 =========='''
#print shuxing.var2  #报错,提示没有var2这个属性
'''经过分析,因为var2在函数fun中,如果fun不被调用,则var2不会被读取 '''

#zou=shuxing()
#zou.fun()
#print zou.var2
''' >>> 对象的公有属性var2'''

''' =================体现句柄的特性。=========='''
#zou=shuxing()
#qi = shuxing()
#zou.fun()       # 被实话zou给调用
#print zou.var2  #''' >>> 对象的公有属性var2'''
#print qi.var2    # 报错

''' ========对象的私有属性========'''
#zou=shuxing()
#zou.fun()
#print zou.__var3  #报错

''' ====对象的局部变量====='''
#zou=shuxing()
#zou.fun()        #在此处算是调用fun函数,然后触发print 打印var4的内容
#print zou.var4    #报错

阅读(680) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~