![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python—面对对象编程
面向对象程序设计作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。
whyfail
编程界崇尚以简洁优雅为美,很多时候,如果你觉得一个概念很复杂,那么很可能是你理解错了!
展开
-
Python之设计模式
设计模式是面向对象语言特有的容,是在面临某一类问题时候固定的做法,设计模式有很多种,比较流行的是:GOF 23种设计模式。两个常用的模式:工厂模式和单例模式工厂模式是实现了创建者和调用者的分离,使用专门的工厂类将选择实现类、创建对象进行统一的管理和控制。# 测试工厂模式class CarFactory: def create_car(self, brand, ): ...原创 2019-11-08 23:21:52 · 80 阅读 · 0 评论 -
Python之组合
‘is-a’关系,可以使用’继承‘。实现子类拥有的父类的方法和属性。狗是动物。’has-a’关系,可以使用‘组合’。也能实现一个类拥有另一个类的方法和属性。手机拥有CPU。# 测试组合print("继承………………………………")class A: def say_a(self): print('aaa')class B(A): passb = B...原创 2019-11-08 22:44:59 · 155 阅读 · 0 评论 -
Python之特殊方法和属性
python的运算符实际上是通过调用对象的特殊方法实现的。a =10b =20c =a+bd = a.__add__(b)print('c=',c)print('d=',d)>>>c=50d=50每个运算符实际上都对应了相应的方法:运算符+:__add__ 加法运算符-:__sub__ 减法<,<=,== __lt__,__le__...原创 2019-11-08 21:37:13 · 355 阅读 · 0 评论 -
Python之多态
多态:指同一个方法调用由于对象不同可能会产生不同的行为。注意:1、多态时方法的多态,属性没有多态。2、多态的存在有2个必要条件:继承、方法重写。# 测试多态class Man: def eat(self): print("饿了,吃饭!")class Chinese(Man): def eat(self): print("筷子")...原创 2019-11-08 21:15:28 · 151 阅读 · 0 评论 -
Python之object根类
object类是所有类的父类,因此所有的类都有object类的属性和方法。dir()查看对象属性方便查看指定对象所有的属性# 查看对象所有属性以及和object进行对比class Person: def __init__(self,name,age): self.name = name self.age = age def say_age...原创 2019-11-07 22:15:32 · 1254 阅读 · 0 评论 -
Python之继承
继承是面向对象程序设计的重要特征,也是实现”代码复用“的重要手段。继承的语法:class 子类类名(父类1[,父类2,....]) 类体如果在类定义中没有指定父类,则默认父类是object类。也就是说,object是所有类的父类,里面定义了一些所有类共有的默认实现,比如:init().定义子类时,必须在其构造函数中调用父类的构造函数。格式如下:父类名.init(self,参数列...原创 2019-11-07 21:47:00 · 75 阅读 · 0 评论 -
Python之面向对象三大特征介绍
python是面向对象的语言,也支持面向对象编程的三个特征:封装(隐藏)隐藏对象的属性和实现细节,只对外提供必要的方法。相当于将“细节封装起来”,只对外暴露“相关调用方法”。通过“私有属性”、“私有方法”的方式,实现“封装”。python追求简洁的语法,没有严格的语法级别的“访问控制符",更多的是依靠程序员的自觉实现。继承继承可以让子类具有父类的特征,提高了代码的重要性。从设计上是...原创 2019-11-07 21:09:55 · 818 阅读 · 0 评论 -
Python之@property装饰器
@property可以将一个方法的调用方式变成‘属性调用’。# 测试属性@property的用法class Test01: @property def all_l(self): print('say good') return 10000t = Test01()print(t.all_l)》》》say good10000不...原创 2019-11-07 16:59:06 · 126 阅读 · 0 评论 -
Python之私有属性和方法
python对于类的成员没有严格的访问控制限制,这与其他面对对象语言有区别。方法本质上也是属性,只不过是可以通过()执行而已。关于私有属性和私有方法,要点:1、通常约定,两个下划线开头的属性是私有的属性,其他的为公共的。2、类内部可以访问私有属性(方法)3、类外部不能直接访问私有属性(方法)4、类外部可以通过”__类名 __私有属性(方法)名"访问私有属性(方法)# 测试私有属性...原创 2019-11-07 16:11:02 · 187 阅读 · 0 评论 -
Python之方法
其他语言可一定义多个重名的方法。python中是没有方法的重载的。定义一个方法即可有多种调用方式,相当于实现了其他语言的重载。建议:不要使用重名的方法!python中方法没有重载。如果定义多个重名的方法,只有最后一个方法有效。# 如果定义多个重名的方法,只有最后一个方法有效。class Test01: def say_good(self): print("he...原创 2019-11-07 14:03:02 · 829 阅读 · 0 评论 -
Python之类
把对象比作一块“砖头”,类就是制造这个砖头的“模具”。通过类定义数据类型的属性(数据)和方法(行为),也就是说,“类将行为和状态打包在一起”。对象是类的具体实体,称为“类的实例”。class Student: # 类名一般首字母大写,多个单词采用驼峰原则 def __init__(self, name, age): # self必须位于第一个参数 self.na...原创 2019-10-29 22:00:19 · 96 阅读 · 0 评论 -
Python之编程思维
python完全采用了面对对象的思想,是真正面向对象的编程语言。面向过程思维适合小规模程序。关注的是“程序的逻辑流程”。是一种“执行者”思维。面向对象思维适合大规模的程序。关注的是“软件中对象之间的关系".是一种”设计者“思维。首先思考”怎么设计这个事物“。面向对象思考方式遇到复杂问题,先从问题中找名词(面向过程更多的是找动词),然后确立这些名词那些可以作为类,再根据问题需求...原创 2019-10-29 21:34:32 · 1325 阅读 · 0 评论