函数的基本使用

1、什么是函数

  函数就是一种工具

  可以重复调用

2、为什么要用函数

  1、防止代码冗余

  2、代码的可读性差

3、怎么用函数

  1、定义函数-->制造工具

  2、调用函数-->使用工具

1、无参函数:

  def index():

  print('ok')

2、空函数:

def login():

pass

3、有参函数

def login(username):

print(username)

 

返回值:

  1、不写return:默认返回None

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

  3、写return None:与只写return的效果相同

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

  5、return返回多个值:

    1、将返回的多个值,默认存入元组返回

     2、函数的返回值不想被修改

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

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

函数的参数:

  函数是先定义,后调用

  在定义阶段只检测语法,

  不执行任何代码

参数的类型

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

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

python代码从上到下依次执行
    def index(a): #形参:相当于变量名
        print(a)
        print(b)
    if a > b:
        print(a)
    else:
        print(b)
        
    a = 1
    index(a) #实参:相当于变量值
    b = 2

传参方式:

  位置参数: 通过位置进行传参 关键字参数: 指定参数进行传参

        ps:位置参数一定一定一定要在关键字参数之前, 连用的时候,不要对同一个形参重复赋值

    默认参数:

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

    如果说你在传值的时候传入了一个新的参数,就会使用新参数

    默认参数在传值的时候,不要将可变类型当做参数传递

应用场景:

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

def reg(username,password,gender='male'):
    print(f'用户名:{username},密码:{password},性别:{gender}')
reg('tank','dsb')
reg('jason',dsb)
reg('egon',xsb)

第一种解决
def reg(hobby,l1=None) #四个形参
    if l1 == None:
        l1 = []
    l1.append(hobby)
    print(f'爱好:{l1}')
reg(hobby = '生蚝')
reg('大保健')
reg('女教练')
第二种方法
def reg(hobby,l1):#四个形参
    l1.append(hobby)
    print(f'爱好:{l1}')
reg('生蚝',[])
reg('大保健',[])
reg('女教练',[])

 可变长参数:

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

    官方认证:*args

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

  **kwargs:接收所有溢出的关键字参数,接收的值都被存入一个字典

    官方认证:**kwargs

  *:放到实参中就是打散

def func(a, b, c, d,**kw):
    print(a, b, c, d,kw)


func(1, 2, c=3, d=4, e=5, f=6)

l1 = [1,2,3,4]
t1 = (1,2,3,4)
d1 = {'name':'tank','age':73}

print(*l1)
print(*t1)
print(d1)

函数名的命名规范与变量名一样

关键字(def)函数名(index)括号:

函数描述:描述函数体代码的功能

def index():
    """
    from index
    :return:
    """
    print('hello world')


def login():
    """
    登录
    :return:
    """
    pass


def register():
    """
    注册
    :return:
    """
    pass

 

posted @ 2019-11-09 16:25  Parado  阅读(204)  评论(0编辑  收藏  举报