3.函数
函数定义
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
def test(str): # def 函数名(参数) :
print(str) # 函数体
return
参数传递
由于python的所有类型都是对象类型(包括int,float),变量中保存的都是对象的地址。因此函数的参数传递都是指针传递。
参数
必需参数
关键字参数
默认参数
不定长参数
必须参数
def test(str1,num1,str2):
num2 = num1 + 1
str3 = str1 + str2
print(num2,str3)
test("123",1,"1234")
如上 str1,num1,str2都是必须参数,不可以少,且顺序不可以变
关键字参数
# 仍是上面定义的test方法
test(str2 = "dadsa",str1 = "2131", num1 = 11)
可以通过关键字表明是传递的是哪个参数,这样可以不按顺序传入
默认参数
调用函数时,如果没有传递参数,则会使用默认参数;默认参数的后面必须都是默认参数
def test(str1,num1 = 0,str2 = "123"):
num2 = num1 + 1
str3 = str1 + str2
print(num2,str3)
test("DASD")
如上num1,和 str2 有默认的参数,但是不可以num1为默认参数,而str2不是
变长参数
有些函数的参数的个数是不确定的,如,
def print(self, *args, sep=' ', end='\n', file=None):
这里就会需要变长参数
def functionname([formal_args,] *var_args_tuple ):
def functionname([formal_args,] *var_args_dic ):
变长参数有两种形式,一种是
最后更新于
这有帮助吗?