补上:20日学习函数笔记

函数:数学函数   python函数————————函数都是为了完成特定的功能

数学函数:y=2x+1  x:自变量   y:因变量

python函数

def test():——————————————————无参数
"对此函数的功能解释"
x=1
return x#可以没有return,但是一般有
y=test()
print(y)
# def:定义函数的关键字
# test():函数名
#return:返回值
def test(x):——————————————有参数
"对此函数的功能解释"
y=2*x+1
return y#可以没有return,但是一般有
t=test(5)
print(t)

为什么要使用函数:

1.代码重复过多;

2.保持一致性;(修改函数对应调用的就同步修改)

3.可扩展性强。(修改函数对应调用的就同步修改)

函数与过程:函数有返回值return,过程没有返回值(return)。


def test1():
msg="hello word"
return msg

def test2():
msg="hello word"

def test3():
msg="hello word"
print(msg)
return 1,2,3,"b",["sada"],{"name":"test"},None
t1=test1()
t2=test2()
t3=test3()
print(t1)#结果:hello word
print(t2)#结果:None 函数里面没有返回值(return)时为None
print(t3)#结果:(1, 2, 3, 'b', ['sada'], {'name': 'test'}, None) 输出一个元组


位置参数与关键字参数差别
#位置参数,必须一一对应,缺一不可
def test(x,y,z):#x,y,z是形参,不传实参时不分配内容
print(x)
print(y)
print(z)
c=test(1,2,3)#1,2,3是实参
print(c)

#关键字参数,无须一一对应,缺一不可
def test(x,y,z):#x,y,z是形参,不传实参时不分配内容
print(x)
print(y)
print(z)
c=test(y=1,x=2,z=3)#y=1,x=2,z=3叫关键字参数
print(c)

#位置参数必须在关键字参数左边,同时位置参数一一对应
def test(x,y,z):#x,y,z是形参,不传实参时不分配内容
print(x)
print(y)
print(z)
c=test(1,2,z=3)#y=1,x=2,z=3叫关键字参数
print(c)

#参数组:**字典   *列表
def test(x,*args):#*args这个可以写,但是可以不传值,可扩展性
print(x)
print(args)#结果:(2, 3, 4, 5)一个元组
print(args[0])
c=test(1,2,3,4,5)

def test(x,*args):#*args这个可以写,但是可以不传值,可扩展性
print(x)
print(args)#结果:([2, 3, 4, 5],)一个元组
print(args[0])
c=test(1,[2,3,4,5])

def test(x,*args):#*args这个可以写,但是可以不传值,可扩展性
print(x)
print(args)#结果:([2, 3, 4, 5],)一个元组
print(args[0])
c=test(1,*[2,3,4,5])


def test(x,**args):#**args这个可以写,但是可以不传值,可扩展性
print(x)
print(args)#结果:(2, 3, 4, 5)一个元组

c=test(1,**{"name":1,"test":"test1"})

def test(x,**kwargs):#*kwargs这个可以写,但是可以不传值,可扩展性
print(x)
print(kwargs)#结果:{'y': 2, 'z': 3}字典
c=test(1,y=2,z=3)
c=test(1,y=2,z=3,z=3)#一个参数不能传2次值,会爆错

猜你喜欢

转载自www.cnblogs.com/jianchixuexu/p/11518869.html