【python】函数用法详解(一)

✅作者简介:大家好我是姐姐划船吗?让我们一起共同进步吧!
个人主页:姐姐划船吗?
系列专栏:学会python,逆天改命
如果觉得博主的文章还不错的话,请点赞+收藏⭐️+留言支持一下博主哦
格言:静坐要辨己过,闲谈莫论人非

学习目标:
        ✏️   了解 函数的定义及语法

        ✏️   了解函数的四种类型

        ✏️   了解函数的参数

        ✏️   了解函数的返回值

【python】函数用法详解(一)_第1张图片

目录

1.函数介绍及定义

1.1函数的优点

1.2定义函数

1.3传参函数

2.函数的类型

2.1无参数,无返回值类型

2.2无参数,有返回值类型

2.3有参数,无返回值类型

2.4有参数,有返回值函数

2.5函数小总结:

2.6给函数添加文档说明名

3.函数的参数及返回值

3.1函数的参数

3.2定义有参数类型的函数

3.3函数中的缺省值

3.3.1 不定长参数

3.4返回值介绍

3.4.1 带有参数的返回值

3.4.2 带有多个参数的返回值


1.函数介绍及定义

1.1函数的优点

如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数

1.2定义函数

格式:

def 函数名():

--tab-- 代码

调用函数

定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它。

调用函数很简单,通过 函数名() 即可完成调用

举例

-使用函数打印自己的信息

要求:定义一个函数,能够输出自己的姓名和年龄,并且调用这个函数让它执行

提示:使用def定义函数,编写完函数之后,通过 函数名() 进行调用。函数命名要见名知意

def information():
    name=input("请输入你的姓名")
    age=input("请输入你的年龄")
    print(name,age)
information()

1.3传参函数

格式:

def 函数名(参数1,参数2,……):

--tab-- 代码

传参函数的调用:

函数名(参数1,参数2,……)

举例:

让用户输入两个数,让他们相加,并返回结果

def addNum(a,b):                               #a和b两个参数叫做形式参数
    print(a)
    print(b)
    #print("a+b=%d"%(a+b))   
    c = a+b
    return c
result = addNum(100,200)                       #100和200为实际参数
print("result:%s"%result)

2.函数的类型

函数根据有没有参数,有没有返回值,可以相互组合,一共有4种:

无参数,无返回值          

无参数,有返回值

有参数,无返回值          

有参数,有返回值

2.1无参数,无返回值类型

def 函数名():

    pass

#定义函数,能够打印信息
def printInfo():
    print("-"*20)
    print("  人生苦短,我用Python ")
    print("-"*20)
print_info()

2.2无参数,有返回值类型

应用场景:此类函数,不能接收参数,但是可以返回某个数据,一般情况下,像采集数据,用此类函数

def 函数名():

    return xxx

#获取温度
def getTemp():
    return 24
result = getTemp()
print("当前的温度为:%s"%result)

2.3有参数,无返回值类型

此类函数,能接受参数,但是不能返回结果,一般情况下,对某些变量设置数据而不需要结果的时候,可以使用此类函数

def 函数名(参数1,参数2.....):

    pass

#0关灯 , 1开灯
def setOnOff(isOffOn):
    if isOffOn == 0:
        print("关灯")
    elif isOffOn ==1:
        print("开灯")
#调用函数
setOnOff(1)
setOnOff(0)

2.4有参数,有返回值函数

此类函数,不仅能接受参数,还可以返回某个数据,一般情况下,像处理数据并需要结果的应用,都使用此类函数

def 函数名(参数1,参数2.....):

    return xxx

#计算1-?之间的累计和
def calcNum(num):
    result = 0
    i=1
    while i<=num:
        result+=i
        i+=1
    return result
num = int(input("请输入一个数:"))
result = calcNum(num)
print("1-%d的累计和为:%d"%(num,result))

2.5函数小总结:

定义函数时,是根据实际的功能需求来设计的,所以不同开发人员编写的函数类型各不相同。

2.6给函数添加文档说明名

格式:

def 函数名():

“文档说明”

代码

调用:

print(help(函数名))

def add(a,b):

    "用来完成对2个数求和"

    print("%d"%(a+b))

print(help(add))

#生成工作中的文档说明
def initData():
    """
    初始化商品价格、
    日期、
    分类
    :return:
    """
    pass
def upData():
    '''
    用来更新商品数据
    :return:
    '''
    pass
def findData():
    #用来搜索数据
    pass
def delData():
    "删除数据"
    pass
def createData():
    '''
    添加创建数据
    :return:
    '''
    pass
if __name__ == '__main__':
    import test08
    print(help(test08))

3.函数的参数及返回值

3.1函数的参数

为了让一个函数更通用,即想让它怎么计算,就让怎么计算,在定义函数的时候可以让函数接收数据,就解决了这个问题,这就是函数的参数

3.2定义有参数类型的函数

格式

def 函数名(参数1,参数2,……):

代码

传参函数的调用

函数名(参数1,参数2,……)

举例

def add(a,b,c): #a,b 称为形参

    "用来完成对2个数求和"

    print("%d"%(a+b+c))

num1 = int(input("请输入第一个数:"))

num2 = int(input("请输入第二个数:"))

num3 = int(input("请输入第三个数:"))

add(num1,num2,num3) #实参

def add2Num(a,b):

    print(a,b)

add2Num(1,2)

add2Num(b=1,a=2)

add2Num(1,b=3)

#add2Num(a=1,3) #语法错误不能使用

小总结

定义时小括号中的参数,用来接收参数用的,称为 “形参”

调用时小括号中的参数,用来传递给函数用的,称为 “实参”

3.3函数中的缺省值

调用函数时,缺省参数的值如果没有传入,则被认为是默认值。

注意:带有默认值的参数一定要位于参数列表的最后面

#定义函数 ,age=18 为缺省参数

def printInfo(name,age=18):

    print("-"*20)

    print(name)

print(age)

printInfo("张三")

printInfo("李四",35)

printInfo(age = 28,name = "李四") #命名参数传参方式

def test(a,b,c=30,d=40):
    print("-"*20)
    print(a)
    print(b)
    print(c)
print(d)
test(10,20)
test(10,20,33)
test(10,20,33,44)
A=100
B=1000
test(b=A,a=B)

3.3.1 不定长参数

有时可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,声明时不会命名

基本语法如下:

def functionname([formal_args,] *args, **kwargs):

" 函数 _ 文档字符串 "

function_suite

return [expression]

#不定长参数,*args 以元组格式存储数据(有*就变成不定长参数)

#让很多数相加

def sum2Num2(a,b,*args):

    print("="*30)

    print(a)

    print(b)

    print(args)

    result = a+b

    for num in args:

        result +=num

    print("ta们的和是:%d"%result)

sum2Num2(11,22,33,44,55,66)

sum2Num2(11,22,33)

sum2Num2(11,22)

#sum2Num2(11) #错误,至少要传递没有传递的形参

def test(a,b,c=30,*args,**kwargs):

    print("="*30)

    print(a)

    print(b)

    print(args)

    print(kwargs)

A=(40,50)

B={"name":"小鹏","age":39}

test(10,20,30,*A,**B) #拆包

【python】函数用法详解(一)_第2张图片

3.4返回值介绍

所谓“返回值”,就是程序中函数完成一件事情后,最后给调用者的结果。

3.4.1 带有参数的返回值

想要在函数中把结果返回给调用者,需要在函数中使用return

def test(a,b):

    result =a+b

    return result   #result可以改成一句话

result=test(10,20)

print(result)

3.4.2 带有多个参数的返回值

第一种方案:把多个值封装到列表中

    d = [a,b,c]

    return d

第一种方案的另外一种写法

    return [a,b,c]

第二种方案:封装到元组中

    return (a,b,c)

第二种的另一种写法,默认就是元组

    return a,b,c

def test():
    a = 10
    b = 20
c = 30
result = test()
print(result)
print(type(result))

第三种

a,b,c = test()
#a,b,c = (10,20,30)
print(a)
print(b)
print(c)

举例

#应用场景,计算两个数的商 和 余数
def divid(a,b):
    shang = a // b
    yushu = a % b
    return shang,yushu
sh,yu = divid(5,2)
print("他们的商是:%d\n余数是:%d"%(sh,yu))

结束语

喜欢的请来个三连支持一下吧,谢谢谢谢!!!

您的支持是我最大的动力!!!

你可能感兴趣的:(学会python,逆天改命,python,linux,centos,运维,运维开发)