Python学习记录 类相关

没营养记录6 要准备面试了,好像也记不了啥东西,就随便记录下每天干啥了吧。人就是键呐,得不到永远在骚动,被偏爱的都有恃无恐,made这歌写真好。 阅读详情

2022.08.12 DAY28

类对象
  • 类对象

      class Student:
          pass  # 空语句
    
  • type 模具类

实例:

class Student:  # 类名首字母大写,多个单词驼峰原则

    def __init__(self, name, score):  # self必须位于第一个参数
        """ 构造函数 """
        self.name = name
        self.score = score

    def get_score(self):  # self必须位于第一个参数
        """ 获取分数信息 """
        print("{0}的分数为{1}".format(self.name, self.score))
        return self.score


def test():
    Stu = Student
    s1 = Student("YJP", 99)
    s2 = Stu("XX", 100)
    s1.get_score()
    s2.get_score()


if __name__ == '__main__':
    test()

结果:

YJP的分数为99
XX的分数为100
类属性
  • 类属性是属于“类对象”的属性,也称为“类变量”。由于类属性也属于类对象,可以被所有的实例对象共享。

  • 类属性的定义方法:

      class 类名:
          类变量名 = 初始值
    
  • 在类中或者类的外面,我们可以通过:类名.类变量名 来读写。

实例:

class People:

    company = "Embedded"  # 类属性
    count = 0  # 类属性

    def __init__(self, name, age, score):
        self.name = name  # 实例属性
        self.age = age
        self.score = score
        People.count += 1

    def get_info(self):  # 实例方法
        print("------------------------------")
        print("- name    : {0}".format(self.name))
        print("- age     : {0}".format(self.age))
        print("- score   : {0}".format(self.score))
        print("- company : {0}".format(self.company))
        print("- count   : {0}".format(self.count))
        print("------------------------------")


def test2():
    p1 = People("YJP", 21, 99)
    p1.get_info()

if __name__ == '__main__':
    test2()

结果:

------------------------------
- name    : YJP
- age     : 21
- score   : 99
- company : Embedded
- count   : 1
------------------------------
类方法
  • 类方法是从属于“类对象”的方法。

  • 类方法通过装饰器@classmethod来定义,格式如下:

      @classmethod
      def 类方法名(cls, [形参列表]):
          函数体
    
  • 要点:

    • @classmethod必须位于方法上面的第一行。
    • 第一个cls必须要有,cls指的就是类对象本身。
    • 调用格式:类名.类方法名(参数列表)
    • 类方法中访问实例属性和实例方法会导致错误。
    • 子继承父类方法时,传入cls是子类对象。

实例:

class Human:
    base = "碳基生命体"  # 类属性

    @classmethod
    def get_base(cls):
        print(cls.base)


if __name__ == '__main__':
    Human.get_base()

结果:

碳基生命体
静态方法
  • Python中允许定义与类对象无关的方法,称为静态方法。

  • 静态方法和模块中定义普通函没用区别,只不过静态方法放到了类的名字空间里面,需要通过类调用。

  • 静态方法通过装饰器@staticmethon来定义,格式如下:

      @staticmethod
      def 类方法名([形参列表]):
          函数体
    
  • 要点:

    • @staticmethod必须位于方法上面的第一行。
    • 第一个cls必须要有,cls指的就是类对象本身。
    • 调用格式:类名.静态方法名(参数列表)
    • 静态方法中访问实例属性和实例方法会导致错误。

实例:

class Human:
    base = "碳基生命体"  # 类属性

    @classmethod  # 类方法
    def get_base(cls):
        """ 打印信息 """
        print(cls.base)

    @staticmethod
    def add(number1, number2):  # 静态方法
        """ 加法计算 """
        sum = number1 + number2
        print("计算:S{0} + {1} = {2}".format(number1, number2, sum))
        return sum


if __name__ == '__main__':
    Human.get_base()
    Human.add(45, 55)

结果:

碳基生命体
计算:S45 + 55 = 100
基于EKF的UWB-IMU融合定位系统在农业机器人中的抗干扰优化与Matlab仿真 本文探讨了基于扩展卡尔曼滤波(EKF)的UWB-IMU传感器融合定位系统在农业机器人中的应用。通过Matlab仿真验证,该系统有效解决了农业环境中UWB信号遮挡和IMU累积误差问题,实现了厘米级高精度定位,显著提升了机器人在复杂场景下的抗干扰能力和导航可靠性。 阅读详情

相关推荐

Anomalib实战:5分钟搞定图像异常检测模型训练(附完整代码)

本文提供了一份基于Anomalib框架的图像异常检测快速实战指南。文章详细介绍了从环境搭建、数据准备到模型训练与推理的完整流程,重点推荐了训练速度快、效果稳定的PatchCore模型,并附带了可运行的完整代码,旨在帮助开发者快速上手工业质检等实际应用。

weixin_29039773的博客 422

python全栈学习记录(二十三)反射、内置方法、类相关的函数、元类

元类中的__new__方法负责完成类产生的整个过程(拿到类名、确定基类(父类)、产生名称空间、用type产生类),并且这个过程是在类的定义阶段完成的,话句话说就是元类是在类的定义阶段被调用的。python的类内置了许多以__开头,以__结尾的方法,这些方法是在满足特定条件时自动触发的,如__init__的作用是初始化类的实例,会在类的实例创建完成以后自动触发。在python中一切皆对象,那么我们用class关键字定义的类本身也是一个对象,而负责产生该对象的类称之为元类,即元类可以简称为类的类。

m0_45491627的博客 913

智能车竞赛必备:STC32G144K开源库实战指南(含总钻风摄像头配置)

本文为智能车竞赛参赛者提供了一份基于STC32G144K微控制器与逐飞开源库的实战开发指南。文章详细介绍了从开发环境搭建、总钻风摄像头驱动配置与图像采集优化,到核心控制算法实现与多任务调度等关键步骤,旨在帮助队伍快速构建稳定高效的视觉处理系统,提升竞赛竞争力。

weixin_29191081的博客 712

第040讲: 类和对象:一些相关的BIF | 学习记录(小甲鱼零基础入门学习Python)

(标答出处: 鱼C论坛) 《零基础入门学习Python》 一、一些相关的BIF 1、issubclass(class,classinfo) 如果第一个参数(class)是第二个参数(classinfo)的一个子类,则返回True,否则返回False: (1)一个类被认为是其自身的子类。 (2)classinfo可以是类对象组成的元组,只要class是其中任何一个候选类的子类,则返回True。 ...

一只没有脚的猪的博客 798

银行数据仓库体系实践(3)--数据架构

狭义的数据仓库数据架构用来特指数据分布,广义的数据仓库数据架构还包括数据模型、数据标准和数据治理。即包含相对静态部分如元数据、业务对象数据模型、主数据、共享数据,也包含相对动态部分如数据流转、ETL、整合、访问应用和数据全生命周期管控治理。 数据架构层面通过数据分类、分层部署等手段,从非功能性视角将数据合理布局。通过整体架构管控和设计,支持业务操作类和管理分析类应用(系统),满足业...

acumen_leo的博客 7011

10分钟训练你的AI歌手:RVC WebUI声音克隆保姆级教程

本文提供了一份详细的RVC WebUI声音克隆保姆级教程,指导用户如何在10分钟内利用Retrieval-based-Voice-Conversion技术训练专属AI歌手。教程涵盖从环境配置、数据准备、模型训练到最终推理应用的全流程,即使是新手也能快速上手,实现高质量的声音克隆与歌曲生成。

weixin_29073241的博客 819

python学习打卡记录

python学习打卡记录

weixin_68475862的博客 146

视觉SLAM与激光SLAM简单对比分析

本文旨在梳理目前较为前沿的SLAM技术,包括激光和视觉,主要从精度和实时性两个方面对算法进系评价。对于激光SLAM了解不深,后期需要补充相关算法的核心思想与算法框架。有问题请大佬们随时留言,我再改正。

超爱吃小蛋糕的66的博客 3854

马士兵Python学习笔记_P107_106.类与对象

Python类与对象

weixin_46883785的博客 142

操作系统 | 知识梳理 | 复习(上)

操作系统复习

知识库搭建ing 3476

华为OD机试真题 新系统 【社交网络相同爱好好友查询】

华为od机试真题 新系统【社交网络相同爱好好友查询】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为od机试真题【社交网络相同爱好好友查询】多语言题解实现。

qq_45776114的博客 1336

python基础学习笔记

此博文是初步探索python世界的经历,主要是归纳总结python的基础和特性,过程是一边观看视频一边敲代码学习并记录下笔记,文字较少,主要以代码为主通过注释标注重点,有需要步入python编程的,可参考此学习途径。

weixin_45068267的博客 688

Plecs电力电子仿真专业教程-第一季 第一节 Plecs简介

Plces 电力电子仿真专业教程系列依托专业的电力电子仿真软件Plecs对各种电力电子常用的拓扑及实际设计的方案进行系统及仿真与软件代码仿真实践。通过对各种电路仿真原理的讲解及专业C语言代码程序的编写,提升学员的系统设计能力,软件编程能力与理论分析能力。

3644

Python学习流水账Day6——关于类和对象

不是用来教学的,上班没劲,主打一个本科毕业没竞赛没技术证一般路过路人,感觉停下学习的日子有焦虑症和死感,遂写点学习日记流水账来维持脑子一般性生命活动(?。第六天了,今天星期二,浅浅复习一下,忙里偷闲—:pPython操作基础内容band = "五菱"color = "银灰"def run():print("跑的很稳")今天复习了类和对象,也复习了对象实例化和类中方法的使用方式。

今天也在乱爬的博客 450

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【Python 基础学习笔记】与时间相关的模块

Python 基础学习,与时间相关的模块

林啾啾的博客 611

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Python自用学习笔记

1.将anaconda加入环境变量 export PATH=/home/(your_user_name)/anaconda3/bin:$PATH source .bashrc 2.显示conda版本 conda --version 3.查看当前存在哪些环境 conda env list 4.创建环境 conda create -n your_env_name python=X.X(2.7、3.6等) 5.激活环境 source activate your_env_name 6.关闭虚拟环境 sou

weixin_42598422的博客 316

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

学习记录3:Python基础

此时运行其中的代码,会先输出他所引用的代码的结果。字典:哈希表,一个键值一个value。__init__ 初始化。

sads4784的博客 199

Python学习记录

【代码】Python学习记录。

lu2925028830的博客 1008

每日学习记录

递归算法通常把一个复杂的问题层层转化为一个或多个与原问题相似的规模较小的问题来求解,会减少代码量。对象存储的是实例化后的地址。类的构造函数是通过__init__方法定义的,该方法用于在创建类的实例时进行初始化操作。类方法是用于描述类的行为的方法,类方法属于类,不属于此类创建的对象。类方法不能访问此类创建的对象的实例属性。类是对象的抽象,对象是类的具体实例。类属性是类的属性,此属性属于类,不属于此类的实例。类属性可以通过类和类的实例进行访问。实例属性,每个实例有自己的变量,称为实例变量(也叫属性)。

ztyyellow的博客 313

Python 基础知识学习笔记

历时十几天,将Python由基础知识学习到pygame_plane和matplotlib_画折线;加深Python语法学习。

zxs865的博客 606

python学习笔记

python学习

继续激情,继续奋斗。 789

2025-05-29 学习记录--Python-面向对象

Python-面向对象

weixin_48850734的博客 585

python量化分析前景_量化分析师的Python日记【第2天:再接着介绍一下

?http://q.datayes.com?“谁来给我讲讲Python?”?第一天学习了Python的基本操作,以及几种主要的容器类型,今天学习python的函数、循环和条件、类,这样才算对Python有一个大致的了解。今天的学习大纲如下:三、函数1、定义函数四、循环与条件1、if语句2、while true/break语句3、for语句4、列表推导式五、类1、闲说类与对象2、定义一个类三,函数?...

weixin_39651488的博客 240

No.37 笔记 | Python面向对象编程学习笔记:探索代码世界的奇妙之旅

在Python这个神奇的代码世界里,我们使用class这个魔法关键字来定义类。类里面的方法和普通的函数定义有点像,但又有个小特别的地方。方法的第一个参数通常是self,它就像是每个“小角色”(对象)的“自我标识”。通过这个“自我标识”,“小角色”可以访问和修改自己的“小标签”(属性)。i = 1j = 2print(1)这里的NewClass就是我们创建的一个类,它有两个“小标签”i和j,还有两个“小技能”Newfunc1和Newfunc2。在Newfunc2这个“小技能”里,self。

聚焦网络安全,以多元语言优势汲取知识,分享生动有趣的学习与技术心得。 1302

如何用手机编写python代码,手机上编程python的软件

点评:dict.update还是比较平易近人的,这个dict(dict,**options)用法我第一次看到的时候也是楞了一些,什么鬼,现在见多了,也就习惯了!一个往内 :比如Python里面有大量的 魔方函数和内置函数 ,这里面有很多技巧,对于不同的应用场景,有些简洁的用法。点评:正则是一个非常不错的过滤方法,有的时候好的正则顶的上几十行代码,精通正则对玩数据分析,数据清洗是必需的技能!推导列表应该是我最喜欢的一种Pythonic方式,它的演变有很多手法,这几种都是非常常见的,多读几遍,背下来!

2301_81896552的博客 915

python代码在哪里写_写Python必须知道的这几个代码技巧!你会吗?

Python是入门容易精通难,大家平时要养成记录的习惯,好的代码要记录下来,学会总结,经常翻一翻会有收获!今天我来分享一些我自己记录的代码结构,欢迎拍砖!01.简洁的表达式点评:Python因为简洁高效而出名,就是因为语法非常简单,而且内置了很多强大的数据结构:比如我们可以大量用推导列表来生成很多简洁的代码比如我们可以用if else组合,本来需要2-3行代码写的,一行搞定!02.排序忽略想起了一...

weixin_39631350的博客 112
上一篇: Python学习记录 面向对象编程
下一篇: Python学习记录 析构函数
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值