Python学习记录 函数基础

(蓝桥杯)STM32G431RBT6(SysTick timer) 选用最基础的定时器。 阅读详情

2022.08.08 DAY23

1. 函数的用法和底层分析

1. 参数的传递
  • Python中参数的传递都是“引用传递”。

  • 具体操作可分为两类:

    • 对“可变对象”进行“写操作”,直接作用域原对象本身。
    • 对“不可变对象”进行“写操作”,会产生一个新的“对象空间”,并用新的值填充这块空间。
  • 可变对象有:

    • 字典、列表、集合、自定义对象等
  • 不可变对象有:

    • 数字、字符串、元组、function等
2.传递不可变对象的引用
  • 传递参数是不可变对象,实际传递还是对象的引用。在“复制操作”中,由于不可变对象无法修改,系统会新创建一个对象。
3. 浅拷贝与深拷贝
  • 内置函数copy(浅拷贝)、deepcopy(深拷贝)
  • 浅拷贝:不拷贝子对象的内容,只拷贝子对象的引用。
  • 深拷贝:会连子对象的内容全部拷贝一份,对子对象的修改不会影响源对象。

浅拷贝示例代码:

import copy

a_list = [20, 50, [5, 6]]
b_list = copy.copy(a_list)

def test():
    print("a : ", a_list)
    print("b : ", b_list)

    b_list.append(100)
    b_list[2].append(200)
    print("浅拷贝...")
    print("a : ", a_list)
    print("b : ", b_list)


if __name__ == '__main__':
    test()

运行结果:

    a :  [20, 50, [5, 6]]
    b :  [20, 50, [5, 6]]
    浅拷贝...
    a :  [20, 50, [5, 6, 200]]
    b :  [20, 50, [5, 6, 200], 100]

深拷贝示例代码:

import copy

def test_deepcopy():
    a_list = [20, 50, [5, 6]]
    b_list = copy.deepcopy(a_list)

    print("a : ", a_list)
    print("b : ", b_list)

    b_list.append(100)
    b_list[2].append(200)
    print("深拷贝...")
    print("a : ", a_list)
    print("b : ", b_list)


if __name__ == '__main__':
    test_deepcopy()

运行结果:

a :  [20, 50, [5, 6]]
b :  [20, 50, [5, 6]]
深拷贝...
a :  [20, 50, [5, 6]]
b :  [20, 50, [5, 6, 200], 100]
3.不可变对象含可变子对象
  • 传递不可变对象(数字、字符串、元组、function)时,不可变对象里包含的子对象是可变的,则方法内修改了这个可变对象,源对象也发生了变化。
4.参数的几种类型
  • 位置参数

    • 函数调用时,实参默认按照顺序传递,需要个数和形参匹配。
  • 默认值参数

    • 参数设置默认值,这样的参数在传递时就是可选的。
    • 默认值参数放在位置参数的后面。
  • 命名参数

    • 可以按照形参的名称传递参数。
  • 可变参数

    • 可变数量的参数
    • *param 将多个参数收集到一个“元组”对象中。
    • **param 将多个参数收集到一个“字典”对象中。
  • 强制命名参数

    • 可变参数后面新增新的参数,必须是“强制命名参数”。
Coffin-Manson模型的详细讲解 Coffin-Manson模型是一个简单而强大的工具,用于预测低循环疲劳寿命,尤其在半导体功率循环中评估热机械可靠性。其核心是通过应变(或温度变化)与循环次数的对数关系,实现加速测试和寿命外推。尽管有局限性,通过改进版本(如加入激活能),它在电子封装、焊点疲劳和器件设计中仍广泛应用。实际使用时,建议结合实验数据拟合参数,并验证模型预测。如果需要特定材料的参数值、代码实现或进一步计算示例,请提供更多细节! 阅读详情

相关推荐

【华为鸿蒙3.0/荣耀安卓12使用VMOS Pro的激活方式 方法二】

关于荣耀手机安卓12如何解除进程限制,这里提供以下教程供小伙伴们参考。

Amy_mumu的博客 13万+

Python学习记录6:基础知识-函数

一、关于函数 1、关于函数的基本操作: 关键字实参: 调用函数时,明确指出各个实参对应的形参,这样实参在括号内的位置就不重要了(否则与实参位置有关——也就是“位置实参”) def describe_pet(pet_name, animal_type): """显示宠物的信息""" print("\nI have a " + animal_type + ".") prin...

qq_35860865的博客 411

别再瞎调了!手把手教你搞定STM32步进电机PID速度环(附完整代码与比例系数详解)

本文详细解析了STM32步进电机PID速度环的完整实现过程,从算法输出到脉冲频率的转换链路,重点讲解了比例系数的确定方法及系统标定实验。通过完整的代码示例和调试技巧,帮助工程师解决实际应用中的常见问题,提升步进电机控制精度与稳定性。

weixin_28729331的博客 214

Python学习记录(基础篇:函数)

函数

qq_43814415的博客 251

CSP-J/S复赛文件组织与freopen读写全攻略,避免爆零

在信息学竞赛的上机考试中,代码能力固然重要,但文件组织与输入输出重定向往往是决定成败的关键细节。许多选手习惯在线评测环境,对本地文件命名、目录层级和读写方式缺乏系统认知,导致算法正确却因文件名拼写错误或freopen使用不当而遗憾失分。理解评测系统的工作原理,掌握从建立准考证号目录到规范命名源文件,再到使用freopen进行文件流重定向的标准流程,是每位参赛者的必备技能。这种工程化习惯不仅适用于CSP-J/S复赛,也是未来参加NOI等更高水平竞赛的基础。本文从文件组织的底层逻辑出发,结合实战案例,系统讲解考

weixin_32466193的博客 594

Cadence SKILL 语言实战指南:从函数列表到高效自动化脚本

本文是Cadence SKILL语言实战指南,旨在帮助芯片设计工程师从掌握核心函数列表出发,高效构建自动化脚本。文章详细解析了数据处理、数据库访问、流程控制及错误处理四类关键函数,并通过版图层批量修改与参数化单元生成两大实战场景,演示如何将函数组合成解决实际问题的自动化方案,从而显著提升Virtuoso环境下的工作效率。

beta5的博客 705

零基础学习Python之零基础入门:函数的基本用法详解_我的学习Python记录9

一、什么是函数? **函数**是组织好的、可重复使用的代码块(比喻:做奶茶的配方卡) √ **作用**:提高代码复用性、降低复杂度、方便维护 √ **组成要素**:函数名、参数、返回值、函数体

🚀免费专栏:✅穿越之灵脉重构师:重启天元代码系列✅Python筑基系列✅创新语言开发系列✅代码故事茶馆✅AI筑梦工作站 601

伺服驱动器启用后对传感器线信号干扰的解决方案

在一些Arduino项目中,研究者发现,当伺服电机启动时,传感器信号会出现显著噪声。例如,在一个假肢项目中,研究者使用光电隔离器成功隔离了伺服驱动器对EMG传感器的干扰。然而,当启用伺服驱动器时,传感器线信号常常受到干扰,导致系统性能下降。传感器线信号是传感器输出的电信号,用于测量物理量,如温度、光线或位置。例如,在一些案例中,伺服驱动器的开关操作可能导致传感器信号出现尖峰或波动,特别是在模拟传感器上更为明显。描述: 使用光电隔离或其他隔离技术,分离伺服驱动器和传感器的电气路径,防止直接干扰。

有用好玩有趣的“电”知识 1466

【无标题】Python 学习记录:从九九乘法表到自定义函数(零基础学习第二天)

昨天先接触了一些基础内容,今天开始学 if-else 判断、while 循环和 for 循环,做了九九乘法表和素数判断,还练习了列表格式化输出,最后在画五个五角星的时候第一次用到了 def 函数。def 函数是我今天画五个五角星的时候学会的。第二天的学习让我认识到,Python 的语法本身并不难,难的是把判断、循环、列表和函数这些“零件”组合起来解决实际问题。这段代码让我第一次真正感受到函数的价值:把重复的绘制过程打包成一个 draw_star(),主程序只需要调用它,不用关心内部是怎么画的。

AIDairyOfDJY的博客 217

Visual Studio Community与Visual Studio Community与VS Code有啥区别

Visual Studio Code提供了基本的代码编辑、调试和版本控制功能,以及丰富的插件和扩展库。Visual Studio Community和Visual Studio Code在功能上有很大的差异,Visual Studio Community提供了比Visual Studio Code更多的功能,包括代码重构、智能提示、图形化设计等。他的优势在于它的轻量级和灵活性。此外,Visual Studio Code还具有丰富的扩展和插件生态系统,用户可以通过安装插件来扩展其功能,从而满足自己的需求。

m0_56551554的博客 2843

82、yolov11检测模型迁移瑞芯微rk3588和使用昇腾设备300i DUO卡推理 batch=1/3,支持昇腾NMS迁移npu推理

本文介绍了使用昇腾设备进行分割推理的测试流程,包括两种测试方式(cann+onnx和om)。首先验证300iDUO卡的可用性,随后创建Docker镜像和容器以搭建独立环境。通过从指定仓库拉取Ubuntu 20.04镜像,创建容器并映射目录。进入容器后安装必要组件(Python3、GCC等)和系统工具(pciutils、net-tools等),为后续模型转换和迁移做准备。整个流程旨在构建可交付给第三方的标准化测试环境。

sxj731533730 1202

python学习阶段总结记录:4.python基础-函数

数字列表:range(): min():数字列表最小值 max():数字列表最大值 sum():数字列表求和 len():获取列表中数字得数量 str() 得到字符串 list() 得到列表 int() 得到整数 float() 得到浮点数 complex() 得到复数 ...

m0_62458657的博客 207

Flutter 自适应布局一套代码适配手机和平板(12)

通过LayoutBuilder组件动态检测屏幕尺寸,根据宽度阈值(600px)选择不同布局方式。在小屏幕上显示单页联系人分组,大屏幕采用侧边栏+详情面板的并排布局。核心实现包括:1)使用LayoutBuilder获取父容器约束条件;2)定义大屏幕和小屏幕的布局断点;3)构建响应式界面组件,其中大屏幕布局采用Row横向排列固定宽度侧边栏和弹性宽度的详情区域。这种方案可确保应用在不同设备上都能提供最佳显示效果。

hello.reader 317

python学习记录六(函数基础补充)

在学习完函数编程后,发现又有一个很小但是很重要的问题,那就是python变量的作用域,本文整理了python中变量的作用(全局变量和局部变量) 作用域 既然要谈到局部变量和全局变量,那么就不可避免的需要说一下python中的作用域划分python中主要有4个作用域分别为 Local function:局部作用域(函数内部) enclosing function locals:外部嵌套函数...

周末饺子配啤酒的博客 207

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

python学习记录基础(六)---函数

学习地址http://www.sikiedu.com/classroom/14/introduction 关键字 def +函数名字 带参数的函数 带参数的返回值 介绍一个空值None,下面的返回值,可以接收也可以不接收的 位置参数,关键字参数 关键字参数必须在位置参数的后面的,关键字参数前面的就是位置参数 定义含数的时候,我们给个默认值,不传递就是默认值,但是带默认值的参数必须放在不带默认值的后面 局部变量和全局变量 局部变量跟全局变量重名的情况 ...

qq_37335907的博客 197

深度学习工具包 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基础知识学习记录 2021——1030(eval()函数,递归函数)

文章目录

Lime_Tr的博客 267

学习python记录:基础---11.0函数入门

def print_info(): # 函数体 """ 用来打印个人信息的# :return: 返回到函数的调用处# """ # info = '我叫岳岳我今年18岁我的爱好是女'# return info # 不是说一定要有。

ws008168的博客 106

负基础学python编程_负基础小白学习廖雪峰python教程记录(四)函数式编程

高阶函数前言变量可以指向函数>>> f = abs>>> f(-10)10函数名也是变量>>> abs = 10>>> abs(-10)Traceback (most recent call last):File"", line1, in Type Error:'int' object is not callable传入函数一...

weixin_34463228的博客 121

学习python记录:基础---11-1函数进阶

python 高阶函数

ws008168的博客 101

python常用函数与机器学习基础知识记录

python常用函数与机器学习基础知识记录

想买很多漂亮衣服但是买不起的博客 448

Python基础学习记录(5/12)——函数与Lambda表达式

函数(BIF,自定义函数)与lambda函数(匿名函数)

qq_40160983的博客 187

python基础学习(22)坐标点显示及numpy函数记录

一、坐标点显示 import matplot.pyplot as plt import matplotlib.pyplot as plt if __name__ = '__main__': y = np.zeros(5) x1 = np.linspace(0, 10, 5) x2 = np.linspace(0, 10, 5) plt.plot(x1, y, 'o') plt.plot(x2, y + 0.5, 'o')

JYliangliang的博客 3626

第020讲:函数:内嵌函数和闭包 | 学习记录(小甲鱼零基础入门学习Python)

(标答出处: 鱼C论坛) 《零基础入门学习Python》 测试题: 0.如果希望在函数中改变全局变量的值,应该使用什么关键字? global 1.在嵌套的函数中,如果希望在内部函数修改外部函数的局部变量,应该使用什么关键字? nonlocal 2.python的函数可以嵌套,但是要注意一下访问的作用域问题哦,请问一下代码存在什么问题? def outside(): ...

一只没有脚的猪的博客 1213

第018讲:函数:灵活即强大 | 学习记录(小甲鱼零基础入门学习Python)

(标答出处: 鱼C论坛) 《零基础入门学习Python》 测试题: 0.请问一下那个是形参那个是实参 def MyFun(x): return x**3 y=3 print(MyFun(y)) x是形参,y是实参,函数体内的是形参,实际传输进去的是实参 1.函数文档和直接用#为函数写注释有什么不同 函数文档是为了让别人更好的理解你的函数 2.使用关键字参数,可以避免什么问题的...

一只没有脚的猪的博客 846

Python基础知识学习记录 2021——1103(嵌套函数,nonlocal 关键字,LEGB 规则)

文章目录嵌套函数(内部函数)nonlocal 关键字LEGB 规则 嵌套函数(内部函数) 嵌套函数: 在函数内部定义的函数! 【操作】嵌套函数定义 def f1(): print('f1 running...') def f2(): print('f2 running...') f2() f1() 执行结果: f1 running... f2 running... 上面程序中,f2()就是定义在 f1 函数内部的函数。f2()的定义和调用都在 f1()函

Lime_Tr的博客 235

第017讲:函数 - Python的乐高积木 | 学习记录(小甲鱼零基础入门学习Python)

(标答出处: 鱼C论坛) 《零基础入门学习Python》 测试题: 你有听说过DRY吗? DRY(Don’t repeat yourself),进行编程时相同的代码不要重复写,最好只写一次,然后可以在其他地方直接引用。 都是重复一段代码,为什么我要使用函数(而不使用简单的拷贝黏贴)呢? DRY原则,必变重复,最好直接引用 函数可以有多个参数吗? 可以的,理论上你想要有多少个就可以有多少...

一只没有脚的猪的博客 607

第022讲:函数:递归是神马 | 学习记录(小甲鱼零基础入门学习Python)

(标答出处: 鱼C论坛) 《零基础入门学习Python》 测试题: 0.递归在编程上的形式是如何表现的呢? 递归的表现为函数调用函数本身 def factorial(n): if n==1: return 1 else: return n*factorial(n-1) number = int(input('请输入一个整数:')) result ...

一只没有脚的猪的博客 1289
上一篇: ESP32学习记录 PICO DK 踩坑记录
下一篇: Python学习记录 函数基础
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值