如果没有函数,代码就会从上往下执行全部执行。 函数没有调用的时候,它不会自己执行的。
你可以定义一个由自己想要功能的函数,以下是简单的规则:
Python 定义函数使用 def 关键字,一般格式如下:
定义一个函数,给了函数一个名称,指定了函数里包含的参数,和代码块结构。 函数调用格式:函数名
在 python 中,类型属于对象,变量是没有类型的。 参数可以看作钥匙,函数是门,多个参数就是多把 钥匙,开门需要钥匙。定义函数的时候,我们把参数的名字和位置确定下来。 对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了。 函数内部的复杂逻辑被封装起来,调用者无需了解。 Python的函数定义非常简单,但灵活度却非常大。
必需参数必须传入函数。调用时的数量必须和声明时的一样。 如果不传参数,会报错。门需要钥匙开门,没带钥匙怎么可以打开。
调用函数时,如果没有传递参数,则会使用默认参数。 输出结果:参数num,str='求平方的值',调用函数只传一个参数5,其实程序自己把默认值str='求平方的值'也传入了,我们看不到而已。 调用函数时,修改默认值。 输出结果:
定义出这个函数,我们必须确定输入的参数。由于参数个数不确定,你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名。
如果在函数调用时没有指定参数,它就是一个空元组。我们也可以不向函数传递未命名的变量。 输出结果: 传入多个参数输出结果: ![]() 函数一个必须参数和一个可变的元组参数。传入3个参数减去一个必须参数,剩下的2个参数都放到可变的元组参数中,所以不定长参数有两个元素。 ![]()
如果在函数调用时没有指定参数,它就是一个空字典。我们也可以不向函数传递未命名的变量。 ![]() 输出结果: ![]() 传入参数输出结果: ![]() 两个星号**的参数会把赋值形式的参数变为字典形式。 ![]()
![]() 输出结果: ![]() change('名字',12,'元组',sex='男',ad='地址'),一个必须参数name对应名字,默认参数值1被传递的第二个参数12替换。第三个参数归类到一个星号的元组参数,如果没有碰到sex='男'这样的参数,后面的参数都会归类到一个星号的元组参数。 直到碰到类似sex='男'这样的赋值语句,它才会归类到两个星号的字典参数。例子: ![]() 输出结果:看到这里又有疑问{'a':1,'b':'c'}不是字典,怎么会归类到元组。 ![]()
![]() 输出结果:把{'a':1,'b':'c'}赋值给dict。 ![]()
return语句用于退出函数,选择性地向调用方返回一个表达式。没有return语句默认返回None。
![]() 输出结果: ![]()
所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。
![]() |
|
来自: 昵称16619343 > 《数据分析与知识发现》