对象是特征与技能的结合体,我可能有身高体重、而你也有身高体重,因此你会说你像我,可是你必定不会说你像阿猫阿狗。而且我和你其实就能够说成是一类,而你和选课系统不能说是一类,所以给出类的定义:类就是一系列对象类似的特征与技能的结合体。python
在现实世界中:先有一个个具体存在的对象,而后随着人类文明的发展才了分类的概念函数
对象:含有属性和方法学习
拿咱们的选课系统来讲的话,咱们先总结一套现实世界中的学生对象code
站在将来选课系统的角度,咱们还能够总结现实世界中的学生类:对象
class Students: # 定义对象相同的属性 shool = 'xiwangzhongxue' # 定义对象想的方法 def choice(self): print('选课。。。。') def study(self): print('学习。。。。')
stu1 = Student() # 这个时候只是生成了一个对象stu1,对象自己没有任何属性 print(stu1) # 打印的只是stu1对象在定义的时候生成的内存地址
<main.Student object at 0x000001EE24F2C198>内存
print(Student.__dict__)
{'module': 'main', 'school': 'oldboy', 'func1': <function Student.func1 at 0x000001EE25195620>, 'func2': <function Student.func2 at 0x000001EE2C0C59D8>, 'dict': <attribute 'dict' of 'Student' objects>, 'weakref': <attribute 'weakref' of 'Student' objects>, 'doc': None}it
print(stu1.__dict__) # 返回的是一个空的字典,由于咱们在定义这个stu1对象的时候,没有给它定义其余的属性
{}io
Student.choice(stu1) # 函数的第一个参数则是定义的对象名
选课。。。。function
stu1.choice():
选课。。。。class
stu1.name = '小明' print(stu1.__dict__)# 返回一个字典,字典包含的是对象本身的属性集合 print(stu1.name) # 返回对象本身name的属性
{’name‘:’小明‘}
小明
# 定义一个学生类 class Student: # 定义类的相同属性 school = '但愿中学' # 定义类的相同方法 # 定义类的属性方法 def __init__(self,name): self.name = name def choice(self): print('选课...') def study(self): print('学习....') # 实例化一个对象 stu1 = Student('小明')# ()括号里传的是对象stu2的name属性值为'小明' print(stu1.__dict__)# 打印对象stu1的属性集合 print(stu1.name)# 打印stu1的name的属性值