面向对象 "一"

简介: 1:面向对象不是所有情况都适用。 2面向对象编程 a:定义类 calss Foo: 注意顶一个类的时候首字母必须是大写 def (方法一)(self,bb) pass b:根据创建对象,创建和Foo实列的。
1:面向对象不是所有情况都适用。

2面向对象编程

a:定义类

calss Foo:                    注意顶一个类的时候首字母必须是大写

       def (方法一)(self,bb)

               pass

b:根据创建对象,创建和Foo实列的。

使用对象去类中找方法。

3:self,是一个形式参数,python内部传递的。

4:类+括号就会自动执行类中的__init__方法:创建了一个对象在__init__方法中执行具体的封装操作。

__init__:有一个特殊的名字:构造方法

__del__:解释器销毁对象的时候会自动调用,特殊的名字:析构方法
封装:

使用场景:当同一类型的方法具有相同的参数时,直接封装到对象即可。

使用场景:把类当做模板,创建多个对象(对象内封装的数据可以不一样)

5:派生类可以继承基类中的所有功能。

6:派生类和基类同时存在,优先找派生类。

面向对象有三个特性:

                          封装 , 继承 , 多态。

 

面向对象编程,类,def函数。          参考:
class Oldboy:           定义类
    def fetch(self,backend):         
        print(backend) 
    def add_record(self,backend,record):
        pass
#创建对象
ret = Oldboy()
  

ret.fetch("www.xxx.com") ret.add_record("www.xxx.com","www.ooo.com") #这个不执行 #输出结果 www.xxx.com



class OldBoy:
    def __init__(self,bk):      #bk是形参,对应外部穿过来的实参
        '''
        构造方法
        :return: bk
        '''
        self.backend = bk       #self.backend = bk相当于在__init__中bk的参数

    def fetch(self):
        print('fetch中self的内存地址:',self)
        return self.backend     #backend用来接收init方法中bk的参数

    def add_record(self,record):
        print('add_record中self的内存地址:',self)
        return self.backend + record

obj = OldBoy("www.oldboy.org")      #创建了一个对象obj,然后把www.oldboy.org封装到类中对应的形参bk
# obj.backend = "www.oldboy.org"
print('obj对象的内存地址:',obj)
ret = obj.fetch()
print(ret)

obj2 = OldBoy(2)
# obj2.backend = 2
print('obj2对象的内存地址:',obj2)
ret = obj2.add_record(3)
print(ret)
class Abcd:          #父类
    def chi(self):
        print(self,name +"" )
    def he(self):
        print(self,name + "")
class Dog(Abcd):          #继承父类
    def __init__(self,name):
        sela.name = name
    def jiao(self):
        print(self.name + "")
ret = Dog("小黑")
ret.chi()
ret.he()
ret.jiao()

#执行结果
小黑 吃
小黑 喝
小黑 汪

 

#多个继承
class Abcd(object):
    def f1(self):
        print("Abcd")
class A(Abcd):
    def f(self):
        print("A")
class B(Abcd):
    def f1(self):
        print("B")
class C(A):
    def f(self):
        print("C")
class D(B):
    def f1(self):
        print("D")
class E(C,D):
    def f(self):
        print("E")
ret = E()
ret.f1()


#执行结果
D

 

  

相关文章
|
9月前
|
Linux
Typore+PicGo+GitHub图床搭建
Typore+PicGo+GitHub图床搭建
65 1
|
机器学习/深度学习 JavaScript 算法
生成对抗网络-理论部分|深度学习(李宏毅)(二十三)
生成对抗网络-理论部分|深度学习(李宏毅)(二十三)
350 0
生成对抗网络-理论部分|深度学习(李宏毅)(二十三)
|
弹性计算 Linux
ECS的初体验
我是一名大三的学生,专业是计算机科学与技术,最近在学习linux,听了狂神的服务器的购买及配置,狂神比较推荐阿里云的服务器,因为有一些学生优惠,还有就是有这个优惠活动助力高效学生学习。飞天加速计划·高校学生在家实践”活动,帮助学生的学习,通过一定的练习,对于服务器就会有一定的了解,之后可能也会购买阿里云的服务器。好像去年就有这个活动“飞天加速计划·高校学生在家实践”,以前一直不知道买来服务器有什么用,现在知道了,帮助学习,搭建自己的网站博客等等。 昨天在阿里云体验了ecs的这个功能,我觉得很不错,于是就立即做了测试题,通过了就立马开通了一个服务器,想借着这个机会多学习一下操作,在狂神那里学习l
阿里云POLARDB 2.0重磅来袭!为何用户如此的期待?
POLARDB 1.0主要的改进包括采用了计算存储分离的架构,完全兼容MYSQL,性能是原生MySQL的6倍。一个用户集群可以在分钟级弹性扩展到16个计算节点,对业务完全透明的计算和存储分离代理,从库延迟仅毫秒级。
1788 0
|
前端开发 JavaScript 中间件
|
20天前
|
存储 人工智能 测试技术
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
141061 20
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
|
19天前
|
人工智能 运维 前端开发
基于阿里百炼的DeepSeek-R1满血版模型调用【零门槛保姆级2084小游戏开发实战】
本文介绍基于阿里百炼的DeepSeek-R1满血版模型调用,提供零门槛保姆级2048小游戏开发实战。文章分为三部分:定位与核心优势、实战部署操作指南、辅助实战开发。通过详细步骤和案例展示,帮助开发者高效利用DeepSeek-R1的强大推理能力,优化游戏逻辑与视觉效果,解决官网响应延迟问题,提升开发效率和用户体验。适合企业开发者、教育行业及多模态探索者使用。
70896 17
基于阿里百炼的DeepSeek-R1满血版模型调用【零门槛保姆级2084小游戏开发实战】
|
27天前
|
人工智能 自然语言处理 Shell
深度评测 | 仅用3分钟,百炼调用满血版 Deepseek-r1 API,百万Token免费用,简直不要太爽。
仅用3分钟,百炼调用满血版Deepseek-r1 API,享受百万免费Token。阿里云提供零门槛、快速部署的解决方案,支持云控制台和Cloud Shell两种方式,操作简便。Deepseek-r1满血版在推理能力上表现出色,尤其擅长数学、代码和自然语言处理任务,使用过程中无卡顿,体验丝滑。结合Chatbox工具,用户可轻松掌控模型,提升工作效率。阿里云大模型服务平台百炼不仅速度快,还确保数据安全,值得信赖。
358007 62
深度评测 | 仅用3分钟,百炼调用满血版 Deepseek-r1 API,百万Token免费用,简直不要太爽。
|
23天前
|
人工智能 自然语言处理 API
快速使用 DeepSeek-R1 满血版
DeepSeek是一款基于Transformer架构的先进大语言模型,以其强大的自然语言处理能力和高效的推理速度著称。近年来,DeepSeek不断迭代,从DeepSeek-V2到参数达6710亿的DeepSeek-V3,再到性能比肩GPT-4的DeepSeek-R1,每次都带来重大技术突破。其开源策略降低了AI应用门槛,推动了AI普惠化。通过阿里云百炼调用满血版API,用户可以快速部署DeepSeek,享受高效、低成本的云端服务,最快10分钟完成部署,且提供免费token,极大简化了开发流程。
191003 23
快速使用 DeepSeek-R1 满血版