首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

函数的返回值和参数(帮助理解)

实参可以是常量、变量、表达式、函数等,无论实参是何种类型的数据,在进行函数调用时,它们都必须实实在在的值,以便让这些值传送给形参,所以应该提前用赋值、输入等办法使实参获得确定值。...函数运行结束后,输出实参 m 的值仍为100,可见实参的值不随形参的变化而变化。 二。函数的返回值 函数的返回值是指函数被调用之后,执行函数体中的程序段所取得的值,可以通过return语句返回。...没有返回值的函数为空类型,用void进行说明。例如: void func() { printf("I am linjiawei ");} 一旦函数的返回值类型被定义为 void,就不能再接收它的值了。...当有必要返回其它类型数据时,需要分两步处理:首先,必须给函数以明确的.类型说明符;其次,函数类型的说明必须处于对它的首次调用之前。只有这样,C编译程序才能为返回非整型的值的函数生成正确代码。...(王小二)、返回语句 返回语句return有两个重要用途。第一,它使得内含它的那个函数立即退出,也就是使程序返回到调用语句处继续进行。第二,它可以用来回送一个数值。

16710

Python 工匠:让函数返回结果的技巧

函数返回结果的手法,决定了调用它时的体验。所以,了解如何优雅的让函数返回结果,是编写好函数的必备知识。 Python 函数通过调用 return 语句来返回结果。...单个函数不要返回多种类型 Python 语言非常灵活,我们能用它轻松完成一些在其他语言里很难做到的事情。比如:让一个函数同时返回不同类型的结果。从而实现一种看起来非常实用的“多功能函数”。...但“异常”总是会无法避免的让人 感到惊讶,所以,最好在函数文档里说明可能抛出的异常类型 异常不同于返回值,它在被捕获前会不断往调用栈上层汇报。...让我解释一下,每当你让函数返回 None 值时,请仔细阅读函数名,然后问自己一个问题:假如我是该函数的使用者,从这个名字来看,“拿不到任何结果”是否是该函数名称含义里的一部分?...最后再总结一下要点: 让函数拥有稳定的返回值,一个函数只做好一件事 使用 functools.partial 定义快捷函数 抛出异常也是返回结果的一种方式,使用它来替代返回错误信息 函数是否适合返回 None

2.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python 工匠:让函数返回结果的技巧

    如同大部分故事都会有结局,绝大多数函数也都是以返回结果作为结束。函数返回结果的手法,决定了调用它时的体验。所以,了解如何优雅的让函数返回结果,是编写好函数的必备知识。...单个函数不要返回多种类型 Python 语言非常灵活,我们能用它轻松完成一些在其他语言里很难做到的事情。比如:让一个函数同时返回不同类型的结果。从而实现一种看起来非常实用的“多功能函数”。...但“异常”总是会无法避免的让人 感到惊讶,所以,最好在函数文档里说明可能抛出的异常类型 异常不同于返回值,它在被捕获前会不断往调用栈上层汇报。...让我解释一下,每当你让函数返回 None 值时,请仔细阅读函数名,然后问自己一个问题:假如我是该函数的使用者,从这个名字来看,“拿不到任何结果”是否是该函数名称含义里的一部分?...最后再总结一下要点: 让函数拥有稳定的返回值,一个函数只做好一件事 使用 functools.partial 定义快捷函数 抛出异常也是返回结果的一种方式,使用它来替代返回错误信息 函数是否适合返回 None

    1.8K10

    Python 工匠:让函数返回结果的技巧

    所以,了解如何优雅的让函数返回结果,是编写好函数的必备知识。Python 的函数返回方式Python 函数通过调用 return 语句来返回结果。...单个函数不要返回多种类型Python 语言非常灵活,我们能用它轻松完成一些在其他语言里很难做到的事情。比如:让一个函数同时返回不同类型的结果。从而实现一种看起来非常实用的“多功能函数”。...不过你也许会觉得这个函数完全合情合理,甚至你会觉得它和我们提到的上一个“没有结果”时的用法非常相似。那么如何区分这两种不同情形呢?...让我解释一下,每当你让函数返回 None 值时,请仔细阅读函数名,然后问自己一个问题:假如我是该函数的使用者,从这个名字来看,“拿不到任何结果”是否是该函数名称含义里的一部分?...最后再总结一下要点:让函数拥有稳定的返回值,一个函数只做好一件事使用 functools.partial 定义快捷函数抛出异常也是返回结果的一种方式,使用它来替代返回错误信息函数是否适合返回 None,

    4.5K31

    Python 工匠:让函数返回结果的技巧

    最近看到几篇不错的文章,主要讲解 Python 的相关技巧和方法,这一篇主要讲解如何让函数优雅地返回结果,推荐给大家。 毫无疑问,函数是 Python 语言里最重要的概念之一。...” 如同大部分故事都会有结局,绝大多数函数也都是以返回结果作为结束。函数返回结果的手法,决定了调用它时的体验。所以,了解如何优雅的让函数返回结果,是编写好函数的必备知识。...单个函数不要返回多种类型 Python 语言非常灵活,我们能用它轻松完成一些在其他语言里很难做到的事情。比如:让一个函数同时返回不同类型的结果。从而实现一种看起来非常实用的“多功能函数”。...让我解释一下,每当你让函数返回 None 值时,请仔细阅读函数名,然后问自己一个问题:假如我是该函数的使用者,从这个名字来看,“拿不到任何结果”是否是该函数名称含义里的一部分?...最后再总结一下要点: 让函数拥有稳定的返回值,一个函数只做好一件事 使用 functools.partial 定义快捷函数 抛出异常也是返回结果的一种方式,使用它来替代返回错误信息 函数是否适合返回 None

    2.2K40

    装饰器(让你的函数更强)

    此时我们写了一个最简单的函数出来.我们做到装饰器的本意就是在不改变源代码的样子就能加强它的功能,假如我们想增强上面的函数的功能,希望在返回函数的时候,不是孤孤单单的就返回一个字符串,想给他加一个HTML...像上面这些情况,可以动态的修改函数(类)功能的函数就是一个装饰器.本质上是一个高阶函数,以被装饰的函数作为参数,返回一个包装后的函数....带参数的装饰器 上面的例子,我们增强了函数hello()的功能,给它返回值加上了...的标签,现在我们还想加...,等等的标签.那再写一个?...,也就是被装饰的函数 2.call()让类对象可调用,就像函数调用一样,再调用被装饰函数的时候被调用....__name__ 小结 1.本质上,装饰器就是iyge返回函数的高阶函数 2.可以动态的修改类以及函数的功能,通过再原有的类上面包裹函数完成 3.其实,装饰器是闭包的一种应用,区别是装饰器一定会返回一个函数

    44020

    如何让别人看懂你的函数

    前言 紧接上话,我们来看看函数定义还有哪些冷知识。 类型提示 当我在看一些第三方库时,看到了如些的写法。...def add(x:int, y:int) -> int: return x + y 这里的冒号和箭头是什么东西了,当时是很奇怪这里的写法,后面在网上查阅资料时,说是type hints,也就是类型提示...这一点是不会改变的,但在 Python 3.5 引入了一个类型系统,允许开发者指定变量类型。它的主要作用是方便开发,供IDE 和各种开发工具使用,对代码运行不产生影响,运行时会过滤类型信息。...例如上面的代码,我们就知道传入的x和y是整数型,返回的也是整数型,但是我们需要注意的是,如果不按照其指定类型传入参数,代码也是不会报错的。...,通过函数定义,我们就可以看出参数的类型。

    65630

    【react】利用shouldComponentUpdate钩子函数优化react性能以及引入immutable库的必要性

    3.如果1,2两种情况下都会导致重渲染,我们该如何避免这种冗余的操作,从而优化性能? 下面我就用实例一一探讨这些问题: 没有导致state的值发生变化的setState是否会导致重渲染 ——【会!】...那么问题就来了,我的UI明明就没有任何变化啊,为什么要做着中多余的重渲染的工作呢?把这工作给去掉吧! ? 于是这里react生命周期中的shouldComponentUpdate函数就派上用场了!...并且,当函数返回false时候,阻止接下来的render()函数的调用,阻止组件重渲染,而返回true时,组件照常重渲染。...没错,关键还是在shouldComponentUpdate这个钩子函数上 import React from 'react' class Son extends React.Component{ shouldComponentUpdate...} 当然了,它并不是万能的,由于选择性得忽略了shouldComponentUpdate()这一钩子函数,它并不能像shouldComponentUpdate()“私人定制”那般随心所欲 具体代码就不放了

    1.4K120

    React的Hook让函数组件拥有class组件的特性!

    三、State Hook State Hook 就是指 useState 这个特殊函数,让你不用编写class,就可以使用state特性,换言之就是让 函数组件 拥有 state 特性。...useEffect 是在浏览器绘制完成后被调用,useLayoutEffect 在浏览器绘制前被调用。 九、useDebugValue 在 React 开发者工具中显示自定义 hook 的标签。...React.memo 等效于 PureComponent,但它只比较 props。(你也可以通过第二个参数指定一个自定义的比较函数来比较新旧 props。如果函数返回 true,就会跳过更新。)...React.memo 不比较 state,因为没有单一的 state 对象可供比较。但你也可以让子节点变为纯组件。...十、相关链接: React的Hook让函数组件拥有class组件的特性!

    1.3K10

    如何优雅的消灭掉react生命周期函数

    接口来卸载掉它和用户关闭掉浏览器tab页窗口,该顶层组件是不会有被销毁的时机的,它一直伴随着整个应用,所以我们都会在该组件的componentDidMount函数里发起一些请求来获取服务器端的配置型数据并缓存起来...当重构顶层组件的时候要小心翼翼的维护好这些声明周期逻辑 接下里让我们看看在concent里是如何处理这些问题并消灭掉生命周期函数的呢。...使用组合api统一逻辑 虽然类组件和函数的生命周期声明方式和使用方式完全不一样,但是我们可以依靠组合api来抹掉这层差异,达到让类组件和函数组件都真正的只充当ui载体的目的 假设有以下两个自管理状态的组件...接下来我们看看基于setup的组合api如何来解除这些障碍,setup是一个普通的函数,仅提供一个参数代表当前的渲染上下文,并支持返回一个新的对象(通常都是一堆方法集合),该对象能够通过settings...,而是转移并统一了生命周期函数的定义入口,让其和组件的定义彻底分离,这样无论我们怎样重构组件代码,都不怕动到整个模块状态的初始化流程。

    90642

    Vue与React的异同—生命周期(一)

    这是因为箭头函数绑定了父上下文,因此 this 与你期待的 Vue 实例不同,this.fetchTodos 的行为未定义。...相比React多了个特殊的activated和deactivated,该钩子只在keep-alive 组件才起作用。...调用后,Vue 实例指示的所有东西都会解绑定, //所有的事件监听器会被移除, //所有的子实例也会被销毁。...,不能返回一组并列元素(**react16也支持返回数组了**) 4.不能改变组件的状态 5.不能修改DOM的输出 - componentDidMount() 类似Vue的mounted...中这是一个性能优化的关键点,当父组件改变,全部子组件都会重新渲染,可以通过该钩子返回false来阻止渲染,此处还有另外一个方法pureComponent,详细参考React官方文档,而在Vue中,默认是做了此优化

    1.7K50

    亲手打造属于你的 React Hooks

    但如果这样的库或钩子不存在,该怎么办? 作为 React 开发人员,学习如何创建自定义钩子来解决问题或在自己的 React 项目中添加缺失的特性是很重要的。...从那里,我们将 handleCopy 函数从钩子返回到应用程序中我们想要的任何地方。 通常,handleCopy函数会连接到一个按钮的onClick。...我们需要删除添加的滚动事件监听器,这样就不会尝试更新不再存在的状态变量。 我们可以通过从useEffect和window返回一个函数来实现这一点。...我们需要删除调整大小监听器。 如何删除 resize 事件监听器 你可以通过从useEffect 返回一个函数来做到这一点。我们将使用window.removeEventListener删除侦听器。...为此,我们将为这两个监听器创建一个名为changeWindowSize的共享回调函数。 最后,在钩子的末尾,我们将返回我们的windowSize状态。

    10.1K60

    VFP的过程或函数如何接收数组参数或返回一数组结果?

    一、给过程或函数传递一个数组参数。 LOCAL ARRAYabc[5] abc[1]="A" abc[2]="B" abc[3]="C" abc[4]="D" abc[5]="E" CLEAR ?...sendarr(@abc) Function sendarr Lparameters ltarray_b RETURN ltarray_b[3] Endfun 这里的传值,我们注意一个@,这个小老鼠...数据传值,使用的是地址引用传值。 二、过程或函数传递返回一个数组。 LOCAL ARRAY abc[5] abc=returnarr() ?abc[1] ?abc[2] ?abc[3] ?...也是地址引用返回值。 三、过程或函数传递返回几个数组。 LOCAL ARRAY a[5] LOCAL ARRAY b[3] returnarr_more(@a,@b) ?a[1] ?a[2] ?...ENDFUNC 上面的代码,其实是引用址传递,过程或函数直接改变传递参数的值,而已。所以我们也可以看到有些函数的参数,有一个是返回值参数。就是上面的用法。 好了。总结这些,为狐友们参考!

    3.3K30

    看完这篇,你也能把 React Hooks 玩出花

    React Hook 是一种特殊的函数,其本质可以是函数式组件(返回 Dom 或 Dom 及 State ),也可以只是一个工具函数(传入配置项返回封装后的数据处理逻辑)。...之所以把总结放在前面,是想让大家在看后面的内容时有一个整体的概念去引导大家去思考 React Hooks 具体给函数式组件带来了什么变化。...借助这样的特性,我们要做的就是让目标副作用在初始化执行一次后再也不会被调用,于是只要让与该副作用相关联的状态为空,不管其他状态如何变动,该副作用都不会再次执行,即实现了 componentDidMount...在类组件中我们有 shouldComponetUpdate 以及 React.memo 帮助我们去做性能优化,如果在函数组件中没有类似的功能显示是违背了官方的初衷的,于是就有了 useMemo...拿计数器来说,其最基本的就是返回当前的数字以及减少/增加/重置等功能,明确完功能后可以开始动手做了。

    2.9K20
    领券