![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面向对象
*Heygirl
不断学习让自己变得更幸运
展开
-
Python选择排序算法(面向对象写法)
"""选择排序"""class SelectionSort(object): def __init__(self, li): self.li = li self.min_index = None # 初始时设置列表的最小值为空值 def campare_elem(self, m, n): """比较元素""" if self.li[m] > self.li[n]: self.min_in原创 2020-09-03 10:54:40 · 299 阅读 · 0 评论 -
Python冒泡算法(面向对象写法)
"""冒泡排序"""class BubbleSort(object): def __init__(self, li): self.li = li def campare_elem(self, m, n): """比较两个元素的大小""" if self.li[m] > self.li[n]: self.exchange_elem(m, n) def exchange_elem(self, m,原创 2020-09-02 19:51:43 · 158 阅读 · 0 评论 -
内置方法
内置方法信息格式化操作__str__方法作用:一个对象的描述字符串, 更加方便用户阅读, 对用户更友好触发方式:1> print 打印一个对象时2> str() 函数时格式:def __str__(self): return "描述信息"__repr__方法作用:一个对象的描述字符串, 更加方便机器处理, 对机器更友好(开发人员查看)触发方式:1> 当我们在交互模式下, 直接执行某个变量, 就会输出对应信息2> repr() 函数时格式:原创 2020-08-04 11:47:15 · 145 阅读 · 0 评论 -
类方法、实例方法、静态方法的比较
类方法、实例方法、静态方法的比较直接上代码class Person(object): age = 0 def shilifangfa(self): print(self) # 实例方法中既可以访问实例属性,也可以访问类属性 print(self.age) print(self.num) @classmethod def leifangfa(cls): print(cls)原创 2020-07-31 22:10:36 · 110 阅读 · 0 评论 -
类和对象—内存存储问题
类和对象面向过程 & 面向对象都是一种解决问题的思路(思想)面向过程在解决问题的时候,关注的是解决问题的每一个的过程(步骤)面向对象在解决问题的时候,关注的是解决问题所需要的对象举个例子:做好饭之后洗碗面向过程 你洗菜点火倒油放菜,材料翻炒盛出放水放碗倒洗洁精开始刷擦干水摆放好面向对象对比面向对象和面向过程都是解决问题的一种方式(思想) 面向对象本身是对面向过程的封装.1> 面向过程编程最重要的是什么?按照步骤划分把一个任务,分解原创 2020-07-30 21:45:22 · 435 阅读 · 0 评论 -
面向对象(7) -- 单例
重写new方法class MusicPlayer(object): # 重写new方法 def __new__(cls, *args, **kwargs): # 1.创建对象时,new方法会被自动调用 print('创建对象,分配空间') # 2.为对象分配空间 instance = super().__new__(cls) # 3.返回对象的引用 return instance原创 2020-07-15 13:43:43 · 65 阅读 · 0 评论 -
面向对象(6)— 多继承、多态、类方法和静态方法、类属性
继承父类的私有属性和方法1.子类对象不能在自己的方法内部,直接访问父类的私有属性或私有方法2.子类对象可以通过父类的公有方法间接访问到私有属性或私有方法私有属性、方法 是对象的隐私,不对外公开,外界以及子类都不能直接访问私有属性、方法 通常用于做一些内部的事情class A: def __init__(self): self.num1 = 100 self.__num2 = 200 def __test(self): p原创 2020-07-14 16:18:49 · 125 阅读 · 0 评论 -
继承
继承的语法class 类名(父类名): pass子类继承自父类,可以直接享受父类中已经封装好的方法,不需要再次开发子类中应该根据职责,封装子类特有的属性和方法class Animal: def eat(self): print('吃') def drink(self): print('喝') def run(self): print('跑') def sleep(self): print('原创 2020-07-13 18:19:19 · 120 阅读 · 0 评论 -
私有方法和私有属性
私有属性和方法的定义是在前面加两个下划线 _ _class Women: def __init__(self, name): self.name = name self.__age = 18 def secret(self): # 在对象的方法内部,是可以访问对象的私有属性的 print('%s 的年龄是 %d' % (self.name, self.__age))xiaofang = Women('小芳')#原创 2020-07-13 16:50:20 · 128 阅读 · 0 评论 -
面向对象封装案例 --- 士兵突击
封装案例 — 士兵突击一个对象的 属性 可以是 另外一个类创建的对象需求士兵 许三多 有一把 AK47士兵 可以 开火枪 能够 发射 子弹枪 装填 装填子弹 ---- 增加子弹数量开发士兵类假设每一个新兵都没有枪定义没有初始值的属性在定义属性时,如果不知道设置什么初始值,可以设置为 NoneNone 关键字表示什么都没有表示一个空对象,没有方法和属性,是一个特殊的常量可以将None 赋值给任何一个变量fire 方法需求1>判断是否有枪2>喊一声口原创 2020-07-13 16:20:47 · 467 阅读 · 0 评论 -
封装案例
封装封装 是面向对象编程的一大方法面向对象编程的第一步 — 将 属性 和方法 封装 到一个抽象的 类 中外界 使用 类 创建 对象,然后 让对象调用方法对象方法的细节 都被 封装 在类的内部面向对象封装案例一需求小明体重 75.0公斤小明每次跑步会减肥0.5公斤小明每次吃东西会增加1公斤class Person: def __init__(self, name, weight): # self.属性名 = 形参 self.name =原创 2020-07-12 22:06:32 · 266 阅读 · 1 评论 -
类和对象(python版本)----( __init__、 __del__ 、__str__ )
类使用print输出对象变量,在默认情况下,是能够输出这个变量引用的对象是由哪一个类创建的对象,以及在内存中的地址(十六进制表示)代码1:class Cat: def eat(self): print('小猫爱吃鱼') def drink(self): print('小猫爱喝水')# 创建对象tomtom = Cat()tom.eat()tom.drink()# 使用print输出对象变量,在默认情况下,是能够输出这个变量引用的原创 2020-07-12 20:30:30 · 118 阅读 · 0 评论