plsql带返回值函数_Python3基础语法(十)--函数 基础篇

8e55b36218a795820feb3693f6f74b97.png

一、什么是函数

函数是最基本的一种代码抽象的方式,是组织好的可重复使用的用来实现单一或相关联功能的代码段。

函数是对做相似的事情或相似的动作进行封装,它能提高应用的模块性和代码的重复利用率。我们要封装好一个函数,首先要学会对事务进行抽象,抽象是数学中非常常见的概念。

举个例子:

计算阶乘,比如:1 *2 * 3 * ... * 10,写起来十分不方便,我们为了简便可以写成10!。再如求和公式

等同于1 + 2 + 3 + ... + 100;

抽象非常强大,借助抽象,我们不用关心底层的具体计算过程,而直接在更高的层次上思考问题。

写计算机程序也是一样,函数就是最基本的一种代码抽象的方式。

Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用,如 print() 能输出任何对象,len()能计算不同类型对象的长度。

二、函数的定义

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

定义函数格式:

def   函数名(参数1,参数2,....):
         函数体
        return  返回值

示例:

# 定义一个函数,接收两个参数,返回其最大值
def max(a, b):
    if a >= b:
        return a  # 返回a
    else:
        return b  # 返回b  
注意:函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。
如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None。

示例2 :

def quadratic_equation(a, b, c):
   import math
   t = math.sqrt(b * b - 4 * a * c)
   v1=(-b + t) / (2 * a)
   v2=(-b - t) / (2 * a)
return v1, v2

print(quadratic_equation(10, -5, 0))
print(quadratic_equation(1, -12, 6))
注意:函数可以返回多个字,返回值为单个元组

三、函数调用

Python内置了很多有用的函数,我们可以直接调用。

要调用一个函数,需要知道函数的名称和参数,比如求长度函数len(),它接收一个参数。

调用内部函数len()示例:

lenght=len('abcdefj')  # 使用变量接收函数返回值
print(lenght)  # 结果 7
len([1, 2, 3, 4], 'abc')  # 函数的参数类型或者参数数量不正确会抛出 TypeError 错误
注意:调用函数式我们传入的参数数量或者类型不正确会抛出 TypeError 错误

调用外部函数示例:

def max(a, b):
    if a >= b:
        return a  # 返回a
    else:
        return b  # 返回b

c = max(4, 5)  # 调用max函数
print(c)  # 打印结果5
print(max('A', 'a')).

四、Python带默认参数的函数

定义函数时我们可以给参数传递默认值,当调用函数时没有传递该参数值时使用默认参数值。

带默认值的参数称为默认参数,而无默认值的参数为必需参数,调用函数时必需参数必填,默认参数选填。

示例1:

def power(x, n=2):  # n有默认值
   return x ** n

print(power(5))  # 调用函数不传递n的值,使用默认值,结果为25
print(power(3, 3))  # 调用函数传递n的值,使用传递值,结果为27
注意:由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面。

示例2:

带多个默认参数函数的调用,注意最后

def per_info(name, sex='男', age=32):
   print(name, sex, age)

per_info('woodman')
per_info('Helen', '女')
per_info('Bobo', age=28)  # 是用后面的默认参数,需要给出参数名
per_info(age=28, sex='女', name='Baby')  # 使用参数名传递参数,对参数位置没要求
tuple = ('Peter', '男', 45)
per_info(*tuple)  # 要将列表或元组中值当参数传入函数,我们可在前面加上*
注意:第5行Bobo的代码,sex参数使用默认值,我们需要传递age参数时需要指定参数名;
第6行Baby代码,我们可以给所有传递参数带上参数名称,带上参数名称后对参数可以在任意位置;
最后1行,在元组前加‘*’,表示将列表或元组中值当参数传入函数,注意参数的循序和个数
输出结果:
woodman 男 32
Helen 女 32
Bobo 男 28
Heli 女 28
Peter 男 45
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值