详解Python的面向对象,助你深入浅出的学习,颠覆你的认知

【珍藏】打破Python学习瓶颈!助你30天构建完整知识体系 《30-Days-Of-Python》是一个GitHub上广受欢迎的Python学习项目,通过30天系统化的学习路径,帮助初学者从零掌握Python核心知识。该项目采用渐进式结构,每天一个主题,涵盖基础语法、数据结构、函数、面向对象编程、文件操作、异常处理等核心内容,并延伸至Web开发、数据分析等应用领域。其亮点在于实战导向的设计,包含大量代码示例和练习题,强调动手实践而非单纯理论。此外,项目免费开源,内容持续更新,适合希望建立完整Python知识体系的学习者。通过30天的坚持,学习者不仅能掌握Python 阅读详情

一、编程范式

  1、定义:简单说就是程序员为了解决一系列编程问题而使用的编程套路,比如面向过程式编程,面向对象式编程,函数式编程,都属于编程范式。

  2、面向过程编程:为计算机执行流程定义了一系列的函数,计算机将顺序执行完成任务。

  • 优点:便捷、快速完成编程任务
  • 缺点:维护困难,改一处,别的依赖的代码也需要更改。
  • 使用场景:适合在今后工作中无需更改的地方使用,比如数据库连接,如果公司以后也没有用oracle,只用mysql数据库,那么这里就可以用面向过程式编程。

  3、面向对象编程(OOP ):利用类和对象创建各种模型,来实现对真是世界的描述。

  • 优点:维护扩展更简单,大大提高程序开发效率。使他人更容易理解你的代码逻辑,团队开发更从容。
  • 缺点:效率比面向过程低,需要语言特定支持。 
  • 类(Class): 这是对现实世界的一类对象的抽象总结,比如人类,动物类等等,里面包含了这类事物的共性功能(方法)和属性。
  • 对象(object):某一个类(Class)的具象化的表达,比如人类,那么对应到对象就是某个具体的人。
  • 总结:世界万物皆是对象,所有对象皆属于某个品类   

二、面向对象的特性

  1、封装(Encapsulation):即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别,这使得从外界看来封装的代码是不透明的,不需要关心内部发生的事情,大大降低了使用的复杂性。

  2、继承(Inheritance):一个类可以派生出子类,子类可以继承父类的方法和属性,也可以对其进行改写以适应新的对象,这个过程就是继承(后面详细解释)

  3、多态(polymorphism):简单说是“一个接口,多种实现”就是多态,因为子类继承了父类,并且可能对父类中的共有方法进行更改,使得同个类的对象表现出多种形态,并且支持使用父类引用来统一调用,这就对外界实现了统一的调用接口,又大大降低了代码的复杂性,比如生活中的电器都是很复杂的,但是使用者不需要了解其原理,只需要读说明书掌握使用方法即可,使用多态的目的就是接口的重用。代码如下:

# 面向对象
class Animel:
    def __init__(self, name):
        self.name = name

    @staticmethod
    def animel_eating(self):
        self.eating()


class Mouse(Animel):
    def eating(self):
        print("%s 开始吃饭了.." % self.name)
        print("一桶一桶的吃...")


class Duck(Animel):
    def eating(self):
        print("%s 开始吃饭了.." % self.name)
        print("一口一口的吃...")


m = Mouse("米老鼠")
d = Duck("唐老鸭")
Animel.animel_eating(m)
Animel.animel_eating(d)

  4、为什么使用面向对象编程?

  • 编程中要尽量不写重复的代码,因为你的程序需要经常修改,如果重复代码很多,那么需要多处修改,导致程序千疮百孔,不稳定,开发效率低下,所以将公用的代码写在一处势在必行。
  • 面向过程将公用代码写在一个函数里然后多处调用就是很好的方法。
  • 面向对象比面向过程更有利于组织和扩展代码,大大提升效率。        

  5、构造函数:实例化类时做初始化的工作,用__init__(self)定义,同时传递一个self内存地址,代表此对象的内存地址赋给自己

  6、析构函数:对象释放销毁的时候自动调用,通常做一些收尾的工作,比如关闭打开的数据库连接等。用__del__(self)定义,不能传递参数给他,因为他是自动调用的。

  7、对象的属性:

  • 在构造方法中被赋值,将对象属性的值通过构造方法参数self赋值给该对象。  
  • 作用域是对象本身,对象之间不能公用。
  • 对象的属性的作用是记录属于对象的特定的值,每个对象这个值都可能不一样。

  8、类的属性:

  • 可以通过类名直接调用,也可以通过对象调用,他们的值是一样的。   
  • 如果对象属性和类属性同名则先找对象属性再找类属性
  • 如果修改了类属性的值,则多个对象都会改变其值,除非该对象有一个同名的对象属性(会优先调用对象属性)
  • 类的属性的作用是记录一些类的公共属性值,节省资源开销。比如国籍设置成中国,就是这个类的所有对象都是中国人,不需要每个对象都设置成中国。

  9、类的方法:因为方法都是统一在类中定义而且每一个继承该类的对象都有相同的方法,所以无需每个对象都存方法,只需要存一份类方法即可,每一个类方法都默认传递一个self变量,告诉此类方法调用它的是哪一个对象。

  10、私有属性:不允许让对象外界直接通过对象.属性名修改值,将属性名标记为__开头,就无法在外界访问了,只能通过类内部的方法间接访问

  11、私有方法:同私有属性。

  12、静态方法:在方法头部用@staticmethod装饰器定义,静态方法无需传递self参数,名义上属于类里的方法,但是他无法访问任何对象和类的属性,一般将其作为工具方法使用,比如某个方法无需使用初始化的属性值,仅作为功能使用,比如os包中的很多方法,都是相互独立的,相当于一个同类方法的工具包组合。

  13、类方法:在方法头部用@classmethod装饰器定义,可以访问类属性,不能访问对象属性

  14、属性方法:在方法头部用@property装饰器定义,把一个方法变成一个静态属性,隐藏了实现细节,通过对象.属性方法调用,不带括号。不能直接传参数,需要用到@属性方法名.setter定义一个同名的赋值方法未其赋值,如下代码:

class A(object):
    def __init__(self):
        # 私有属性,通过属性方法访问和赋值
        self.__name = ""
    # 属性值
    @property
    def a(self):
        print("Hello %s" % self.__name)

    # 设置值
    @a.setter
    def a(self, name):
        self.__name = name

    # 删除
    @a.deleter
    def a(self):
        del self.__name
        print("已经删除")




a1 = A()
#赋值
a1.a = "tangwei"
#读值
a1.a
# 删除以后就无法再访问该对象属性
# del a1.a

 

     15、__doc__:打印类头部用"""描述"""的描述信息

  16、__module__:当前操作的对象在哪个模块,也就是他所属于的包路径

  17、__class__:当前操作的对象属于哪个类

  18、__call__:如果在类中定义了__call__()方法,则可以通过“实例(传任何位置和关键词参数)”来调用。

  19、__dict__:查看类或对象的所有成员。如果通过类调用则显示所有类的属性和元数据,而通过对象调用则显示所有的属性和值,以字典形式返回。

  20、__str__:如果类方法中定义了__str__()方法,则使用print打印此类对象的时候会按定义的方法体执行,如果未定义__str__()则打印此对象的内存地址。

  21、__new__:new方法是每一个类中自带的方法,在对象实例化时,先于__init__()方法被执行,如果需要在实例化之前需要做的步骤可以重写new方法

  22、__metaclass__:定义一个类怎样用自己的方式来创建它。代码如下:

三、类的继承:

  1、通过定义class 类名(所要继承的父类),来继承一个父类。

  2、对父类方法重写:如果子类不重写父类的方法,则默认调用父类中的定义的同名方法。如果子类重写了某个方法,则调用子类中定义的方法。

  3、对父类构造方法重写:可以传递该子类的特有的属性值,但是又不影响其他子类,注意:在子类重写的构造方法体内部要调用父类构造方法先初始化父类。格式如下

class A:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def eating(self):
        print("%s 吃饭了..." % self.name)


class B(A):
    def __init__(self, name, age, money):
        # A.__init__(self, name, age)
        # 此写法同上,但是更方便,万一是多继承就不需要写多个init初始化父类了。
        super(B, self).__init__(name, age)

        self.money = money

    def eating(self):
        print("%s 不吃饭了...账户只有:%s元" % (self.name, self.money))


b = B("tangwei", 22, 10)
b.eating()

  4、多继承的情况,一个子类既继承A类又继承B类,那么在初始化的时候只按继承顺序初始化第一个类的构造函数,super会自行按继承顺序判断(先B还是先C按照书写顺序由左到右)。如果要初始化多个父类的构造方法就只能用__init__()一个一个初始化,不能用super如下,实际编码实践中,尽量避免多继承,尽量避免多继承的时候手动去实例化父类,尽量避免父类实例化时传递具体参数,父类的作用主要是用来继承,并且主要代码和初始化属性值在子类中:

class A:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def eating(self):
        print("%s 吃饭了.." % self.name)


class B:
    def __init__(self, n1, n2, n3):
        self.n3 = n3
        pass

    def slopping(self, obj):
        print("%s在购物  账户还有%s元" % (obj.name, self.n3))


class C(A, B):
    def __init__(self, name, age, money):
        A.__init__(self, name, age)
        B.__init__(self, name, age, money)

        self.money = money

    def eating(self):
        print("%s 不吃饭了...账户只有:%s元" % (self.name, self.money))


c = C("tangwei", 22, 10)
c.slopping(c)

  5、多级继承,D继承B和C,而B和C又继承A,初始化的时候构造方法按“广度优先”顺序先初始化B和C(先B还是先C按照书写顺序由左到右),再初始化A。(注意python2.7如果未继承object对象为经典模式则菜用深度优先,即先初始化B再A再C,如果有继承object对象则为广度优先,python3.0都是广度优先)

  6、所有的类都是继承object类,object类又继承Type类,通过Type类的可以手动组合出一个类的对象,如下:

def __init__(self, name):
    self.name = name


def get_name(self):
    print(self.name)


my_obj = type("MyObj", (object,), {"get_name": get_name, "__init__": __init__})

my_obj("tangwei").get_name()

以上只是小编个人的理解,有不准确的地方欢迎大家在评论区指出,咱们共同进步。请大家多多点赞评论转发,关注小编,后续小编会为大家更新更多更全的学习内容哦~~~

价值投资中的颠覆性创新识别 在价值投资的领域中,准确识别颠覆性创新是获取超额收益的关键。颠覆性创新往往能够改变行业格局,创造新的市场机会。本文的目的在于为价值投资者提供一套系统的方法和工具,帮助他们识别那些具有潜在颠覆性的创新,从而做出更明智的投资决策。范围涵盖了从理论层面的概念讲解到实际应用的案例分析,包括核心算法原理、数学模型、项目实战以及相关资源推荐等方面。本文将按照以下结构进行组织:首先介绍颠覆性创新的核心概念与联系,包括原理和架构的文本示意图以及 Mermaid 流程图; 阅读详情

相关推荐

[附源码]计算机毕业设计JAVA网上花店系统

附源码]计算机毕业设计JAVA网上花店系统项目运行环境配置:(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat。

ssm毕设程序设计 2443

深入浅出Python——Python高级语法之面向对象

前言:本博文主要讲解Python文件操作的写法,属于Python高级语法。基础语法见:深入浅出Python——Python基础语法全解,更多内容请访问博主的主页,谢谢! 文章目录一、理解面向对象二、类和对象1. 理解类和对象1.1 类1.2 对象2. 面向对象实现方法2.1 定义类2.2 定义类2.3 self三、添加和获取对象属性1. 类外面添加对象属性2. 类外面获取对象属性3. 类里面获取对象属性四、魔法方法1. `__init__()`1.1 体验`__init__()`1.2 带参数的`__ini

路虽远,行则必至! 4191

k8s 100个高频面试题

以下是 100 个 Kubernetes(k8s)高频面试题及其答案,涵盖了 Kubernetes 的核心概念、架构、组件、工作原理以及实际应用。答案:Master 节点组件:API Server:提供 RESTful API 接口,用于与集群交互。etcd:分布式键值存储,用于存储集群的配置数据和状态信息。Controller Manager:运行各种控制器进程,负责维护集群的状态。Scheduler:负责将 Pod 调度到合适的节点上运行。Worker 节点组件:Kubelet:运行在每个节点上的代理,

wankll的专栏 2776

Python 哪种方式循环最快,或许颠覆你的认知

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

2401_84141210的博客 728

百元DIY手机荧光计:低成本荧光检测平台搭建与实战

荧光检测是一种基于物质受特定波长光激发后发射更长波长荧光的分析技术,其核心原理在于光与物质的相互作用。通过选择性激发与检测,该技术能实现对痕量物质的高灵敏度、高特异性定量分析,在生物医学、环境监测和食品安全等领域具有重要价值。传统荧光分光光度计虽精度高,但成本昂贵、体积庞大且操作复杂,限制了其在现场快检和普及教育中的应用。本文聚焦于如何利用智能手机的高性能摄像头和处理器,结合低成本光学滤光片和LED光源,构建一个便携、经济的DIY荧光检测平台。该方案通过简化光路设计,采用带通滤光片进行波长选择,并利用图像处

weixin_34194829的博客 304

从零搭建宝兰德BES单机版:分离式安装、环境变量配置到控制台访问的避坑指南

本文详细介绍了从零搭建宝兰德BES单机版的完整流程,包括分离式安装、环境变量配置和控制台访问的避坑指南。针对中间件安装部署中的常见问题,提供了账号规划、JDK配置、实例创建和防火墙设置等实用解决方案,帮助开发者和运维人员高效完成BES中间件的部署工作。

weixin_32576389的博客 371

用AI工具颠覆传统学习,一周掌握Python不再是梦!

最新接入DeepSeek-V3模型,点击下载最新版本InsCode AI IDE 用AI工具颠覆传统学习,一周掌握Python不再是梦! 在大学的计算机课程中,Python已经成为一门不可或缺的核心语言。然而,对于许多编程初学者来说,从零开始学习Python可能是一个既兴奋又充满挑战的过程。语法、逻辑、调试……这些环节都可能让新手感到手足无措。但如今,借助智能化的AI编程工具,这一切正在发生改变。...

CrystalwaveHawk54的博客 853

【EB-03】 AUTOSAR builder与EB RTE集成

打开EB工具后,在EB的步骤是:执行MultiTask(2)-> Mapping Component to Partitions(4)->Task Mapping(5)-> SvcAs_Trigger(7)-> Code Generation(8)如涉及新增BSW Module,也需要重复以上步骤。

libuping2023的博客 960

Python的数字肯定颠覆你的认知

数字数据类型用于存储数值。它们是不可变数据类型。这意味着,更改数字数据类型的值会导致新分配对象。当为数字数据类型分配值时,Python将创建数字对象。例如 -Python可以使用del语句删除对数字对象的引用。del语句的语法是 -Python可以使用del语句一次删除单个对象或多个对象。例如 -PythonPython支持不同的数值类型 -- 它们通常被称为整数或整数。它们是没有小数点的正或负整数。Python 3中的整数是无限大小的。Python 2有两个整数类型 -int和long。

th8763的博客 870

基于单片机的智能体重秤设计与嵌入式程序实现

智能体重秤的基本功能是测量用户的体重,并将数据通过无线方式传输到终端设备(如智能手机、电脑或云平台)进行管理。体重测量:实时测量用户体重,并进行数据存储。BMI(体质指数)计算:基于体重和身高计算BMI值,帮助用户了解健康状况。多用户管理:通过蓝牙或Wi-Fi技术支持多用户体重数据记录。健康数据分析:结合历史数据分析体重变化趋势。语音播报:通过语音播报用户体重,便于老人或视力不便的人士使用。数据同步:通过App或云平台同步数据,进行长期健康监控。

2201_76125393的博客 1755

深入解析 OpenClaw(小龙虾)源码:架构设计与核心实现

OpenClaw用清晰、工程化的代码结构,将复杂的Agent交互流程变成了可管理、可扩展的流水线。无论是想深入了解Agent系统设计,还是希望二次开发定制自己的AI助理,阅读OpenClaw源码都是一次绝佳的学习旅程。希望本文能帮助你快速掌握OpenClaw的核心脉络。如果你对某个模块(如技能开发、安全机制)感兴趣,欢迎继续探讨。本文基于OpenClaw社区版本源码分析,具体实现可能随版本迭代有所调整,请以最新源码为准。

Ven%的博客 448

最全Python 哪种方式循环最快,或许颠覆你的认知,Python面试复习

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~给大家准备的学习资料包括但不限于:Python 环境、pycharm编辑器/永久激活/翻译插件python 零基础视频教程Python 界面开发实战教程Python 爬虫实战教程Python 数据分析实战教程python 游戏开发实战教程Python 电子书100本。

2401_84538474的博客 968

【agent实战教程】OpenClaw多个agent一文通

一个合格的独立agent,必须具备6个完全独立的专属组件独立组件路径规则核心要求不独立的严重后果唯一agentId配置文件中全局唯一,不能重复,建议用英文+数字,不要有特殊字符agent配置冲突,消息派单错误,会话串线独立工作区(workspace)建议每个agent一个独立文件夹,不要共用人设、记忆、规则混在一起,agent人设崩塌,对话串线独立状态目录(agentDir)固定系统自动生成,绝对禁止多个agent复用同一个agentDir。

海兰 649

Python哪种方式循环最快,或许颠覆你的认知!

假如任意一种简单的单步操作耗费的时间为 1 个单位,将此操作重复执行上万次,最终耗费的时间也将增长上万倍。循环不需要执行边界检查和自增操作,没有增加显式的 Python 代码(纯 Python 代码效率低于底层的 C 代码)。是 Python 中常用的两种实现循环的关键字,它们的运行效率实际上是有差距的。这里的思路就是,既然循环的效率低,一段代码要重复执行上亿次。对于上面的求等差数列之和的操作,借助于 Python 内置的。替代循环之后,代码的执行效率实现了成倍的增长。其中的差距主要在于两者的机制不同。

2401_86168842的博客 583

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Python列表核心知识点汇总,绝对颠覆你的认知!

千里之行,始于足下。要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好。今天带大家仔细温习一下Python的列表。温故而知新,不亦说乎。 Python的列表是怎样滴? 列表(list)是一种有序的集合,可以随时添加、查找和删除元素。 列表支持加入不同数据类型的元素:数字、字符串、列表、元组等。 列表通过有序的索引可遍历所有的元素,从前往后数,索引是[0,n-1],从后往前数,索引是[-1, -n],其中n是列表的长度。 列表可以是不含元素的空列表,也可以包含超级多的元素(在内存大小支持的情况下)。

m0_52915161的博客 1754

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

chatgpt赋能python:Python中的面向对象详解

面向对象编程(OOP)是一种编程范例,其目的是使用类和对象来组织和实现代码以获得更好的组织和重用性。在面向对象编程中,代码按照逻辑关系组织在类中,而每个对象都是一个类的实例。每个对象都具有状态和行为,并且可以与其他对象进行交互。OOP也允许我们使用继承和多态,以便在代码中共享和重用已有的功能。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT。

test100t的博客 145

鲜为人知的 Python 特性,颠覆你的认知

一些有趣且鲜为人知的 Python 特性

zzzzls 的博客 1727

美团Python面试,Go 专栏|流程控制,一网打尽,颠覆认知

本文主要介绍了流程控制语句,分别是条件语句,选择语句,循环语句和跳转语句。对应关键词ifelse和else if;对应关键词switchcase和default;对应关键词for和range;对应关键词goto。除此之外,还有break和continue,都可以搭配循环语句和跳转语句使用。自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

656

一周搞定Python课程,AI编程工具助你轻松通关!

最新接入DeepSeek-V3模型,点击下载最新版本InsCode AI IDE 一周搞定Python课程,AI编程工具助你轻松通关! 在大学的Python课程中,许多学生常常因为复杂的语法和繁琐的调试过程而感到头疼。然而,随着AI技术的飞速发展,一款名为InsCode AI IDE的智能编程工具为学习Python的学生带来了福音。通过这款工具,即使是没有编程基础的小白,也可以在短短一周内快速掌握...

AmberFalcon42的博客 869

Python在AI领域的效率表现究竟如何?一组颠覆认知的数据来了

揭秘PythonAI开发效率统计背后的真实效能,解析其在机器学习与深度学习中的应用优势。通过对比主流语言的开发周期与资源消耗,展现Python在算法实现、框架支持和社区生态上的显著优势,为AI项目选型提供数据支撑。值得收藏

ProceGlow的博客 1054

芒格的“别觉得自己太聪明“在颠覆性技术评估中的应用

在当今快速发展的科技时代,颠覆性技术不断涌现,如人工智能、区块链、量子计算等。这些技术具有改变现有产业格局、创造新的商业模式和社会价值的潜力。然而,准确评估颠覆性技术并非易事,因为它们往往具有高度的不确定性和复杂性。本研究的目的是探讨芒格“别觉得自己太聪明”这一理念如何应用于颠覆性技术评估中,帮助评估者更客观、全面地认识和评估颠覆性技术,降低评估风险,提高评估的准确性和可靠性。本研究的范围涵盖了颠覆性技术评估的各个方面,包括技术的发展趋势、市场潜力、商业价值、社会影响等。

AI算力网络与通信的博客 546

深度解密Python源码:3个颠覆认知的底层机制

你是否曾想过,当你写下简单的 `x = 1 + 2` 时,Python解释器背后究竟发生了什么?这个看似简单的赋值语句,实际上触发了从词法分析到字节码执行、从内存分配到垃圾回收的完整链条。《Python 3 源码剖析》项目正是这样一把钥匙,它带你穿越抽象语法树的森林,潜入虚拟机的执行引擎,最终抵达Python运行时的最深处。 ## 对象模型:一切皆对象的真相 "一切皆对象"——这是Python

gitblog_00337的博客 264
上一篇: 运用Python函数如何进行重载?一文带你深入解析,原来如此简单
下一篇: 大数据时代|核心架构Hadoop入门学习之HDFS,循序渐进求真知
Java领域指导者
博客等级 码龄7年 404粉丝 265原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值