python函数定义,参数及返回值
函数的定义:
所谓的函数,就是把据有独立功能的代码块组织为一个小模块,在有需要的时候调用。
def 函数名():
函数封装的代码
......
1.def 是英文 define 的缩写
2.函数的命名应该符合标识符命名的原则
(1)可以由字母,下划线和数字组成
(2)不能以数字开头
(3)不能以关键字命名
.
函数的使用有两个步骤:
1.定义函数(def)——封装独立功能
2.调用函数——享受封装成果
函数就好像一个包包,我们把代码封装到一个包包中,再次需要的代码时,只需要把包包拿出来(调用函数)即可,不需要在写一遍代码。
.
函数的作用:在开发程序的时候,使用函数可以提高编写的效率,以及提高代码的重用率。我们学过的函数有很多,像print(),input(),appeng()
.
定义一个函数只是完成了代码的封装,如果不调用,函数是不会被执行的
def function_name():
print("这是一个函数")
print("我在熬夜")
print("我有点困")
这时候什么都不会输出,只有函数被调用,函数才会被执行
.
函数的调用
我们学过的函数有很多,像print(),input(),appeng(),len(),后面都跟有小括号
函数名() 去完成函数的调用,不加()的函数不会被调用。
做一个演练:
def function_name():
print("这是一个函数")
print("我在熬夜")
print("我有点困")
print(function_name())
输出结果为:
这是一个函数
我在熬夜
我有点困
None
*#为什么会出现None这个字母???下面我会解释
函数的返回值return
在程序开发中,有时候希望函数执行结束后,告诉调用者一个结果,这个结果就叫返回值,以便调用者根据结果做后续的处理。
在函数中使用return 关键字可以返回结果。
调用函数一方,使用变量来接收,函数的返回结果。
常见的有:
name=input()
input()会把用户输入的内容当做一个返回值结果,把这个结果赋值给name.
print()
print()函数的作用是在控制台上显示内容,所以它执行结束后没有结果,所以我们一般也不会在前面用变量接收它的值
所以不是每个函数执行结束都有结果,每个函数都有返回值
.
def sum_2_num(num1,num2):
"对两个数字求和"
result = num1+num2
#可以使用返回值,告诉调用函数一方的结果
return result
#可以使用变量,来接收函数执行的返回结果
sum_result = sum_2_num(10,20)
print("计算结果:%d" % sum_result)
输出结果为:
计算结果:30
注意:return 表示返回,后续代码都不会被执行
.
python 的返回值可以返回多个值
例子1.
def b():
return[1,3,5,'小可爱']
print(b())
输出结果为:
[1, 3, 5, '小可爱']
python返回了一个列表
例子2
def b():
return 1,3,5,'小可爱'
print(b())
输出结果为:
(1, 3, 5, '小可爱')
python返回了一个元组,元组是可以不加()的
.*
#参数
因为有了参数,函数变得可变了,当调用函数时,需传入指定类型的参数,才会执行函数体中的代码块,当然有的函数没有参数,也是可以的,比如print().
至于函数要不要填写参数,填写什么样的参数,都要根据函数本身的情况而定
下面是一个参数的情况:
def my_function(name):
return(name + "i miss you")
print(my_function("刚刚"))
输出结果为:
刚刚i miss you
处理多个参数的时候,用逗号隔开
def my_function(num1,num2):
return(num1 + num2)
print(my_function(1,2))
输出结果为:
3
行参
def my_function(name)
name 是一个行参,因为它就是一个形式,表示占据参数的一个位置,形参不占用内存空间,只有在被调用时才会占用内存空间,调用完了即被释放。
.实参
my_function("刚刚")
刚刚 是一个实参,因为它代表一个实际的参数,调用函数时,它用来传给函数的信息,上述而言:在调用函数并传入参数即
my_function(“刚刚”),将实参"刚刚"传递给函数my_function(),这个值就被存储在形参name中。
**
- .默认参数
**
默认参数是形参在定义的时候赋初值,如果调用的时候忘记给参数赋值,就会默认初值为实际参数
def saysome(name='GG',words='学习编程'):
return(name+ '->' +words)
print(saysome())
输出结果为:
GG->学习编程
def saysome(name='GG',words='学习编程'):
return(name+ '->' +words)
print(saysome('MM'))
输出结果为:
MM->学习编程
def saysome(name='GG',words='学习编程'):
return(name+ '->' +words)
print(saysome('MM','学习python'))
输出结果为:
MM->学习python
收集参数
def test(*params):
print("参数的长度是:",len(params));
print("参数的长度是:",params[1]);
return(params)
print(test(1,3.14,"小可爱",8,9,30))
输出结果为:
参数的长度是: 6
参数的长度是: 3.14
(1, 3.14, '小可爱', 8, 9, 30)