对象的使用

class OldboyStudent:
     school='oldboy'
     def __init__(self,name,age,sex):
           self.name=name
           self.age=age
           self.sex=sex
     def learn(self):
           print('%s is learning' %self.name)
     def choose(self,course):
           print('%s is choosing %s' %(self.name,corse))

调用类:
产生类的对象,该对象也可以称之为类的一个实例,调用类的过程也可以称之为实例化
 
实例化做了三件事
1、先产生一个空对象
2、自动触发类内部__init__函数的执行
3、将空对象,以及调用类括号内传入的参数,一同传给__init__,为对象定制独有的属性
stu1=OldboyStudent('李三胖',18,'male')  
stu2=OldboyStudent('王大炮',28,'male')


查看对象的名称空间
print(obj.__dict__)

类内部定义的变量是给所以对象共享,所有对象指向的都是同一个内存地址
print(id(stu1.school))           #38371376
print(id(stu2.school))           #38371376
print(id(OldboyStudent.school))         #38371376

类内部定义的函数,类可以使用,但类来用就是一个普通的函数,普通函数有几个参就传几个参数
print(OldboyStudent.learn)
OldboyStudent.learn(123))       #报错

类内部定义的函数,其实是给对象使用的,而且是绑定给对象用,绑定给不同的对象就是不同的帮对方法
print(stu1.learn)
print(stu2.learn)

绑定方法的特殊之处在于,谁来调用,就会将谁当作第一个参数自动传入

一切皆对象:在python3中统一了类与类型的概念,类即类型
l=list([1,2,3])
print(type(1))       # (class'list')




 

posted on 2018-04-11 20:00  muzinianhua  阅读(76)  评论(0编辑  收藏  举报