zoukankan      html  css  js  c++  java
  • python函数

    一、什么是函数:

    函数就是存放可以完成特定功能的代码块的一个容器,在python中函数就是组织好的,可以重复使用的用来实现单一的或者相关功能的代码段。

    函数提高了程序的模块性和代码的重复利用率。

    二、定义函数:

    def 函数名( 参数 ):
        '''这里是一个函数的注释,
       	 下面是函数的代码块'''
        function_suite
        return [返回的值]
    

    def :声明函数的关键词
    fn:函数变量名
    ():参数列表,参数个数可以为0-n个,但是()一定不能丢
    function_suite:函数体,完成功能的具体代码
    return:函数的返回值

    函数的四个组成部分:

    1. 函数名:使用该函数的依据
    2. 函数体:完成功能的代码块
    3. 返回值:功能完成的反馈结果
    4. 参数:完成功能需要的条件信息

    三、函数的调用

    函数名:拿到函数的地址
    函数名(): 拿到函数的地址,并执行函数中存放的代码块(函数体)
    函数名(参数):执行函数并传入参数
    函数名(): 执行完毕后,会得到函数的返回值,返回值就跟普通变量一样,可以直接打印、使用、运算

    def fn(num):
        print("传入的num值:%s" % num)
        return '收到了'
    
    res = fn(10)
    输出:
    控制台会打印:传入的num值:10
    res的值为:'收到了'
    

    注:函数一定要先定义在调用

    四、函数的分类

    根据参数列表划分
    • 无参函数:不需外界资源
    def start():
        print('系统启动')
    start()
    
    • 有参函数:需要外键资源
    def login(usr, pwd):
        if usr == 'owen' and pwd == '123':
            print('登录通过')
    	else:
            print('登录失败')
            
     login('owen', '123')
    
    根据返回值划分:return是用来结束函数的
    • 空返回:返回None
    def demo(x, y):
        print( x + y )
        
    def demo(x, y):
        print( x + y )
        return  # 用来强行结束函数的(像break结束循环一样)
    
    输出:Nonereturn函数与空return函数的区别是:空return可以根据具体情况主动退出函数(像break结束循环一样)。无return函数要把函数内所有的程序执行完毕才会结束。
    
    • 一值返回
    def demo(x, y):
        return x + y
    
    • 多值返回
    def demo(x, y):
        return x + y, x - y, x * y, x / y 
    
    得到的是装有所有结果的元组,本质就是返回装有多个值的元组
    

    五、函数的嵌套调用

    函数的嵌套调用:在一个函数体重调用另一个函数
    在解释过程中,不执行函数体,在函数被调用时,函数体才被执行

     求两个数最大值
    def max_2(n1, n2):
        if n1 > n2:
            return n1
        return n2
    
    求三个
    def max_3(n1, n2, n3):
        m2 = max_2(n1, n2)
        return max_2(m2, n3)
    
    求四个
    def max_4(n1, n2, n3, n4):
        m2 = max_2(n1, n2)
        return max_3(m2, n3, n4)
    
    循环调用:在一个函数的内部调用另一个函数

  • 相关阅读:
    MySQL(一)序
    Mockito 小结
    如何入门一个开源软件
    面经
    琐碎的想法(四)键盘布局、快捷键的由来
    琐碎的想法(二)网络协议——人们给计算机的一组“约定”
    Java源码赏析(六)Class<T> 类
    Java随谈(五)Java常见的语法糖
    Java随谈(四)JDK对并发的支持
    Event Loop和宏任务微任务
  • 原文地址:https://www.cnblogs.com/linwow/p/10693788.html
Copyright © 2011-2022 走看看