python基础----day4(函数)
#################函数####################
一.python 中函数定义方法
def test (x)
“the function definition”
x += 1
return x
def:定义函数的关键字
test:函数名
():内可定义形参
“”:文档描述(非必要,但是强烈建议为你的函数添加描述信息)
x+=1:泛指代码块或程序处理程序
return:定义返回值
调用运行:可以带参数也可以不带函数名()
def test(x): y=2*x+1 return y print(test) v = test(3) print(v)

*若下一行代码使用同一个函数名,那么下面的函数名直接取代上面的函数名
二、.过程:没有返回值(return)的函数
def test01(): lxy='liuxiangyu is a sb' print(lxy) t1 = test01() print(t1)

三.函数返回值
def test01(): lxy = 'test01' print(lxy) def test02(): lxy = 'test02' print(lxy) return lxy def test03(): lxy = 'test03' print(lxy) return 1,2,3,4,'lishijie',['lishi'],{'lxy':'sb'} t1=test01() t2=test02() t3=test03() print(t1) print(t2) print(t3)

总结: 返回值数=0,返回none
返回值数=1,返回object
返回值数>1,返回tuple(元组)
四. 函数参数
1.形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元,因此,形参只有在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。
2.实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,他们都必须有确定的值,以便把这些值传送给形参,因此应预先用赋值,输入等办法使参数获得确定值。
def greet_user(username): print("hello,"+ username.title()+ "!") greet_user('liuxiangyu')
变量username是一个形参,“liuxiangyu”是一个实参
3.位置参数和关键字参数:位置参数强调实参和形参一一对应,关键字调用:位置无需固定 (缺一不行对一也不行)
若混合使用位置参数和关键字参数,位置参数必须在关键字参数左边
4.默认参数:函数中有关键字参数,如果下面有再重新传入参数(位置参数,关键字参数),将覆盖上面参数。如果没有,将默认为函数中定义的参数
def handle(x,type='mple'): print(x) print(type) handle('hello') handle('hello',type='djsfkkvj') handle('hello','djsfkkvj')

5.参数组: **字典 *列表
def test(x,*args): print(x) print(args) test(1,2,3,4,5,6)

①生成字典时要使用关键字参数,否则会报错
def test(x,**args): print(x) print(args) test(1,y=2,z=3)

②混合使用 *(列表) **(字典)
def test(x,*args,**kwargs): print(x) print(args) print(kwargs) #test=(1,2,21,5,15,151,x=1,y=2,z=3) #会报错,x=1,与之前的位置参数重合 test(1,2,44,54,5,5,15,1,y=2,z=3)


浙公网安备 33010602011771号