zoukankan      html  css  js  c++  java
  • L6-4 函数积木

    一、课堂引入

     随着课程的学习,我们写的代码越来越复杂,为了解决我们繁杂的代码问题,我们可以使用一些方法将我们的程序变得更加井然有序。比如我们可以通过几种魔法将程序分成几个小的部分,主要有三种魔法,分别是函数、模块和对象。

    函数是编程中最基本的魔法。

    二、什么是函数?

    想象生活中的例子,修理工需要实现准备好工具箱里面放好锤子,扳手,钳子等工具,然后遇到锤钉子的场景,拿来锤子用就可以,而无需临时再制造一把锤子。
    
    修理工===>程序员
    具备某一功能的工具===>函数
    要想使用工具,需要事先准备好,然后拿来就用且可以重复使用 要想用函数,需要先定义,再使用

    为什么要用函数?

    #1、代码的组织结构不清晰,可读性差
    #2、遇到重复的功能只能重复编写实现代码,代码冗余
    #3、功能需要扩展时,需要找出所有实现该功能的地方修改之,无法统一管理且维护难度极大 

    三、函数的分类

    #1、内置函数
    为了方便我们的使用,针对一些简单的功能,python解释器已经为我们定义好了的函数即内置函数。
    对于内置函数,我们可以拿来就用而无需事先定义,如abs(),len()

    abs() 函数返回数字的绝对值。

    len() 返回字符串、列表、字典、元组等长度

    实例1:

    a=-66
    b=abs(a)
    print(b)

    实例2:

    a="hello world"
    b=len(a)
    print(b)
    #2、自定义函数
    很明显内置函数所能提供的功能是有限的,这就需要我们自己根据需求,事先定制好我们自己的函数来实现某种功能,以后,在遇到应用场景时,调用自定义的函数即可。例如

    四、定义函数

      如何自定义函数?

    #语法
    def function (arg1,arg2):
    def 函数名(参数1,参数2,参数3,...): '''注释''' 函数体 return 返回的值 #函数名要能反映其意义
    # def:定义一个函数
    # function:函数的名字
    # 括号:可传入参数
    # 冒号:代码块

     五、函数的使用规则:先定义,后调用

    函数即“变量”,“变量”必须先定义后引用。未定义而直接引用函数,就相当于在引用一个不存在的变量名
    #测试一
    def foo():
        print('from foo')
        bar()
    foo() #报错
    
    #测试二
    def bar():
        print('from bar')
    def foo():
        print('from foo')
        bar()
    foo() #正常
    
    #测试三
    def foo():
        print('from foo')
        bar()
        
    def bar():
        print('from bar')
    foo() #会报错吗?
    
    
    #结论:函数的使用,必须遵循原则:先定义,后调用
    #我们在使用函数时,一定要明确地区分定义阶段和调用阶段
    
    #定义阶段
    def foo():
        print('from foo')
        bar()
    def bar():
        print('from bar')
    #调用阶段
    foo()

     六、总结

    函数就是完成某个工作的代码块,就像乐高积木。

    函数能提高应用的模块性,和代码的重复利用率。

    使用不同函数,可以完成一个复杂的任务。

  • 相关阅读:
    JS中利用正则表达式提取一个字符串中的子字符串的方法
    Xcode的环境变量列表
    在未安装Visual Studio 2012的服务器上使用MSBuild以文件系统方式发布ASP.NET MVC系统
    使Web API支持二级实体操作,兼对RESTFul风格API设计的疑惑。
    忽略大小写的字符串包含测试
    Entity Framework里不用查询直接更新的办法
    iOS里生成灰化(黑白)图像
    微信小程序开发调试工具
    微信小程序产品定位及功能介绍
    微信小程序DEMO初体验
  • 原文地址:https://www.cnblogs.com/xiaoxiao-ya/p/11414521.html
Copyright © 2011-2022 走看看