zoukankan      html  css  js  c++  java
  • 函数的基本使用和参数

    一、函数的基本使用

      1、什么是函数?   

        在程序中,具备某一个功能的工具指的就是函数,事先准备工具的过程就是就函数的定义,拿来就用就是函数的调用

      2、函数定义

         函数的使用必须遵循先定义后使用的原则,函数的定义就是相当于事先将函数体代码保存起来,然后将内存地址赋值给函数名,函数名就是这段代码的引用,没有事先定义函数就直接调用,相当于在引用一个不存在的变量名

        定义函数的语法:

    def 函数名 (参数1,参数2,参数3,...):
        “““文档描述”””
        函数体
        return 返回值

        函数三种类型:

        ⑴、无参函数

    打印输出
    def func():
        print('abx')

        ⑵、空函数

    def func1():
        pass
    
    def func2():
        pass
    
    ...

        ⑶、有参函数

    # 输入a + b的值
    
    def func(a,b):
        print(a+b)

      3、函数的调用与返回值

        函数是先定义,后调用,函数在调用前,只检查语法,不执行任何代码

        函数的调用:

          直接调用

          定义变量接收,再返回变量

          将函数返回值当做另外一个函数参数

        返回值:return

          return是一个函数结束标志,只要执行到return,函数结束

          return多个值时,将返回多个值默认存入元组,函数返回不想被修改

      4、函数参数

        形参:是函数定义阶段规定的参数,相当于变量名

        实参:是函数调用阶段传递的参数,相当于变量值

    def func(a)    # 此处a就是形参
        pass
    
    a = 1
    func(a)        # 此处a就是实参

        位置参数:通过位置进行传参

    def func(a,b,c)
        pass
    
    fun(1,2,3)    # 位置参数,a=1,b=2,c=3

        关键字参数:指定参数进行传递

    def func(a,b)
        pass
    
    func(a=1,b=2)

        ps:关键字参数要在位置参数后,连用时候不要对同一形参赋值

        默认参数:在定义阶段就已经传入

          如果在实参时候传入一个新参数,就会使用新参数

          默认参数在传值时,不要将可变类型当做参数

    def func(a,b,c=0)    # 此处c就是默认参数,默认c=0
        pass
    
    func(1,2)    # 使用默认参数,传进去为a=1,b=2,c=0
    func(1,2,3)    使用新参数,a=1,b=2,c=3

        可变长参数:*args

          接收所有溢出位置参数

          接收的值都被存入一个元组

          *:打散传入的容器类型

              **kwargs

          接收所有溢出的关键字参数

          接收的值都被存入一个字典

    def func(x,y,z):
        pass
    
    func(1,2,3,4,5)    #接收的位置参数大于形参数,会报错
    func(a=1,b=2,c=3,d=4,e=5)    #接收的关键字参数溢出,报错
    
    # 使用*args
    def func(a,b,c,*args):
        pass
    func(1,2,3,4)
    
    #使用**kwargs
    def func(a,b,c,**kwargs):
        pass
    func(a=1,b=2,c=3,d=4,e=5)
  • 相关阅读:
    node.js_1
    CSS实现垂直居中的方法
    Javascript实现图片的预加载的完整实现------》转载自(空城计-Code记)
    面向对象----选项卡
    for循环执行步骤
    适配器模式 在Android中的简单理解
    单例模式
    Android的ImageLoader图片加载简单逻辑
    在魅族手机上使用ObjectAnimator竟然不兼容?原来是这样……
    Android异步消息处理机制,Handler,Message,Looper的简单理解
  • 原文地址:https://www.cnblogs.com/hexianshen/p/11826428.html
Copyright © 2011-2022 走看看