zoukankan      html  css  js  c++  java
  • Python 函数介绍

    函数的作用

    1.减少重复代码
    2.方便修改,更易扩展
    3.保持代码一致性

    函数的命名规则:

    1.函数名必须以下划线或字母开头,可以包含任意字母,数字或下划线的组合,不能使用任何的标点符号。
    2.函数名区分大小写。
    3.函数名不能是保留字。

    形参和实参

    形参: 形式参数,不是实际存在的,是虚拟变量。

    实参: 实际参数,调用函数时传给函数的参数,可以是常量,变量,表达式,函数,传给形参。

    举个例子:

    def add(x, y):             # 这里 add(x, y) 里面中的 x, y 就是形参
        print(x + y)
    
    add(1, 2)                  # 调用 add(1, 2) 函数里面的 1, 2 就是实参 
    
    运行结果:
    3
    

    函数参数分类

    1.必备参数:
    必备参数必须按正确的顺序传入,数量与申明时一致。

    def person(name, age):
        print('My name is %s, age %d' %(name, age))
    
    person('klvchen', 28)
    
    运行结果:
    My name is klvchen, age 28
    

    2.关键字参数
    函数使用关键字参数进行调用时,允许参数的顺序与声明时不一致。

    def person(name, age):
        print('My name is %s, age %d' %(name, age))
    
    person(age = 28, name = 'klvchen')
    
    运行结果:
    My name is klvchen, age 28
    

    3.默认参数
    调用函数时,用户如果没有传入缺省的值,则被认为是默认值。默认参数只能放在最后。

    def person(name, age, sex = 'male'):
        print('My name is %s, age %d sex is %s' %(name, age, sex))
    
    person(age = 28, name = 'klvchen')
    
    运行结果:
    My name is klvchen, age 28 sex is male
    

    当用户需要传入非默认参数时:

    
    def person(name, age, sex = 'male'):
        print('My name is %s, age %d sex is %s' %(name, age, sex))
    
    person('lily', 18, 'female')
    
    运行结果:
    My name is lily, age 18 sex is female
    

    4.不定长参数
    事先没有规定用户输入的参数数量。
    (*args)只存放未命名的变量参数,用户输入的参数会组成元组方式传入。

    def add(*args):
        print(args)
        total = 0
        for i in args:
            total += i
        print(total)
    
    add(1, 2, 3)
    
    运行结果:
    (1, 2, 3)
    6
    

    (**kwargs)只存放命名的变量参数,用户输入的参数会组成字典方式传入。

    def person(**kwargs):
        print(kwargs)
        for i in kwargs:
            print("%s : %s" %(i, kwargs[i]))
    
    person(name='klvchen', job='IT')
    
    运行结果:
    {'name': 'klvchen', 'job': 'IT'}
    name : klvchen
    job : IT
    

    (*args)和(**kwargs)配合一起使用即可以接受用户输入的全部参数:

    def person( *args, **kwargs):
        print(args)
        print(kwargs)
        print()
        for l in args:
            print(l)
        for i in kwargs:
            print("%s : %s" %(i, kwargs[i]))
    
    person(1, 2, 3, 4, name='klvchen', job='IT')
    
    运行结果:
    (1, 2, 3, 4)
    {'name': 'klvchen', 'job': 'IT'}
    
    1
    2
    3
    4
    name : klvchen
    job : IT
    

    函数的返回值

    函数返回单个值

    def test():
        return 'hello world'
    
    result = test()
    print(result)
    
    运行结果:
    hello world
    

    函数返回多个值

    def test():
        return 1, [2, 3]
    
    result = test()
    print(result)
    运行结果:
    (1, [2, 3])
    

    注意:
    1.如果函数没有 return 关键字,默认会返回 None
    2.如果函数 return 多个值,Python 会把多个值组成一个元组返回
    3.函数在执行过程中如果遇到 return 关键字就会停止执行并返回结果,return 代表着函数的结束

  • 相关阅读:
    不是结束,而是刚刚开始
    第七次作业
    用类做封装
    用户故事
    团队编程--MP3播放器
    结对编程作业
    四则运算
    四、小电视自动抽奖
    三、wss连接B站弹幕
    一、基础设计
  • 原文地址:https://www.cnblogs.com/klvchen/p/8715502.html
Copyright © 2011-2022 走看看