函数初接触

 

第九天

函数

'''
1、无参函数:
def index():
  print('ok')
2、空函数:
def index():
  pass
def login():
  pass
3、有参函数:
def login(username):
  print(udername)
'''

返回值:

1、不写return:默认返回None

2、只写return:只有结束函数体函数的效果,返回None

3、写return None:只有结束函数体函数的效果,返回None

4、return返回一个值:可以将返回的结果,当做变量被使用

5、return返回多个值:将返回多个值,默认存入元组返回

函数的返回值不想被修改()

可以自己指定返回的数据类型

return是一个函数结束的标志,函数体代码只要执行到return,函数执行结束

# 不写return
# def index():
#     print('hello world')
# print(index())
# hello world
# None
#只写return
# def index():
#     print('hello world')
#     return
# print(index())
# hello world
# None
# 写return None
# def index():
#     print('aiwanglu')
#     return None
# print(index())
# aiwanglu
# None
# return返回一个值
# a = 1
# b = 2
# def home():
#     if a > b:
#         return a
#     else:
#         return b
# h1 = home()
# print(h1)
# return返回多个值:
a = 1
b = 2
c = '3'
d = [4, 5]
e = {'name': 'sean'}
def suzi(a, b, c, d, e):
  return a, b, c, d, e
s1 = suzi(a, b, c, d, e)
print(s1)

函数的参数

函数是先定义,后调用

在定义阶段执行的话,只检测语法,

不执行任何代码


形参:是在定义阶段就规范的参数,他就相当于定义变量时的变量名

实参:是在函数调用阶段传入的参数,他相当于定义变量时的变量值


a = 1
b = 3
def bijiao(a,b):  # 形参:相当于变量名
   if a > b:
       return a
   else:
       return b
print(bijiao(a,b))  # 实参:相当于变量值

位置参数、关键词参数,默认参数


位置参数:通过位置进行传参

关键词参数,指定参数进行传参

默认参数,在定义函数阶段就已经传入参数,

如果说你在实参的时候传入了一个新的参数,

就会使用新参数默认参数在传值的时候,

不要将可变类型当做参数传递

应用场景: 当参数对应值重复出现的情况下使用默认参数

位置参数一定一定一定要在位置参数的前面,连用的时候,不要对同一个形参重复赋值

# def xingcan(a, b, c, d):
#     return a ,b, c ,d
# print(xingcan(1,2, '3', (3,4)))

# def xingcan(a, b, c, d):
#     return a ,b, c ,d
# print(xingcan(b=1,a=2, c='3', d=(3,4)))
# def xingcan(a, b, c, d=4):
#     return a ,b, c ,d
# print(xingcan(1,2, '3'))

可变长参数

*args: 接受所有溢出的位置参数,接受的值都被存入一个元组

官方认证:*args

只要有*就有可变长参数的效果

*:打散你传入容器类型

**kwarge:接受所有溢出的关键字参数

接受的值被存入一个字典

官方认证:**kwargs

# def index(a, b, c,*args):
#     print(a ,b ,c ,args)
#
# index(1, 2, *(3, 4, 5))
# 1 2 3 (4, 5)


def index(a, b, c,**kwargs):
   print(a ,b ,c ,kwargs)

index(a=1, b=2, c=(3, 4, 5), d=[6,7], e={'age':22})
# 1 2 (3, 4, 5) {'d': [6, 7], 'e': {'age': 22}}

 

posted @ 2019-11-09 19:24  迎着阳光  阅读(174)  评论(0编辑  收藏  举报