zoukankan      html  css  js  c++  java
  • 八.函数基本(简介,返回值,参数)

    函数:
    定义:def 关键词开头,空格之后接函数名称和()
    函数名:函数只能包含字符串,下划线且不能是数字开头。
    注释:每一个函数都应该对功能和参数进行相应的说明,应该谢写在函数下面第一行,增强可读性
    作用:减少重复性代码
    一.函数基本:
    格式:def text():
    print("你好")

    text() # 你好

    二.函数的返回值return:
    函数内要想有返回值给调用者,必须用关键字return

    #1.不写return:函数默认返回None
    # def func():
    print("nihao")
    # res = func()
    print(res) # None
    #2.只写return:除了可以返回值之外还可以结束整个函数的运行,return之后整个函数结束运行
    如:def func():
    l =["jason","engon","tank"]
    while True:
    for i in l:

    if i =="egon"
    return
    print("erhuo")
    print(i)
    result =func() # egon
    print(res)

    #3.return返回一个值:这个值可以是任意数据类型,是什么值返回什么

    """
    1.所有的函数都有返回值,无论你写不写return
    python中所有的函数都有返回值 不写的情况下默认返回None

    2.光写return 或者return None并不是为了考虑返回值 而是为了结束函数的运行

    """
    三.函数的参数:
    形参:在函数的定义阶段,括号内写的变量名,叫做该函数的形式参数 ,简称形参 如 def add(a,b)a,b就是形参
    实参:在函数的调用阶段,括号内实际传入的值叫做实际参数,简称实参 如 add(1,2)1,2,就是实参
    形参和实参的关系:
    形参就相当于变量名,而实参就相当于变量的值
    函数调用传参的过程就是形参变量名赋值的过程
    注意:形参个实参的绑定关系只在调用阶段有效,函数运行结束关系自动解除,只在函数内部有效,函数外部无任何影响

    def sum(a):
    """用于计算从一到指定数字之和"""
    i = 1
    sum1 = 0
    while i <= a:
    sum1 += i
    i += 1
    print(sum1)


    sum(100)


    # 函数的多个调用
    def add(a, b):
    print(a + b)

    add(3, 5)
    四.位置参数和关键字参数
    1.位置参数
    # 函数位置形参在调用的时候,必须为其传值,位置参数,实参在进行传参过程中,位置要和函数内对其,不少不多
    def my_max(x,y):
    print(x,y)
    if x > y:
    return x
    else:
    return y
    # res = my_max(1) # 在调用函数的时候 少一个实参不行
    # res = my_max(1,2,3) # 在调用函数的时候 多一个实参也不行
    2.关键字参数:
    # 函数关键字参数在调用过程中,一定是在位置参数后面

    # my_max(y=20,x=10)
    # my_max(10,y=20) # 位置和关键字混合使用
    # my_max(20,y=40)
    my_max(20,y=40,x=30)

    """
    注意:在函数的调用阶段 位置参数和关键字参数可以混合使用
    但是必须保证
    1.位置参数必须在关键字参数的前面(越短的越靠前,越长的越复杂的越靠后)
    2.同一个形参不能被多次赋值
    """
    五,默认参数:
    # 用于定义函数,为参数提供默认值,调用是可以不用传该默认参数的值,
    # 默认值参数的应用场景
    # 当形参接收的到值比较单一的情况下 通常可以考虑用默认值形参
    def user_info(name, age, gender="男"):
    print(f"您的姓名是{name},年龄:{age},性别:{gender}")

    user_info("吴凯", age=18)
    user_info("吴凯", 18,"女")
    六.可变长参数
    可变参数,用于不确定调用的时候会传递多少个参数(不传参数也可以),此时可以用
    # 包裹位置参数,或者包裹关键字参数传递,会显得方便,可以是集合,列表,元组
    def user_info(*args):
    print(args)


    # 接受所有位置参数,返回一个元组(不定长参数)
    user_info("Tom")
    user_info("Tom", 18)
    user_info()



    # 包裹关键字传递,传进的所有参数都会被返回成一个字典,是一个组包的过程

    def user_info(**kwargs):
    print(kwargs)
    user_info(name="Tom", age=18, gender="男")

  • 相关阅读:
    mysql工具导出数据库表数据
    c#接收http的post请求的多个文件流
    java上传文件和参数到服务器
    windows server 2008 w3svc服务无法启动
    java调用c#webapi的接口实现文件上传
    postman上线文件上传,并用c#服务端接收
    sql语句修改数据库字段的长度
    VB2015运行项目时出现的错误
    JavaWeb实现分页功能
    会话跟踪技术
  • 原文地址:https://www.cnblogs.com/wukai66/p/11157878.html
Copyright © 2011-2022 走看看