欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

函数定义及调用

程序员文章站 2022-03-01 21:04:57
...
def My_abs(x):
    if x>=0:
        print(x)
    else:
        print(-x)
My_abs(-12)

将函数保存为hello.py文件,在另一个程序中调用它

from hello import My_abs
print(My_abs(-88))

函数体执行到return语句时就结束了,因此下面的print语句并没有作用

def My_abs(x):
    if x>=0:
        return x
    else:
        return -x
    print(x)
My_abs(-12)

空函数,用pass作函数体,当占位符用

类型检查
Python解释器不对自定义函数的参数类型进行检查,所以我们要自己借助内置函数isinstance()来进行参数类型检查

def my_abs(x):
    if not isinstance(x, (int, float)):
        raise TypeError('bad operand type')
    if x >= 0:
        return x
    else:
        return -x

返回值
函数可以返回多个值,其实是一个省去括号的tuple

练习
请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:
ax2 + bx + c = 0
的两个解。
提示:计算平方根可以调用math.sqrt()函数:

import math
def quadratic(a,b,c):
     x1 = (-b+math.sqrt(b*b-4*a*c))/(2*a)
     x2 = (-b-math.sqrt(b*b-4*a*c))/(2*a)
     return x1,x2
from hello import quadratic
print(quadratic(1,2,1))
if quadratic(2, 3, 1) != (-0.5, -1.0):
    print('测试失败')
elif quadratic(1, 3, -4) != (1.0, -4.0):
    print('测试失败')
else:
    print('测试成功')
相关标签: Python入门