Python初学笔记(5)

前言

今天下午我们来总结一下Python中的内置函数,以及自己写一些自定义函数。



1.1 内置函数
1.2 自定义函数
1.3 函数的参数

总结

1.1 内置函数

内置函数,顾名思义就是Python底层中维护的函数,直接调用即可。上午翻阅资料过程中找到了一个记录比较详细的网站,在此贴给大家,希望能对大家有所帮助。
链接地址

1.2 自定义函数

在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
我们可以自定义一个绝对值的函数。

def my_abs(x):
    if x > 0:
        return x
    else:
        return -x
print('绝对值为',my_abs(int(input('请输入:'))))

#控制台输出
请输入:-2
绝对值为 2

其实,我们在自定义函数中,可以设置多个返回值,而且这个返回值底层,其实维护了一个Tuple元组,那么我们下面写一个自定义函数来计算矩形的周长以及面积。

def Rect(x,y):
    girth = (x+y) * 2
    area = x * y
    return girth , area
a = int(input('请输入矩形长度:'))
b = int(input('请输入矩形宽度:'))
print(type(Rect(a,b)))
c,d = Rect(a,b)
print('矩形周长为',c)
print('矩形面积为',d)
print(Rect(a,b))

#控制台输出
请输入矩形长度:10
请输入矩形宽度:20
<class 'tuple'>
矩形周长为 60
矩形面积为 200
(60, 200)

1.3 函数的参数

在我们正常写的函数中,可以设置必选参数以及默认参数;顾名思义,默认参数就是在调用该函数时可以不设置该参数,那么此时默认会调用给定的默认参数。

def stu(name,sex,age = 18):
    print(name,sex,age)

stu('张三','男',20)
stu('李四','女')

#控制台输出
张三 男 20
李四 女 18

我们要注意的是必选参数在前,默认参数在后,否则Python的解释器会报错。
定义默认参数要牢记一点:默认参数必须指向不变对象!

在Python函数中,还可以定义可变参数。顾名思义,可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。
我们以数学题为例子,给定一组数字a,b,c……,请计算a2 + b2 + c2 + ……。

要定义出这个函数,我们必须确定输入的参数。由于参数个数不确定,我们首先想到可以把a,b,c……作为一个list或tuple传进来,这样,函数可以定义如下:

def calc(numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum

print(calc((1,2,3,4)))

#控制台输出
30

我们还可以定义一个可变的参数,定义可变参数和定义一个list或tuple参数相比,仅仅在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple,因此,函数代码完全不变。但是,调用该函数时,可以传入任意个参数,包括0个参数:

def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum

print(calc(1,2,3,4,5))

#控制台输出
55

从图中也可看出,这两种参数类型的区别就是,第一种只是传了一个List或者Tuple,本质上还是一个参数,而第二种则是不定长的参数,本质上可以传无数个参数。

总结

  1. 定义函数时,需要确定函数名和参数个数;。
  2. 如果有必要,可以先对参数的数据类型做检查。
  3. 函数体内部可以用return随时返回函数结果。
  4. 函数执行完毕也没有return语句时,自动return None。
  5. 函数可以同时返回多个值,但其实就是一个tuple。

这就是Python的内置函数和比较基础的自定义函数了,结合具体业务逻辑也可以写比较复杂的自定义函数,我认为Python的函数很类似于Java中的方法。

你可能感兴趣的:(python)