美文网首页
python入门:什么是函数?

python入门:什么是函数?

作者: 天涯待归客 | 来源:发表于2017-05-26 15:50 被阅读140次

    初识函数

    函数是组织好的,可重复使用的,用来实现单一或相关功能的代码块。

    其实,想快速理解函数只要抓住两个词就可以了,一个是:复用,另一个是单功能。复用意味着函数内的代码会被多次运行,单功能表示函数一般来说只提供一种功能。

    比如,判定一个数是否是偶数,可以封装成一个函数:

    
    def judge_even_number(number):
        if number%2 == 0:
            print("It is a even number.")
        else:
            print("It is not a even number.")
            
    

    其中,def是函数开始的标志,judge_even_number是函数名,number是这个函数唯一的参数,剩下都是函数中的代码块。这个函数接受一个参数number,然后对这个数进行判断,最后打印出判定结果。

    函数的基本形式

    函数主要由:函数名,参数和代码块三个部分组成。它的基本形式如下:

    def 函数名(参数):
        代码块
    # 举例
    def hello(name):
        print("Hello, {person}!".format(person=name))
    

    format()函数用于格式化输出,在print("Hello, {person}!".format(person=name))中,需要用name的值来替换{person},假如name的值是world,那么输出就是:Hello, world!

    函数的目的是完成某个单一的功能,起一个能精确地描述函数功能的函数名就显得尤为重要。比如前文的judge_even_number,光看这个函数就能大致明白它是用来判定函数是否是偶数的。

    参数是函数完成功能所必须要的数据。有的功能并不需要外部数据就能完成,因此也不需要参数。有的功能需要很多参数。

    代码块内是复用的单元,里面有函数为了实现某种功能而必备的变量、逻辑结构和返回值。变量主要是各种数字、字符、列表等,逻辑结构主要是顺序结构、分支结构和循环结构,返回值就是下面要讲的内容。

    函数的返回值

    一般来说,函数在实现某种功能性的操作之后,会返回运行之后的结果,这个结果就是返回值。函数想要返回值,需要使用到return语句。比如:计算一个人的身高体重指数。

    def calculate_healthy_index(height, weight):
        index =  weight/height**2
        if index < 18.5:
            return "偏瘦"
        elif index < 24 and index >= 18.5:
            return "正常"
        elif index < 27 and index >= 24:
            return "偏胖"
        elif index >= 27:
            return "肥胖"
    

    这个函数有四种返回值,分别对应四种不同的判定结果。对于一个函数而言,实际上只能执行一个返回语句。因为一旦执行完return语句,便立即终止函数内所有代码的执行。如果这个return语句在函数内的循环中,执行return语句实际上也有跳出循环的效果。

    # 找出第一个低于60的数字
    scores = [89, 75, 83, 66, 92, 97,78, 57, 84]
    def find_sixty_below(list)
        for index in list:
            if list[index] < 60:
                return list[index]
    

    上面的return语句执行完毕后,返回第一个低于60的数字57,之后函数执行完毕。

    有的函数没有返回值,此时,函数的返回值是以其它形式展现的,比如使用print()函数来输出,或者依靠改变全局变量来实现。

    函数的调用

    函数的调用,应该遵循先定义后调用的原则。即:先让python解释器知道有这么个函数,然后在代码中写出函数名+括号+参数来调用函数。

    当一个函数有返回值的时候,可以将返回值直接赋值给一个变量,python会根据返回值的类型决定被赋值变量的类型。

    >>> def add(value1, value2):
            return value1 + value2
    >>> output = add(1, 1)
    >>> print(output)
    2
    >>> output = add('Hello', 'World')
    >>> print(output)
    HelloWorld
    

    上面的例子中,output的变量类型会根据输入数据类型的变化而变化。

    总结

    1. 函数有两个特征:单功能、复用
    2. 函数有三个部分,函数名、参数和代码块
    3. 返回值需要使用return语句实现
    4. 调用函数的格式:函数名+括号+参数

    思考

    # 1. 编写一个函数,该函数的功能是判定一个数是否是质数。
    #    如果这个数是质数,则返回1,如果不是质数,则返回0
    # 2. 如果2是第一个质数,3是第二个质数,5是第三个质数,
    #    调用上面的函数找到第100个质数
    
    # 判断质数的函数
    def judge_prime_number(number):
        for index in range(2,number):
            if number%index == 0 and index != number:
                return 0
                break
            index = index + 1
        else:
            return 1
    # 找到第100个质数
    num = 1
    number = 2
    while num <= 100:
        num = num + judge_prime_number(number)
        number = number + 1
    print(number-1)
    

    扫一扫这个二维码,关注公众号:聪哥python,获取最新python3基础教程

    聪哥python

    相关文章

      网友评论

          本文标题:python入门:什么是函数?

          本文链接:https://www.haomeiwen.com/subject/ntdxfxtx.html