pythonday08

import  sys,_functools,functools
类成员: 特性  行为
属性分归属 类属性 对象属性
对象属性 两种创建方式
1  self 对象的载体
  
def __init__(self,name,age):
        self.name=name;
         self.age=age;
2对象名.属性的形式
封装2
1 私有
2
与业务相关  ..
class Student:

   
def __init__(self):
       
pass
    
count=0;
    cls
用来表明 是 类
   
def __new__(cls, *args, **kwargs):
      
print("执行  __new__",args[0],args[1])

      
return  object.__new__(cls);

   
def __init__(self,name,age):
       
print("执行  __init__",name,age)
       
self.__class__.count+= 1
        
self.name=name;
       
self._age=age;
       
self.__address='北京'


   
@property
   
def Address(self):
       
return  self.__address

   
@property
   
def Address(self,value):
       
self.__address=value;


   
@classmethod
   
def countAdd(cls):
       
pass
        global 
count;
        count+=
1

   
def get_Age(self):
       
return  self._age;

   
def set_Age(self,age):
       
if age<0 orage>100:
           
self._age=18
       
else:
           
self._age=age

   
def showInfo(self):

       
print("姓名{0} 年龄{1} {2}个对象".format(self.name,self._age,self.count))

   
def __str__(self):
       
return  "姓名:{0} 年龄:{1}".format(self.name,self._age)

   
def __del__(self):
       
pass
       
print('对象:',self.name,'被销毁...')

   
@staticmethod
   
def goHome(cls,name,by):
       
print(name,"回家...",by)

zhangsan=Student(
"张三",20);
print(zhangsan)
li4= Student(
"li4",20);
print(li4)
print(id(zhangsan))
print(id(li4))
print('地址:',zhangsan._Student__address, zhangsan._age)
#del zhangsan

print(str(zhangsan))
#可以测试一个对象有多少个引用:
print(sys.getrefcount(zhangsan))

zhangsan=Student(
"张三",20);
Student.count+=
1;
zhangsan.showInfo()

li4= Student(
"li4",20);
Student.count+=
1;
li4.showInfo()
li4.Address=
'天津';
li4.
__setattr__('Address','天津')
print(li4.Address)


print(dir(zhangsan))
print(zhangsan.__dir__())
print(dir(Student))
print(zhangsan.name,'属于第{}Student 对象'.format(Student.count))
print(li4.name,'属于第{}Student 对象'.format(Student.count))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值