设为首页 收藏本站
查看: 1005|回复: 0

[经验分享] 对python变量的理解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-4-18 09:51:54 | 显示全部楼层 |阅读模式
#!/usr/bin/python

class Person:
   '''some words content or descriptions!'''
    name='luomingchuan'
    _age = 18
    __mail = 'gordon.tongji'
    def __init__(self):
        self.normal = 'normal'
        self._single = 'single'
        self.__double = 'double'

    def print_self(self):
        print 'instance variables: ', self.normal,self._single,self.__double
        print 'class variables: ',self.name,self._age,self.__mail
 python类的理解对于编程蛮重要的,对于我个人来说,我习惯这样编写,双引号的可以用来描述私有变量,单引号的用来描述实例变量,不带引号的用来描述类的变量,这样系统化分后,以上代码就可以书写为

复制代码
#!/usr/bin/python

class Person:
    global global_var
    name='luomingchuan'
    age = 18
    __mail = 'gordon.tongji'
    def __init__(self):
        self._normal = 'normal'
        self._single = 'single'
        self.__double = 'double'

    def print_self(self):
        print 'instance variables: ', self.normal,self._single,self.__double
        print 'class variables: ',self.name,self._age,self.__mail
  接下来谈谈对三种变量的理解,global是使用全局的一个变量,这个只是在这声明,其实python的global我的理解是类似于全局的静态变量。类的变量是针对与这一类的变量,他们共享的变量,初值只在第一次实例化时候赋予,类似于共享于类之间的全局变量,是这个类所共同拥有的,当然和全局变量还是有区别的话,实例变量是伴随这实例化的这个实例的,访问的时候一定要使用self才能够获得,其定义的时候是在__init__()函数内定义的。私有变量貌似外面不可获得,其实可以通过__classname__doublequotename获得。
#!/usr/bin/python

class Person:
    name='luomingchuan'
    _age = 18
    __mail = 'gordon.tongji'
    count = 0
    def __init__(self):
        self.normal = 'normal'
        self._single = 'single'
        self.__double = 'double'
        Person.count += 1
      #self.count += 1        
      #count += 1 will cause error

    def print_self(self):
        print 'instance variables: ', self.normal,self._single,self.__double
        print 'class variables: ',self.name,self._age,self.__mail

    def __del__(self):
        Person.count -= 1
        #self.count -=1

    def countPerson(self):
        print self.count
python比较有趣的是,竟然定义在内部的静态变量不能通过在内部直接调用,这能通过self.来访问或者类名加点,




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-17663-1-1.html 上篇帖子: python抓取网页中图片并保存到本地 下篇帖子: Python 列表和字典用法解释 python
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表