python 基础5 初级函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 基础5 初级函数相关的知识,希望对你有一定的参考价值。
函数最重要的目的是方便我们重复使用相同的一段程序。将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句。
def my_len(): def 关键字 li=[1,2,3,4,5,6] count = 0 for i in li: count+=1 return count return 关键字 set=my_len() 函数的调用以及返回值的接收 print(set)
写函数时最好不要在函数中打印,要尽量以功能为导向。
返回值:
一 没有返回值的情况:
1.不写return===return None
2.仅仅写一个return,后边不跟东西 ==return None
二 有返回值的情况:
return 的作用:1。返回一个或多个值
2. 终止一个函数的继续。
def my_len(): print(1) print(2) return print(33) print(44) print(my_len())
结果:
44 ###为什么会先打印出44,因为程序第一步先运行到def这行,接着运行print(44)这行,而不是运行print(1),因为函数还没有调用。 1 2 None
1.返回一个值:什么数据类型都可以返回,返回什么就接收什么。
2.返回多个值:
如果用一个变量接收返回值,它会返回一个元祖,为什么会返回 一个元组,这里用到了python解析包的概念。python有一种一次给多个变量赋值的方法称为序列解包。
范例1
>>> 1,3 输入 (1, 3) 结果 >>> 2,3,6 输入 (2, 3, 6) 结果
x,y,z=1,2,3 print(x,y,z) 两个变量之间调换 x,y=y,x print(x,y,z)
它允许函数返回一个以上的值并且打包成元组,然后通过一个赋值语句很容易进行访问。所解包的序列中的元素数量必须和放置在赋值符号(=)左边的变量数量完全一致,否则Python会在赋值时引发异常,
范例2:
def my_len(): return 2, 3,4 set1,set2,set3=my_len() print(set1,set2 set3)
结果:
(2, 3)
返回值用多个变量接收,那么返回值的个数应该和接收值的个数一样,否则会报错。
范例一:
def my_len(): return 2, 3,4 set1,set2,set3=my_len() print(set1,set2 ,set3)
结果:
2 3 4
参数:
def func(lst): 接收参数叫形参 count=0 for i in lst: count+=1 return count l=[1,2,34,5,] print(func(l)) 传入参数叫实参
传函数可以传任意数据类型,并且传什么接收什么。
站在传参数的角度上,一共有两种传参数的方式。
第一种:按照位置传参数。
第二种:按照关键字传参数。
这两种方式可以混用,但是注意位置参数不可以放在关键字参数之后。。一个位置只能接受一个参数,不允许接收多个参数。
默认参数:python为了简化函数的调用,提供了默认参数机制。
注意:1.默认参数必须放在必选参数之后,否则python会报错。
2.默认参数必须指向的是不变的对象
范例
def classmate(name,sex="男"): print("姓名:%s,性别:%s"%(name,sex)) return classmate("小红") classmate("小花") classmate("小蓝","女")
结果:
姓名:小红,性别:男
姓名:小花,性别:男
姓名:小蓝,性别:女
默认参数的坑:
范例:
def add_end(L=[]): L.append(‘we‘) return L print(add_end()) print(add_end()) print(add_end([1])) print(add_end())
结果
[‘we‘] [‘we‘, ‘we‘] [1, ‘we‘] [‘we‘, ‘we‘, ‘we‘, ‘we‘]
纳尼,为什么不一直是[‘we‘].
以上是关于python 基础5 初级函数的主要内容,如果未能解决你的问题,请参考以下文章
[AndroidStudio]_[初级]_[配置自动完成的代码片段]
[AndroidStudio]_[初级]_[配置自动完成的代码片段]