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 ):
变长参数有两种形式,一种是