函数:
一次定义,多次调用,函数可以变相看成变量
函数的阶段:
1.定义阶段
2调用阶段
形参和实参:
定义阶段的参数叫形参,调用阶段的参数叫实参
函数的几种基本用法:
#多变量
def test(name,age):
print("在下%s,今年%s,请问有何贵干!"%(name,age))
a = test('赵日天','18')
>>> 在下赵日天,今年18,请问有何贵干!
def test(name,age="18"):
print("在下%s,今年%s,请问有何贵干!"%(name,age))
a = test('赵日天')
>>> 在下赵日天,今年18,请问有何贵干!
# *args可以传入多个实参
def test(a,*args):
print(a)
print(args)
test('a',1,1,1,1)
>>> a
>>> 1,1,1,1,1
test(['a','b'],'a','b')
>>> ['a', 'b']
>>> ('a', 'b')
#**kwargs:可以传入多个键值对
#当元组中只有一个元素时,必须加一个‘,’。
def test(a,*args,**kwargs):
print(a)
print(args)
print(kwargs)
test(1,['a','b','c'],**{'name':'老郭','age':23})
>>> 1
>>> (['a', 'b', 'c'],)
>>> {'name': '老郭', 'age': 23}
eg:
小实例:分开打印
def test(*args, **kwargs):
if args:
print(args)
if kwargs:
print(kwargs)
test(1,2,3,4,5,6,a=100,b=200)
>>> (1, 2, 3, 4, 5, 6)
>>> {'a': 100, 'b': 200}
# return:返回一个函数的执行结果,
# 并且return往后的代码将不会被执行,return可以返回任意数据类型
n=3
def test(x,y):
return x + y
res = test(1,2)
if n == res:
print('==')
else:
print('!=')
>>> ==
def test(x,y): print(x + y) res = test(1,2) >>> 3
#函数的名字就是内存地址,并且函数的内存地址加()就是调用
def test():
n1 = 1
n2 = 2
n3 = 3
dict1 = {'name1':n1,'name2':n2, 'name3':n3}
return dict1
print(test)
>>> <function test at 0x0000021D5CE91F28>