class 类名:
特征
技能
定义类名的规范:驼峰命名法
#定义老男孩学生类 class OldboyStudent: #类名指向的是类的内存地址 #学生相同的特征,也称为属性 school = 'oldboy' #学生相同的技能 #注意:在类内部定义函数,会默认有一个参数self def learn(self): #self此时当作一个形参 print('learning...') print(OldboyStudent) ## <class '__main__.OldboyStudent'> #查看类的名称空间 print(OldboyStudent.__dict__) print(OldboyStudent.__dict__['school']) print(OldboyStudent.__dict__['learn']) OldboyStudent.__dict__['learn'](123) #类提供一种获取名字的特殊方式“类名.名字” #查 print(OldboyStudent.school) #--->oldboy OldboyStudent.learn('形参') #--->learning... #改 OldStudent.school = 'oldgirl' print(OldStudent.shool) #--->oldgirl #删 del OldStudent.school #增 OldStudent.old_student = 'lzn' print(OldboyStudent.old_student) #--->lzn
关于名称空间:
函数的名称空间:在函数调用时产生,函数调用结束后销毁
类的名称空间:在定义阶段时产生,会将类中所有名字都扔进类的名称空间中
对象
对象的产生:
-调用类产生对象
类名+()调用类产生对象
类的名称空间在定义时产生,对象的名称空间在调用类时产生
调用类产生对象的过程称之为类的实例化,对象称之为类的一个实例
由对象来调用类内部的函数,称之为对象的绑定方法
特殊之处在于:会将对象当作第一个参数传入***,若对象的绑定方法中还有其他参数,会一并传入。
class Student: #学校 school = 'oldboy' def __init__(self,name,sex,age): print(self.__dict__)#查看当前对象的名称空间 #给对象添加新的属性 self.name = name self.sex = sex self.age = age def learn(self): print(self) print('learning...') #*****想要在调用类时,为对象传入对象独有的特征 #*****__init__(self,name,sex,age) #调用类时会将对象当做第一个参数,与括号内所有的参数一并传给__init__() stu1 = Student('lzn','male','18') print(stu1.name,stu1.age,stu1.sex) #>>>lzn 18 male #注意:凡是在类内部定义的.__开头或者__结尾的方法都有特殊意义。
来源:https://www.cnblogs.com/littleb/p/12050904.html