简明的Python教程当中的几个疑惑点分析#1
2017-01-10 17:53
441 查看
#1简明的Python教程中的第11章面向对象编程学习中的类与对象的方法里面
有这么一个案例:使用类与对象的变量
#coding:utf-8 #类与对象的变量学习 class Person: population=0 #定义初始值,population=0 def __init__(self,name): self.name=name print 'My name is %s'%self.name #会被调用 Person.population+=1#Person.population=0+1=1 #1Person.population+=1相当于Person中的population=population+1,population初始值是0,0+1=1变成了1 def __del__(self): print 'hello world %s'%self.name Person.population-=1#1-1=0 #现在的1变成了0原理等同于上面的#1 #虽然population=1变成了population=0但是,大家发现没?他在__del__方法里面,没啥用啊,一旦我创建实例即对象的时候,1还是1,不会变成0 if Person.population==0: print 'I am the last one' else: print 'There are still %d people left'%Person.population #使用特殊的方法名__del__,顾名思义,del就是删除的意思,当我们创建实例即对象时自动调用 def sayHi(self): print 'Hi,my name is %s'%self.name #会被调用 def howMany(self): if Person.population==1: #所以population=1还是等于1 print 'I am the only person here' #将会被调用 else: print 'We have %d persons here'%Person.population redchen=Person('redchen') redchen.sayHi() redchen.howMany() maniacs=Person('Maniacs')
让我们看看输出部分:
======= RESTART: C:\Users\Administrator\Desktop\使用类与对象的变量.py ======= My name is redchen Hi,my name is redchen I am the only person here My name is Maniacs >>>
仔细看代码上面的注释部分。
相关文章推荐
- Python Time示例
- 骑士巡游问题 python
- Python中在for循环中嵌套使用if和else语句的技巧
- python中dict根据value找到keyname
- 3 开始爬虫 (1)
- python sklearn 机器学习库使用
- 使用python调用zxing库生成二维码图片详解
- Python零基础入门之三---(for循环+列表)
- How genius!
- 用Python xlwt建立excel表格
- Winpython 3.5.2.3 PyQt5中设计师缺失的问题
- Python中dataframe数据框中选择某一列非空的行
- PyQt4设计UI界面并添加简单功能【python+pyqt4+opencv】
- Python学习(一)
- python 列表转字典
- python round的用法
- thrift使用:java作为client端调用python服务端
- Python3包管理
- Windows下怎么搭建Python+Selenium的自动化环境
- Python zxing 库解析(条形码二维码识别)