关于python的类
2015-10-19 22:12
495 查看
class Person: def setName(self,name): self.name = name def getName(self): return self.name def greet(self): print "Hello world!My name is %s" % self.name foo = Person() bar = Person() foo.setName("Linda") bar.setName("Hellen") foo.greet() bar.greet() print "Done!Tada!!"让方法或者属性变为私有:
class Person: def setName(self,name): self.name = name def getName(self): return self.name def greet(self): print "Hello world!My name is %s" % self.name foo = Person() bar = Person() foo.setName("Linda") bar.setName("Hellen") foo.greet() bar.greet() print "Done!Tada!!"
运行时结果:
AttributeError: Person instance has no attribute '__greet'
class Person:
def setName(self,name):
self.name = name
def getName(self):
return self.name
def __greet(self):
print "Hello world!My name is %s" % self.name
foo = Person()
bar = Person()
foo.setName("Linda")
bar.setName("Hellen")
foo._Person__greet()
bar._Person__greet()
print "Done!Tada!!"
这样写就又可以输出正确的结果了:这是因为在类的内部定义中,所有以双下划线开始的名字都被翻译成前面加上单下划线和类名的形式。
相关文章推荐
- Python各数据类型真值对照
- [LeetCode]题解(python):029-Divide Two Integers
- 12.Python标准库_数学与随机数 (math包,random包)
- Python学习笔记 -- 第五章
- [LeetCode]题解(python):028-Implement strStr()
- Python爬虫入门-Beautiful Soup的用法
- python文件操作之文件读取方式
- python 字符串函数
- 解决python源代码中编码问题
- Python学习要点(0x00)
- python 获取星期几
- python 判断学期与学年
- Python下ORM的一个设计举例
- Python2.x与3.x版本区别
- python 去除不可见的控制字符
- 源码安装python
- Python下异步IO和协程简介
- Python中assert的用法
- python+Eclipse+pydev环境搭建
- python排序算法和实现