当前位置: 首页 > news >正文

大亚湾建设网站公司郑州网络推广公司排名

大亚湾建设网站公司,郑州网络推广公司排名,申请自己邮箱域名,做一个网页难不难Python的类变量和对象变量声明解析 原文链接:https://www.cnblogs.com/bwangel23/p/4330268.html Python的类和C一样,也都是存在两种类型的变量,类变量和对象变量!前者由类拥有,被所有对象共享,后者由每个…

Python的类变量和对象变量声明解析

原文链接:https://www.cnblogs.com/bwangel23/p/4330268.html


Python的类和C++一样,也都是存在两种类型的变量,类变量和对象变量!前者由类拥有,被所有对象共享,后者由每个对象独有。这里我主要想讨论一下他们的声明办法。

首先说的是类变量

只要是声明在类的语句块中,且没有"self."前缀的变量都是类变量,且类变量是被所有对象共享的。

注意红字部分,如果声明在类的方法的语句块中,那么就是局部变量了!比如下面这个例子:

#!/usr/bin/env python
# -* - coding: UTF-8 -* -
#Function: Use the class varclass Person:cvar = 1 # 类的变量def sayHi(self):fvar = 1 # 方法sayHi()中的局部变量print(Person.cvar)
print(Person.fvar)

那个cvar就是属于Python类的变量,而那个fvar就是方法sayHi()中的局部变量,第11条语句那里就会报错!

接下来我们再来讨论一下对象变量的声明方法:

在类的方法的语句块中声明的以“self.”开头的变量都是对象变量,由对象独有!

比如下面这个例子

#!/usr/bin/env python
# -* - coding: UTF-8 -* -
#Function: Use the object varclass Person:def haveName(self):self.name = 'Michael'def sayName(self):print(self.name)def main():p = Person()p.haveName()p.sayName()main()

这里在haveName()方法中声明了一个对象变量,然后再在sayName()方法中调用。然后主程序中就会输出了!

不过建议将对象变量声明在__init__()方法中,因为对象一被创建的时候即会调用这个方法,否则的话,比如上面那个例子,如果我先调用sayName()的话,那么就会出错,说对象实例还没有name这个属性!

最后还想说的一点的就是,Python中没有private public这些关键字来标明类的变量或者方法的访问权限,但是可以通过在变量或者方法的前面加上"__"来表明这个成员是被类私有的,不能在外部调用,比如下面这个例子:

#!/usr/bin/env python
# -* - coding: UTF-8 -* -
#Function: Use the private var and funcclass Person:__count = 0            #这个变量是私有数据成员,只能被类的方法访问,是属于类的def get(self):return(Person.__count)def __pri(self):print('Yes')p = Person()
print(p.get())p.__pri()
print(p.__count)

比如这里的类变量__count就是类私有的,只能被类的函数成员调用(13行),而在类外面调用(16行)就是错误的!还有那个函数成员__pri()也是私有的,在类外面直接调用(15行),也是错误的!

http://www.yidumall.com/news/24966.html

相关文章:

  • 广州番禺区人才网seo整合营销
  • 做购物网站是怎么链接银行seo排名优化技术
  • 网站模板html搜索引擎seo关键词优化方法
  • 建设厅国网查询网站产品推广方案要包含哪些内容
  • wordpress老文章win10优化软件
  • 网站建设与网页设计从入门到精通百度老旧版本大全
  • 商贸公司营销网站建设免费个人网页制作
  • 正邦网站建设 优帮云推广普通话的意义
  • 2017网站建设有市场吗免费网站推广软文发布
  • 南宁高端网站建设环球军事新闻最新消息
  • 网站建设中的多语言翻译如何实现hao123网址之家官网
  • 镇江市住房城乡建设局网站2024年8月爆发新的大流行病毒吗
  • 建一个网站得多少钱软文广告经典案例200字
  • 广州住房公积金建设银行预约网站徐州百度推广
  • 昆山网站建设哪家比较好杭州网站优化公司哪家好
  • 禹城做网站google站长工具
  • 重庆是哪个省划分出来的seo企业优化顾问
  • 铁岭市网站建设公司百度免费建网站
  • wordpress主题wake优化网站做什么的
  • 营销型网站开发百度不能搜的十大禁词
  • 做logo赚钱的网站百度云官网登录入口
  • 可以做装修效果图的网站有哪些百度普通收录
  • 做网站需要代码吗百度官方网址
  • 越南做网站sem推广竞价托管公司
  • 烟台网站建设费用百度seo优化哪家好
  • 营销型投资公司云优化seo
  • go语言视频网站开发深圳市前十的互联网推广公司
  • 织梦电影网站模板下载whois查询 站长工具
  • 帝国手机网站怎么做腾讯域名注册官网
  • 北京个人网站制作微信怎么做推广