python中神奇的格式化输出

有趣的学习Python-第七篇:Python的“魔法画笔”:输入与输出 Python就像是一个魔法师,拥有一支神奇的“魔法画笔”,可以轻松地把信息写到屏幕上,或者把数据保存到文件里。在Python的世界里,输出信息就像是在画布上作画,你可以用不同的方式来控制画笔的粗细和颜色。通过合理地使用Python的“魔法画笔”,你可以让你的程序输出更加美观,也可以让你的数据保存更加方便。JSON格式可以保存列表和字典,但如果你想保存任意类的实例,你需要做一些额外的工作。里写下你想要的表达式,Python就会自动帮你把表达式的值“画”到字符串里。模块的参考文档里有详细的解释。 阅读详情

原文链接:http://blog.youkuaiyun.com/feelang/article/details/37594313

Python一共有两种格式化输出语法,

一种是类似于C语言printf的方式,称为 Formatting Expression

[python]  view plain  copy
 print ?
  1. >>> '%s %d-%d' % ('hello', 7, 1)  
  2. 'hello 7-1'  


另一种是类似于C#的方式,称为 String Formatting Method Calls

[python]  view plain  copy
 print ?
  1. >>> '{0} {1}:{2}'.format('hello', '1', '7')  
  2. 'hello 1:7'  

第一种方式可以指定浮点数的精度,例如

[python]  view plain  copy
 print ?
  1. >>> '%.3f' % 1.234567869  
  2. '1.235'  


运行时动态指定浮点数的精度

但是当代码在运行中如何动态地通过参数来指定浮点数的精度呢?

python的神奇之处在于它又提供了一种非常方便的语法。只需要在 typecode(这里是f)之前加一个 *,浮点数的精度就用它前面的数字来指定。

[python]  view plain  copy
 print ?
  1. >>> for i in range(5):  
  2. ...  '%.*f' % (i, 1.234234234234234)  
  3. ...   
  4. '1'  
  5. '1.2'  
  6. '1.23'  
  7. '1.234'  
  8. '1.2342'  

通过输出结果可以看出,精度都是在运行时动态指定,这样就省去了格式化字符串的拼凑。

使用 String Formatting Method Calls 可以更简洁地完成功能。

[python]  view plain  copy
 print ?
  1. >>> for i in range(5):  
  2. ...   '{0:.{1}f}'.format(1 / 3.0, i)  
  3. ...   
  4. '0'  
  5. '0.3'  
  6. '0.33'  
  7. '0.333'  
  8. '0.3333'  


实现一个简单的模板工具

Django提供的模板语言,可以让我们通过一个dict(字典)把python变量绑定的html文件中,其实利用python的格式化输出我们也可以仅仅做一个文本替换功能。

[python]  view plain  copy
 print ?
  1. >>> replay = """ 
  2. ... Hello World Cup... 
  3. ... Germany vs Brazil  
  4. ... %(germany)d : %(brazil)d"""  
  5.   
  6. >>> print(replay % {'germany': 7, 'brazil': 1})  
  7.   
  8. Hello World Cup...  
  9. Germany vs Brazil   
  10. 7 : 1  

还可以这样玩

[python]  view plain  copy
 print ?
  1. >>> germany = 7  
  2. >>> brazil = 1  
  3. >>> '%(germany)d : %(brazil)d' % vars()  
  4. '7 : 1'  

在格式化字符串中访问对象属性和字典键值

[python]  view plain  copy
 print ?
  1. >>> 'My {1[kind]} runs {0.platform}'.format(sys, {'kind': 'pc'})  
  2. 'My pc runs linux'  
  3. >>> 'My {map[kind]} runs {sys.platform}'.format(sys=sys, map={'kind': 'pc'})  
  4. 'My pc runs linux'  

在格式化字符串中通过下标(正整数)访问list元素

[python]  view plain  copy
 print ?
  1. >>> somelist = list('SPAM')  
  2. >>> 'first={0[0]}, third={0[2]}'.format(somelist)  
  3. 'first=S, third=A'  
  4. >>> 'first={0}, last={1}'.format(somelist[1], somelist[-1])  
  5. 'first=P, last=M'  
  6. >>> parts = somelist[0], somelist[-1], somelist[1:-1]  
  7. >>> 'first={0}, last={1}, middle={2}'.format(*parts)  
  8. "first=S, last=M, middle=['P', 'A']"  
  9. >>>   
R语言实战:非正态数据下的Scheirer–Ray–Hare检验全流程解析 本文详细解析了在R语言中执行Scheirer–Ray–Hare检验的全流程。当数据不满足正态分布假设时,该非参数检验是传统双因素方差分析的有效替代方案。文章从原理、R环境配置、数据准备、代码实现、结果解读到事后比较与可视化,提供了完整的实战指南,帮助研究者稳健地分析多因素实验设计中的主效应和交互效应。 阅读详情

相关推荐

spring-ai学习(四)-MCP

创建一个springai项目1.依赖。

zql1455890112的博客 1384

Python学习04:列表[list]和format的使用

1、Format格式化 什么是format格式化? 相对于基本格式化输出采用“%”的方法,format的功能强大,该函数把字符串当一个模板,通过传入的参数进行格式化,并且使用大括号“{}”作为特殊字符代替“%” format基本用法 · 不带编号,即“{}” · 带数字编号,可调换顺序,即“{1}",“{2}” · 带关键字,即“{a}","{tom}" name = 'DDMM' gender = '女' age = 24 #打印结果:姓名:DDMM,性别:女,年龄:24 print("

DINGMANzzz的博客 7261

解决UE5像素流三大痛点:鼠标锁定/双光标/自动播放(附app.js魔改指南)

本文针对UE5像素流服务在实际应用中常见的鼠标锁定、双光标和自动播放三大交互痛点,提供了深入的技术分析和解决方案。通过详细解析app.js源码,指导开发者如何修改控制方案、修复光标显示以及实现静音自动播放,旨在提升Pixel Streaming应用的用户体验与专业度。

weixin_28025327的博客 381

Python中str.format()字典及list传入详解

函数 str.format(),增强了字符串格式化的功能;不仅可以传入字符、数字,还可以将字典及list作为参数传入。 1、传入list words = [1,2,3,4,5,6,7,8,9] runDay = '2018-05-06' insert_sql ='{0},insert_sql("{1}", "{2}", "{3}", "{4}", "{5}", "{6}", &quot

BabyFish13 2万+

Zynq工程IP核封装:XCI引用与约束继承实战指南

IP核封装是FPGA系统设计中实现模块复用、团队协作与技术资产沉淀的关键环节。其本质是将功能逻辑、时序约束、接口协议和硬件配置统一抽象为可配置、可验证、可演进的标准化组件。核心原理在于通过XCI文件保留IP核的参数化定义能力,依托Vivado IP Packager实现约束继承、端口自动映射与时钟域解耦,从而保障跨项目集成的时序可信性与约束完备性。该技术广泛应用于Zynq SoC视频处理、高速接口(如HDMI/TMDS)、多时钟域控制系统等场景,尤其在需要长期维护与版本迭代的工业级嵌入式开发中具有不可替代的

weixin_42593701的博客 122

用LTspice仿真CMOS反相器功耗?这份避坑指南能省你3天调试时间

本文详细介绍了如何使用LTspice准确仿真CMOS反相器的功耗,包括动态功耗、短路功耗和静态功耗的测量技巧。通过工程实践指南,帮助电子工程师避开常见陷阱,优化仿真参数设置,提升仿真结果的可靠性,节省调试时间。

w7x8y9z的博客 188

python Format()函数的用法___实例详解(一)(全,例多)___各种格式化替换,format对齐打印

一、format() 函数的语法,二、基本用法(1)按照先后顺序位置替换(2)按照索引进行匹配替换(3)按关键字索引进行匹配替换(4)通过列表索引格式化字符串(5)通过字典设置格式化字符串(6)通过类设置格式化字符串(7)通过魔法函数、参数设置格式化字符串(8)通过内嵌替换设置格式化字符串(9)其他混搭使用 三、用对齐及填充的方式格式化(1)左对齐及填充格式化字符串(2)右对齐及

逆境清醒的博客 9万+

BUCK电路三种工作模式全解析:CCM、BCM、DCM到底怎么选?

本文深入解析BUCK电路的CCM、DCM和BCM三种工作模式,通过对比其电流波形、效率、纹波及环路特性,提供基于计算公式的量化判断方法。文章结合电池供电、高精度模拟等具体应用场景,给出明确的模式选型策略与实战设计指南,帮助工程师根据核心需求做出最优决策。

ee345的博客 484

python中format用法(最全汇总)

python中字符串str.format用法format语法格式format参数格式功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 format语法格式 str.format() str是指字符串实例对象,常用格式为‘ ’.for

moqisaonianqiong的博客 8万+

【AI智能体】Claude Code +Superpowers 项目实战操作详解

Claude Code +Superpowers 项目实战操作详解

congge 4044

图像处理入门007:图像处理中的数学基础:线性代数与卷积

一种:把 OpenCV 当黑盒,调用,效果不对就乱调参数;另一种:理解每个像素是怎么被周围邻域"加权平均"的,理解核翻转、边界填充、stride 的含义。前者能干活,后者能解难题。一旦遇到自定义核(比如 ISP 上的锐化)、深度学习反向传播、医学图像重建,你就必须把卷积、相关、矩阵乘法这些基本功捡回来。线性代数三件套:向量点积、矩阵乘法、线性变换;2D 卷积的数学定义:核翻转、滑动窗口、边界填充。并手写一个,验证它与和的结果完全一致(误差 < 1e-9)。f∗gn∑m−∞∞f。

专注:太空算力、AI infra、异构调度、大模型成本工程 385

Python学习笔记2-Python神奇的语法和格式化输出

先来看一个例子: class Fish: hungry=True def eat(self,food): if food is not None: self.hungry=False class User: def __init__(self,name): ...

119

R数据分析:潜在剖面分析LPA的做法与解释

Latent Profile Analysis (LPA) tries to identify clusters of individuals (i.e., latent profiles) based on responses to a series of continuous variables (i.e., indicators). LPA assumes that there are unobserved latent profiles that generate patterns of resp.

Codewar的博客 1万+

python的输出语法_Python学习笔记2-Python神奇的语法和格式化输出

先来看一个例子:class Fish:hungry=Truedef eat(self,food):if food is not None:self.hungry=Falseclass User:def __init__(self,name):self.name=namef=Fish()Fish.eat(f, None)print(f.hungry)Fish.eat(f,'rice')f.eat(...

weixin_39934640的博客 291

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

深度学习工具包 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")

第十五届蓝桥杯大赛软件赛省赛Python 大学 B 组-神奇闹钟

对于给出的任意一个格式为 уууу-MM-ddHH:mm:ssуууу-MM-ddHH:mm:ss 的时间,小蓝想要知道在这个时间点之前 (包含这个时间点) 的最近的一次闹铃时间是哪个时间?每组数据一行,包含一个时间(格式为 уууу-MM-ddHH:mm:ssуууу-MM-ddHH:mm:ss)和一个整数 xx,其中 xx 表示闹铃时间间隔(单位为分钟)。输出 TT 行,每行包含一个时间(格式为 уууу-MM-ddHH:mm:ssуууу-MM-ddHH:mm:ss),依次表示每组数据的答案。

2301_78313633的博客 1088

计算机控制技术及应用

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

第十五届蓝桥杯大赛软件赛省赛Python 大学 B 组 :4.神奇闹钟

第十五届蓝桥杯大赛软件赛省赛Python 大学 B 组 :4.神奇闹钟

凯强同学的博客 600

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【Python基础入门2】关于print()函数 及 格式化输出

关于print()函数 及 格式化输出

yewanyuan的博客 4345

python如何控制输出格式_python格式化输出

python格式化输出一、格式化输出三种方式在写程序的过程中难免要得,输出有有特色的格式来,没有特色,谁还会耐得下去看呢,恐怕自己都写小烦躁,不要不要得,毕竟人就是个神奇的小动物嘛,所以说不得不提及,python传说中的占位符,此符非彼符(可不是用来搞僵尸的), 必须用此骚气漫天的占位符,下面进入正题。1.1 占位符程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式比如要求用户输入用户...

weixin_39922476的博客 3802

python中格式化输出是什么意思_python中的格式化输出用法总结

本文实例总结了python中的格式化输出用法。分享给大家供大家参考,具体如下:Python一共有两种格式化输出语法。一种是类似于C语言printf的方式,称为 Formatting Expression>>> '%s %d-%d' % ('hello', 7, 1)'hello 7-1'另一种是类似于C#的方式,称为String Formatting Method Calls>>> '{0} {1...

weixin_39683176的博客 2100

Python格式化输出

Python格式化输出

为了忘却的纪念 8174

关于python3格式化字符输出的问题

前言 今天简答写了一个爬虫,利用 % 格式化输出总是有问题 第一种写法: url = 'https://yysygw.res.netease.com/pc/gw/20190826151318/data/b_rabbit/bot%20(%s).png' % str(i) 然后报错,当时我没想太多,就以为是因为字符串中的()影响的 当然,字符串拼接有太多种办法了,我立马就换了另一种 第二种写法: u...

Hello_wshuo 1万+

python中格式化输出的作用是什么_python中的格式化输出用法总结

本文实例总结了python中的格式化输出用法。分享给大家供大家参考,具体如下:Python一共有两种格式化输出语法。一种是类似于C语言printf的方式,称为 Formatting Expression>>> '%s %d-%d' % ('hello', 7, 1)'hello 7-1'另一种是类似于C#的方式,称为String Formatting Method Calls>>> '{0} {1...

weixin_39844515的博客 485

python数据的格式输出_python格式化输出

python格式化输出一、格式化输出三种方式在写程序的过程中难免要得,输出有有特色的格式来,没有特色,谁还会耐得下去看呢,恐怕自己都写小烦躁,不要不要得,毕竟人就是个神奇的小动物嘛,所以说不得不提及,python传说中的占位符,此符非彼符(可不是用来搞僵尸的), 必须用此骚气漫天的占位符,下面进入正题。1.1 占位符程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式比如要求用户输入用户...

weixin_39639040的博客 476
上一篇: Python序列化模型数据为JSON
下一篇: 网络爬虫(一):抓取网页的含义和URL基本构成
Wang_AI
博客等级 码龄12年 988粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值