zoukankan      html  css  js  c++  java
  • # 函数基础

    为什么要使用函数

    1. 可以把重复代码写成一个通用模板
    2. 可以把冗余的代码独立开

    把工具事先准备好,下次使用的时候直接拿就行了,函数就是工具

    函数格式

    def 函数名():

    代码块       #此代码块用于实现某一个具体的功能
    

    函数定义格式:

    函数名可以与变量名同等看待,也需要和变量名命名规范一样:

    1. 具有某种意义
    2. 函数名是用来接收函数返回值
    3. 函数名命名也是使用字母数字下划线,开头不能为数字和下划线

    函数调用格式

    使用方法:在想要使用函数时,打出 函数名() 就可以使用这个函数

    函数的用分为两个阶段:定义函数与调用函数

    在定义函数阶段不会运行其中的代码,只识别语法

    在调用函数阶段才会执行函数体代码

    定义函数的三种方式

    一 无参函数

    通俗理解就是在定义函数的时候,函数名的括号里没有东西

    def self_max():
        x,y = 10,20
        if x > y:
            print(x)
        else;
            print(y)
            
    self_max()
    

    二 有参函数

    有参函数在def后的函数名括号那里有几个参数,在调用的时候就必须要传入几个参数

    def self_max(x,y):
        if x > y:
            print(x)
        else;
            print(y)
            
    self_max(100,200)
    

    三 空函数

    空函数是指代码块先放着不写,用pass代替,回来再来写他

    def self_max()
        pass
    
    self_max()
    

    函数的返回值

    变量名用来接收变量值,函数名类比于变量名,函数名是用来接收函数返回值的

    使用return来接收返回值

    1. return默认返回None
    2. return可以返回任意数据类型的数据
    3. 当return返回多个值的时候,会以元组的形式把多个值包在一起
    4. return会终止函数

    函数参数的应用

    定义阶段:定义阶段函数名后括号里的x,y(或者其他)被称为形参,形参具有描述意义类似于变量名,不为具体的数据类型

    调用阶段:调用阶段的函数名后括号里的x,y(或者其他)被称为实参,实参必须是具体的数据类型

    默认形参:在函数定义阶段,提前赋值给形参,当以实参传值的时候,实参传的值会覆盖原值

    关键字实参:在函数调用阶段,找到与形参的对应关系,并赋值给对应的形参,形参名为什么则关键字实参名也必须是什么

    默认形参和关键字实参的用法

    默认形参:值不需要改变,并且经常使用,默认形参必须跟在位置形参后面

    关键字实参:当你的参数非常多的时候,使用关键字实参,关键字实参必须在位置实参后

    可变长参数

    示例:

    def self_max(a,b,c,,e,f,g,h,k,x=1,y=2,z=4):
        print(a,b,c,,e,f,g,h,k,x,y,z)
    
    a = [1,2,3,4,5,6,7,8,9]     #*会把这个列表内的元素一个一个取出来,然后一个一个传给函数
    b = {'x':10,'y':30}      #**会把这个字典打散成键值对的形式作为实参传给参数
    self_max(*a,**b)       #可变长实参
    #   self_max(1,2,3,4,5,6,7,8,9)      #*a的作用
    #   self_max(x=10,y=30)      #**b的作用
    

    可变长形参

    def self_max(*args,**kwargs):
        print(args)   #*args接收了所有的位置实参,然后以元组的方式保存下来,只接受位置参数不接受关键字实参
        print(kwargs)    #**kwargs接收了所有的关键字实参,然后以字典的形式保存下来
    

    *后必须得写args,**后必须得写kwargs,这是约定俗成的一种规范

  • 相关阅读:
    webstorm 2017 激活破解 最新 2018
    phpexcel 导出xsl乱码
    微信小程序的z-index在苹果ios无效
    onenote架设在局域网服务器
    .gitignore忽略多层文件夹用**
    phpstorm 使用xdebug断点
    Phpstudy 无法启动mysql
    git使用kdiff3合并乱码问题
    小程序回退刷新操作
    Navicat 连接远程服务器mysql 长时间不操作会连接很久
  • 原文地址:https://www.cnblogs.com/acate/p/10945932.html
Copyright © 2011-2022 走看看