函数的使用

Posted leiting7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数的使用相关的知识,希望对你有一定的参考价值。

:dagger:

函数

一、函数的基本使用

1. 函数的定义

什么是函数:

  • 函数是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集

函数的作用,为什么要用函数:

  • 使用函数可以加强代码的复用性,提高程序编写的效率
  • 防止代码冗余,提高代码可读性

函数的使用:

  • 函数必须先创建才可以使用,该过程称为函数定义,函数创建后可以使用,使用过程称为函数调用

函数只有调用才会被执行,例如下面的程序

def hello():                    ##定义hello函数
    print('hello1')                 ##函数内容
    print('hello2')
    print('hello3')

hello()                         ##调用函数
hello1` `hello2` `hello3

有参函数,无参函数,空函数

#有参函数:
def func(test):
    pass

#无参函数:
def func():
    pass

#空函数:
def func():
    pass

2、返回值

  1. 不写return:默认返回None
  2. 只写return:只有结束函数体代码的效果,返回None
  3. 只写return:与只写None的效果相同
  4. return返回一个值:可以将返回的结果,当作一个变量值来使用
  5. return返回多个值:
    1. 将返回的多个值,默认存入元组返回
    2. 函数的返回值不想被修改
    3. 可以自己指定返回的数据类型

返回值:函数运行的结果,还需要进一步操作时,给一个返回值 return用来返回函数执行结果,如果没有返回值,默认为None

python可以间接返回多个值(返回了一个元组),一旦遇到return,函数执行结束,后面的代码不会执行

形参实参

定义函数的时候的变量,叫形参(可以任意起名),调用函数的时候使用的时候传的参数是实参
def welcome(a):                        ##这里的a是形参
    print('hello',a)
welcome('luck')                        ##这里的luck是实参

3.函数的四大形参(传参方式)

参数可以分为实参和行参,而行参又可以分为四类,位置参数、默认参数、可变参数和关键字参数。

1.位置参数

行参和实参的个数必须保持一致,最好按位置传参

def info(name,age):
    print(name,age)

Info('leiting',20)                        ##按照位置的写法
Info(age=20,name='letin')               ##如果不按照位置的话,就是要这样

2.默认参数

设置默认参数时注意事项:必选参数在前,默认参数在后

设置何种参数为默认参数?一般来说,将参数值变化小的设置为默认参数。

def pow(x,y=2):
    print(x ** y)

pow(4,3)                                ##此时就将y的值改成了3

3.可变参数(接收所有溢出的位置参数)

匹配完定义好的参数,剩余的参数以元组的形式存储在 args(args 名称你可以自行定义)

def hello(*args):
    pass

*wargs (可变参数) 和 **kwargs (关键字参数)

def hello(**kwargs):
    pass

4.关键字参数( Keyword Arguments)(接收所有溢出的关键字参数)

声明只能在默认参数之前,最好老老实实呆在对应的位置

def pow(x,y=2):
    return x ** y,x +y

*的用法

放到实参中就是打散

在函数的定义时,位置参数,*****关键字参数-–-–>聚合。
在函数的调用(执行)时,位置参数,*****关键字参数-–-–>打散

4.变量的作用域

一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量

全局变量所有作用域都可用,局部变量只能在本函数可用,变量的使用顺序是,局部变量 > 全局变量, 也就是说:优先使用局部变量

那么问题来了, 如果想在函数内使用全局变量,或改变全局变量的值, 应该怎么做呢?

global: Python中定义函数时,若想在函数内部对函数外的变量进行操作,就需要在函数内部声明其为global(声明之后为全局变量)。

以上是关于函数的使用的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段8——声明函数

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

inline内联函数

在 Visual Studio 中创建构造函数的代码片段或快捷方式

调用模板化成员函数:帮助我理解另一个 *** 帖子中的代码片段

2C++ 的升级