4.1.return的使用

前面定义的函数都是非常简单的,仅仅做了一些输出。在实际开发中,这种函数其实没有太多的用处。

返回值在函数定义中一个非常重要的地方。

我们定义的函数可以完成一个的功能,很多情况下,功能完成之后需要给函数调用者返回一些数据,这些返回的数据就需要用到函数的返回值功能。


比如:定义一个函数可以实现两个数的相加,然后返回给调用者计算的结果!

def add(a, b):
    n = a + b
    return n

print(add(3, 5))
print(add(30, 5))

说明:

  1. 在函数内任何地方都可以出现returnreturn的作用就是结束函数,并把return后面的值返回给调用者。

  2. 一旦碰到 return,不管后面有多少代码,不管是否处于循环中,函数都会立即结束。

  3. 如果整个函数内部没有出现return,则函数会自动执行到函数体最后一行代码。

  4. 如果函数体内没有return,则函数运行结束的时候自动返回None

  5. return后面也可以不跟返回值,这种情况下主要是为了结束函数,也会返回None


案例1:一个给定的数,判断是否为质数

分析:定义一个函数,这个给定的数通过参数传递,最后结果:是否为质数,通过返回一个bool值给调用者。

def is_prime(num):
    for i in range(2, num):
        if num % i == 0:
            return False

    return True


num = int(input("请输入一个整数:"))
if is_prime(num):
    print("%d 是质数!" % num)
else:
    print("%d 不是是质数!" % num)

案例2:计算输入的任意两个数之间所有的质数的和

分析:刚才已经定义了判断一个是否为质数,现在需要再定义一个可以计算两个数之间所有的质数的和的函数,并把计算结果返回给调用者。

def is_prime(num):
    for i in range(2, num):
        if num % i == 0:
            return False

    return True


def add_prime(num1, num2):
    sum = 0
    for num in range(num1, num2):
        if is_prime(num):
            sum += num

    return sum


num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第2个整数:"))
print("%d 到 %d 的之间所有的质数的和是:%d" % (num1, num2, add_prime(num1, num2)))

4.2.返回多个值

使用return一次只能返回一个值。

有些场景下,我们需要返回多个值。这种情况下我们我们可以把返回值的封装到listtuple中,接受者拿到这个listtuple直接解包就可以使用了。

最好封装在tuple中,因为tuple是不可变的, 所以效率比较高。

def foo(x):
    return x ** 2, x ** 3, x ** 4

x = 4
a, b, c = foo(x)

print("%d 的平方是:%d, 3次方式:%d, 4次方是:%d" % (x, a, b, c))

Copyright © 李振超 2018 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-02-25 07:12:09

results matching ""

    No results matching ""