栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

自学Python 21 函数和函数的参数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自学Python 21 函数和函数的参数

Python 函数(一)

文章目录
  • Python 函数(一)
  • 一、定义函数
  • 二、调用函数
  • 三、函数的参数
    • 3.1 形参和实参
    • 3.2 必须参数
    • 3.3 关键字参数
    • 3.4 默认参数
    • 3.5 不定长参数


在编写Python程序的过程中,可以将完成某个功能的语句提取出来,并将其编写为函数。这样,在程序中可以方便地调用函数来完成这个功能,并且可以多次调用,多次完成这个功能,而不必重复的复制粘贴代码。并且使用后也可以使得程序结构更加清晰、更加容易维护。Python中提供了许多内置的函数,比如在前面多次使用的print()。开发者可以自己创建函数,这被叫做用户自定义函数。


一、定义函数

在Python程序,在使用函数之前必须先定义(声明)函数,然后才能调用它。在使用函数时,只有按照函数定义的形式,向函数传递参数,就可以调用函数完成相应的功能或者获得函数返回的处理结果。
在使用自定义函数前,需要先定义这个函数。在Python程序,使用关键字def可以定义一个函数,格式如下:

def<函数名>(参数列表):
			<函数语句>
			return<返回值>
  • 在上述格式中,参数列表和返回值不是必要的,return后也可以不跟返回值,甚至连return也没有。如果return后面没有返回值,并且没有return语句,这样的函数都会返回None值。有些函数可能既不需要传递函数,也没有返回值。
    提示:当函数没有参数时,包含参数的圆括号也必须写上,圆括号后也必须有“ : ”
  • 任何传入参数和自变量必须放在圆括号之间,圆括号之间可以用于定义参数。
    示例如下:
def hello() :
    print("假期快乐!")

hello()

输出结果:

二、调用函数

调用函数就是使用函数,在Python程序中,当定义一个函数后,就相当于给了函数一个名称,接下来就可以通过调用的方式来使用这个函数。
在Python程序中,调用函数就是在语句中使用函数的函数名,并且在函数名之后的小括号内填入合适的调用参数,多个参数之间用逗号隔开。
示例如下:

def tpl_sum(T):
    result = 0
    for i in T :
        result += i
    return result
print ("[1,2,3,4]列表中元素的和是:",tpl_sum([1,2,3,4]))

输出结果:

三、函数的参数

在调用某个函数的时候,既可以向其传递参数,也可以不传递参数,另外还有一些情况,比如函数中的参数数量不确定,可能为1个,也可能为几个,甚至更多。对于这些函数,该怎么定义呢?

3.1 形参和实参
def tpl_sum(T):

上面那个例子中的“T”就是形参,而tpl_sum([1,2,3,4])中的“[1,2,3,4]”是实参。在Python程序中,形参表示函数完成其工作所需要的一项信息,而实参是调用函数时传递给函数的信息。

3.2 必须参数

在Python程序中,必须参数也被称为位置实参,在使用时必须以正确的顺序传入函数。并且在调用函数时,必须参数的数量必须和声明时的一样。例如下面这个列子:

def printme(str):
    "打印任何传入的字符串"
    print(str);
    return;
printme();

在调用printme();时没有正确传入一个参数,执行时会报错:

3.3 关键字参数

在Python程序中,关键字参数和调用函数关系紧密。在调用函数时,通过使用关键字参数可以确定传入的参数值。在使用关键字参数时,允许函数调用时参数的顺序与声明时不一致,因为Python解释器能够用参数名匹配参数值。示例如下:

def printinfo(name,age):
    "打印任何传入的字符串"
    print("名字:",name);
    print("年龄:", age);
    return;
printinfo(age=20,name="五一")

在上述代码中,函数printinfo()原来的参数顺序是先name再age,但是在调用时却是先age=20再name=“五一”,执行结果为:

3.4 默认参数

当Python程序中调用函数时,如果没有传递参数,则会使用默认函数(也被称为默认值参数)。实例如下:

def printinfo(name,age=19):
    "打印任何传入的字符串"
    print("名字:",name);
    print("年龄:", age);
    return;
#下面调用函数,设置参数age的值是20,参数name的值是"六一"
print("下面是五一的两个好朋友的资料:")
printinfo(age=20,name="六一")
print("----------------------------")
#下面再次调用函数,设置参数name的值是"国庆"
printinfo(name="国庆")

在上述代码中,最后一行调用函数printinfo()时,没有指定参数age的值,但是执行后使用其默认值。执行结果是:

提示:在Python程序中,如果声明一个函数时,其参数列表中既包含无默认值参数,也包含默认值参数,那么在声明函数的参数时,必须先声明无默认值参数,后声明有默认值参数。

3.5 不定长参数

在Python程序中,可能需要一个函数处理比当初声明时更多的参数,这些参数叫做不定长参数。不定长参数也被称为可变参数,和前面介绍的参数类型不同,声明不定长参数时不会命名,基本语法格式如下:

def functionname( [formal_args,] *var_args_tuple)
		"函数_文档字符串"
		function_suite
		return [expression]
  • 在上述格式中,加了星号“*”的变量名会存放所有未命名的变量参数。如果在函数调用的时候没有指定参数,它就是一个空元组,开发者也可以不向函数传递未命名的变量。
  • "函数_文档字符串"可以用于存放函数说明。
  • 示例如下:
def printinfo(arg1,*vartuple):
    "打印任何传入的字符串"
    print("输出:");
    print(arg1)
    for var in vartuple:
        print (var)
    return;
printinfo(10);
printinfo(70,60,50) 

在上述代码中,最后两行调用函数printinfo()时,一个使用了1个参数,一个使用了3个参数,两行代码都合法,执行结果是:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849193.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号