Python类的重写和私有变量
来源:互联网 发布:sql注入入门 编辑:程序博客网 时间:2024/05/17 09:17
1)类的重写
class parent(object): # 定义父类的时候,一定要写继承object类,否则会报错 name = 'parent' sex = 'F' def __init__(self,address,age): self.address = address self.age = age # print('My name is {0}'.format(self.name)) def get_name(self): return self.name def get_sex(self): return self.sexclass child(parent): name = 'child' sex = 'M' def __init__(self,address,age): # 单继承时super()和__init__()实现的功能是类似的 # parent.__init__(self,address,age) # 实现父类的构造器中的方法,多重继承时建议使用super可以避免__init__重复调用 super(child,self).__init__(address,age) # print('My name is {0}'.format(self.name)) def hello(self): print('hello world')a = child('chengdu',100) # 当实例化一个类时,__init__下的方法会自动执行print(a.address)print(a.age)# 从super()方法可以看出,super()的第一个参数可以是继承链中任意一个类的名字,# 如果是本身就会依次继承下一个类;# 如果是继承链里之前的类便会无限递归下去;# 如果是继承链里之后的类便会忽略继承链汇总本身和传入类之间的类;
运行结果:
chengdu
100
2)类的私有变量
class A(object): _name = 'Feng' # 受保护的变量,只允许本身和子类进行访问, # 当使用“from xx import *”时不会将带一个下划线的对象引入 __sex = 'F' # 双下划线的表示的是私有类型(private)的变量,只允许该类本身进行访问,外界无法访问 def hello(self): # 类方法必须包含参数 self print(self._name) print(self.__sex) def get_sex(self): # 需要操作私有变量时,需要自己在类中写get/set等方法 return self.__sexa = A()print (a._name)# print (a.__sex) # 报错,实例不能访问私有变量print(a._A__sex) # python不允许实例化的类访问私有数据, # 但可以使用 object._className__attrName 访问属性a.hello()print(a.get_sex())# 说明:__xx__: 定义的是特殊方法,一般是系统定义名字 ,类似 __init__() 之类的,# 只有当文档有说明时使用,不要自己定义这类变量
运行结果:
Feng
F
Feng
F
F
阅读全文
0 0
- Python类的重写和私有变量
- Python之类的重写和私有变量
- python类的重写、私有变量
- python学习—Day17—类的重写,私有变量
- 类的重写和类的私有变量
- NO.17类的重写、私有变量
- Python 类的私有变量
- Python的私有变量
- Python类中的 私有变量和私有方法
- Python 访问私有变量和私有方法
- python私有方法和变量
- Python下划线和私有变量
- 类的私有成员变量和私有成员函数
- OC基础—类的私有方法和私有变量
- python的私有变量解析
- python的私有变量 是类变量吗?
- Python 私有变量、私有方法、类变量与实例变量
- Python类中的私有变量
- Android SDK在线 国内源
- 6.1(2)
- oracle时间函数
- windows下通过IDE发布job到Hadoop Linux集群
- leetcode: 21. Merge Two Sorted Lists
- Python类的重写和私有变量
- NUMA架构的CPU – 你真的用好了么?
- Q
- bootstrap之input-group&label样式
- webpack-dev-server 使用 hash
- 操作系统互斥进程问题
- [Lintcode] #135 数字组合
- Linux系统知识小结(十一)
- keras笔记