定义了一个Animal类,该类包括了构造函数,私有方法,公有方法,静态方法,属性的方问等

双下划线"__"组成了私有成员的定义约束,其它情况则为公有成员

#_metaclass_=type # 确定使用新式类
class Animal:
       address="acccd";
       def __init__(self): #构造方法 一个对象创建后会立即调用此方法
               self.Name="Doraemon"
               print(self.Name);
      
       def accessibleMethod(self): #绑定方法 对外公开
              print (self.Name);
              self.__inaccessible()
        
       def __inaccessible(self): #私有方法 对外不公开 以双下划线开头
               print( "U cannot see me...");

@staticmethod
       def staticMethod():
             #self.accessibleMethod() #在静态方法中无法直接调用实例方法 直接抛出异常
             print("this is a static method");

def setName(self,name): #访问器函数
             self.Name=name

def getName(self): #访问器函数
             return self.Name

#name=property(getName,setName) #属性 可读可写

Animal.staticMethod();
t=Animal();
t.setName("ddd");
print(t.getName());
print(getattr(t,"address"));
setattr(t,"address","fjfkejkj");
print(getattr(t,"address"));

类自身的一些属性成员,包括类的名称字符串,继承等

print("Animal.__name__:", Animal.__name__);
print("Animal.__module__:", Animal.__module__);
print( "Animal.__bases__:", Animal.__bases__);
print("Animal.__dict__:", Animal.__dict__);

最新文章

  1. C语言指针转换为intptr_t类型
  2. linux下 html转pdf
  3. day27_面向对象进阶
  4. HDOJ(1238) KMP
  5. eclipse如何调试(Debug)程序(zhuan)
  6. IIS7.5下启用asp父级路径
  7. Android--Fragment的懒加载
  8. 用count(*)还是count(列名) || Mysql中的count()与sum()区别
  9. Android -- 双击退出
  10. vsftp虚拟用户登录配置详解
  11. .NET参数化Oracle查询参数
  12. STM32的IO口是如何配置为某个外设使用的 ---?
  13. UVA1618-Weak Key(RMQ)
  14. [Python设计模式] 第3~5章 单一职责原则/开放-封闭原则/依赖倒转原则
  15. 5、iptables之nat
  16. 围棋规则 - AlphaGO
  17. C# event线程安全
  18. 开源的挖矿软件,sha256
  19. 20165211 预备作业3 Linux安装与学习
  20. oracle extract函数

热门文章

  1. jQuery多级联动美化版Select下拉框
  2. 20165101刘天野 2018-2019-2《网络对抗技术》Exp5 MSF基础应用
  3. [Android Studio系列(五)] Android Studio手动配置Gradle的方法
  4. sql 加密解密函数
  5. 微信小程序获取用户信息,解密encryptedData 包括敏感数据在内的完整用户信息的加密数据
  6. 高并发情况下分布式全局ID
  7. 通过代码来调用log4net写日志
  8. 【bzoj1009】[HNOI2008]GT考试(矩阵快速幂优化dp+kmp)
  9. 配置阿里云maven中央库
  10. Cacti的基本安装配置