• 初识函数 返回值 初识函数参数


    s = '初识函数和返回值'
    len(s)
    print(len(s))
    
    i = 0
    for k in s:
        i = i + 1
    print(i)
    
    def my_len():
        i = 0
        for k in s:
            i = i + 1
        print(i)
    my_len()

     

    # 函数
    定义了之后,可以在任何需要它的地方调用
    没有返回长度,只是单纯的打印
    #len()
    1.不能变,只能计算s字符串的长度
    2.只是输出了结果
    #返回值
    返回值的3种情况
    没有返回值 —— 返回None
    不写return
    只写return:结束一个函数的继续
    return None —— 不常用
    返回1个值
    可以返回任何数据类型
    只要返回就可以接收到
    如果在一个程序中有多个return,那么只执行第一个
    返回多个值
    用多个变量接收:有多少返回值就用多少变量接收
    用一个变量接收: 得到的是一个元组

    def my_len(s):  #自定义函数只需要0个参数,接收参数,形式参数,形参
        i = 0
        for k in s:
            i += 1
        return i  #返回值
    
    ret = my_len('金老板小护士')  #传递参数:传参,实际参数,实参
    ret = my_len([1,2,3,4,5])  #传递参数:传参
    print(ret)


    #参数
    没有参数
    定义函数和调用函数时括号里都不写内容
    有一个参数
    传什么就是什么
    有多个参数
    位置参数

    #站在实参的角度上:
    按照位置传参
    按照关键字传参
    混着用可以:但是 必须先按照位置传参,再按照关键字传参数
    不能给同一个变量传多个值

    #站在形参的角度上
    位置参数:必须传,且有几个参数就传几个值
    默认参数: 可以不传,如果不传就是用默认的参数,如果传了就用传的

    #只有调用函数的时候
    按照位置传 : 直接写参数的值
    按照关键字: 关键字 = 值

    #定义函数的时候:
    位置参数 : 直接定义参数
    默认参数,关键字参数 :参数名 = '默认的值'
    动态参数 : 可以接受任意多个参数
    参数名之前加*,习惯参数名args,
    参数名之前加**,习惯参数名kwargs
    顺序:位置参数,*args,默认参数,**kwargs

    动态参数有两种:可以接受任意个参数
    *args : 接收的是按照位置传参的值,组织成一个元组
    **kwargs: 接受的是按照关键字传参的值,组织成一个字典
    args必须在kwargs之前

    def func(*args):#站在形参的角度上,给变量加上*,就是组合所有传来的值。
        print(args)
    
    func(1,2,3,4,5)
    l = [1,2,3,4,5]
    func(*l)  #站在实参的角度上,给一个序列加上*,就是将这个序列按照顺序打散
    
    
    #函数的注释
    def func():
        '''
        这个函数实现了什么功能
        参数1:
        参数2:
        :return: 是字符串或者列表的长度
        '''
        pass

    # 默认参数的陷阱
    # 文件的修改
    # 函数
    #1.函数的定义 def
    #2.函数的调用
    #3.函数的返回值 return
    #4.函数的参数
    #形参:
    # 位置参数 : 必须传
    # *args :可以接收任意多个位置参数
    # 默认参数 : 可以不传
    # **kwargs : 可以接收多个关键字参数
    #实参:按照位置传参,按照关键字传参

    #函数
    #内置函数
    #自定义函数 !!!!!
  • 相关阅读:
    Java启动工程时,加载固定数据到Map中(不用每次访问数据库)
    Java删除文件夹和其子文件、文件的拷贝和剪切
    EasyExcel导入工具(SpringMVC下使用)
    web工程启动时,在一个类中延迟加载Bean,因为该Bean类可能还没被JVM加载
    ECharts访问后台,JSON格式返回数据实例
    Java 实现缓存,一个线程存,一个线程取
    IE浏览器使用VLC实时显示视频(海康、大华)
    Windows和Linux下 Java开发ping工具类
    Quartz定时器+Spring + @Autowired注入 空指针异常
    ubuntu 安装mysql
  • 原文地址:https://www.cnblogs.com/rxiaoxi/p/11803782.html
Copyright © 2020-2023  润新知