python入门:什么是函数?

初识函数

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

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

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


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入门:什么是函数?_第1张图片
聪哥python

你可能感兴趣的:(python入门:什么是函数?)