zoukankan      html  css  js  c++  java
  • 八、函数定义及相关理解

    一、函数的数学定义

      定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于每一个x都有且仅有一个y值与之对应,那么我们就把x称为自变量,y值称为因变量,y是x的函数。自变量x的取值范围称为该函数的定义域。

      形如y=x+1,

    二、Python中函数的定义

      定义:函数是逻辑结构化和过程化的一种编程方法。语法如下:

    def text(x):
        "加注释"
        x+=1
        return x
    '''
    def:定义函数的关键字
    text:函数名
    ():内可定义形参
    x+=1:泛指代码块或程序处理器
    return:定义返回值
    '''

      例如:计算函数y=x*2+5

    写法一:

    def text(x):
        '''
        y=x*2+5
        :param x:整形数字
        :return: 返回计算结果
        '''
        y=x*2+5
        return y
    a=text(3)#调用
    print(a)

    写法二:

    def text():
        '''
        y=x*2+5
        :param x:整形数字
        :return: 返回计算结果
        '''
        x=3
        y=x*2+5
        return y
    a=text()#调用
    print(a)

    三、为什么使用函数?

      我们以一个例子说明:

      现在让我们对某温室大棚的情况进行监控,如果温室大棚内的温度、湿度和二氧化碳浓度超过阈值(假设温度阈值为40,湿度为50,二氧化碳浓度为70)时,将会给相应的管理人员进行邮件的发送,此时需要我们编写相关程序,实现此功能。

      根据我们以往的学习情况,首先会想到利用循环进行实现。

    while true:
            if 温度>40:
                #发送邮件
                打开邮件链接
                发送邮件
                关闭连接
            if 湿度>50:
                # 发送邮件
                打开邮件链接
                发送邮件
                关闭连接
            if 二氧化碳浓度>70:
                # 发送邮件
                打开邮件链接
                发送邮件
                关闭连接

      那么如果还有更多的条件约束需要进行邮件的发送,则需要写无限的if语句,无限的粘贴复制,同时,如果对邮件的相关内容进行修改,也就意味着所有if语句的功能语句均需要进行修改!

      当我们用函数进行特定功能的编写时————>(即将大家都需要使用的功能写进特定的函数里,哪里用到哪里就进行调用)

    def 发送邮件(内容):
            发送邮件
            打开邮件链接
            发送邮件
            关闭连接
    while true:
        if 温度 > 40:
            发送邮件("温度过高")
        if 湿度>50:
            发送邮件("湿度过高")
        if 二氧化碳浓度>70:
            发送邮件("二氧化碳浓度过高")

      使用函数优点总结:

      1、重复使用。

      2、保持一致性,易于维护。

      3、具有可扩展性。

  • 相关阅读:
    utf8.php
    common.php
    ubuntu 12.04 下 Vim 插件 YouCompleteMe 的安装
    Linux 获取文件夹下的所有文件
    poj 1659 Frogs' Neighborhood Havel-Hakimi定理 可简单图定理
    Huffman Coding 哈夫曼编码
    hdu 4778 Gems Fight! 博弈+状态dp+搜索
    print neatly 整齐打印 算法导论
    poj 2533 Longest Ordered Subsequence 最长递增子序列
    poj 3783 Balls 动态规划 100层楼投鸡蛋问题
  • 原文地址:https://www.cnblogs.com/hzzhbest/p/14592809.html
Copyright © 2011-2022 走看看