博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象-类与对象
阅读量:5162 次
发布时间:2019-06-13

本文共 1756 字,大约阅读时间需要 5 分钟。

面向过程:解决问题的步骤,核心是过程,像设计流水线,机械式的思维方式 优点:复杂的问题流程化,进而简单化 缺点:可拓展性差
面向对象:核心就是对象二字,对象就是特征与技能的结合体 优点:可拓展性强 缺点:编程复杂度高 应用场景:用户需求经常变化,互联网应用,游戏,企业内部应用 类是一系列特征的东西;角度不同,类不同。

类是一系列对象相似的特征与技能的结合体。

对象是特征与技能的结合体。

在程序中:务必保证先定义类,后产生对象

在程序中,务必保证:先定义(类),后使用(产生对象)PS:  1. 在程序中特征用变量标识,技能用函数标识  2. 因而类中最常见的无非是:变量和函数的定义#程序中的类class OldboyStudent:    school='oldboy'  # 变量属性    def learn(self):        print('is learning')            def eat(self):        print('is eating')        def sleep(self):        print('is sleeping')  #注意:  1.类中可以有任意python代码,这些代码在类定义阶段便会执行  2.因而会产生新的名称空间,用来存放类的变量名与函数名,可以通过OldboyStudent.__dict__查看  3.对于经典类来说我们可以通过该字典操作类名称空间的名字(新式类有限制),但python为我们提供专门的.语法  4.点是访问属性的语法,类中定义的名字,都是类的属性#程序中类的用法.:专门用来访问属性,本质操作的就是__dict__OldboyStudent.school #等于经典类的操作OldboyStudent.__dict__['school']OldboyStudent.school='Oldboy' #等于经典类的操作OldboyStudent.__dict__['school']='Oldboy'OldboyStudent.x=1 #等于经典类的操作OldboyStudent.__dict__['x']=1del OldboyStudent.x #等于经典类的操作OldboyStudent.__dict__.pop('x')#程序中的对象#调用类,或称为实例化,得到对象s1=OldboyStudent()s2=OldboyStudent()s3=OldboyStudent()#如此,s1、s2、s3都一样了,而这三者除了相似的属性之外还各种不同的属性,这就用到了__init__#注意:该方法是在对象产生之后才会执行,只用来为对象进行初始化操作,可以有任意代码,但一定不能有返回值class OldboyStudent:    ......    def __init__(self,name,age,sex):        self.name=name        self.age=age        self.sex=sex    ......s1=OldboyStudent('李坦克','男',18) #先调用类产生空对象s1,然后调用OldboyStudent.__init__(s1,'李坦克','男',18)s2=OldboyStudent('王大炮','女',38)s3=OldboyStudent('牛榴弹','男',78)#程序中对象的用法#执行__init__,s1.name='牛榴弹',很明显也会产生对象的名称空间s2.__dict__{
'name': '王大炮', 'age': '女', 'sex': 38}s2.name #s2.__dict__['name']s2.name='王三炮' #s2.__dict__['name']='王三炮's2.course='python' #s2.__dict__['course']='python'del s2.course #s2.__dict__.pop('course')

 

转载于:https://www.cnblogs.com/hexiaorui123/p/10111564.html

你可能感兴趣的文章
centos 引导盘
查看>>
Notes of Daily Scrum Meeting(12.8)
查看>>
Apriori算法
查看>>
onlevelwasloaded的调用时机
查看>>
求出斐波那契数组
查看>>
lr_start_transaction/lr_end_transaction事物组合
查看>>
CodeIgniter学习笔记(四)——CI超级对象中的load装载器
查看>>
.NET CLR基本术语
查看>>
ubuntu的home目录下,Desktop等目录消失不见
查看>>
建立,查询二叉树 hdu 5444
查看>>
[Spring框架]Spring 事务管理基础入门总结.
查看>>
2017.3.24上午
查看>>
Python-常用模块及简单的案列
查看>>
LeetCode 159. Longest Substring with At Most Two Distinct Characters
查看>>
LeetCode Ones and Zeroes
查看>>
基本算法概论
查看>>
jquery动态移除/增加onclick属性详解
查看>>
JavaScript---Promise
查看>>
暖暖的感动
查看>>
Java中的日期和时间
查看>>