zoukankan      html  css  js  c++  java
  • 8.函数及参数

    函数及参数

    一.函数

    ​ 1.含义:包裹一部分代码 实现某一个功能 达成某一个目的

    ​ 2.特点:可以反复调用,提高代码的复用性,提高开发效率,便于维护管理

    ​ 3.函数的格式:

    定义函数:
    def 函数名():
        code
    调用函数:
    函数名()
    

    ​ 4.函数的命名:

    命名规则与变量一样:
    	字母数字下划线,首字符不能用数字
    	严格区分大小写,且不能用关键字
    	函数命名有意义,且不能是中文
    
    命名法:单词与单词之间用_隔开=>my_car
    驼峰命名法:
        大驼峰命名法:每个单词首字符都大写(面向对象-类)
        小驼峰命名法:第一个单词首字符小写,其他首字符大写(用在函数中)
    
    

    二.函数参数

    1.参数种类
    参数含义:函数运算时需要的值
    函数参数的种类:
    	1.形参:形式上的参数,在函数的定义处
    	2.实参:实际上的参数,在函数的调用处
    	形参种类:1.普通形参,2.默认形参,3.普通收集形参,4.命名关键字形参,5关键字收集形参
    	实参种类:1.普通实参,2.关键字实参
    形参声明位置顺序:1=>2=>3=>4=>5
    实参声明位置顺序:1=>2
    原则:形参实参个数要一一对应
    
    2.形参

    ​ 2.1普通形参

    def func(a,b):
        print(a,b)
    func(11,22)		#普通实参
    func(a=1,b=2)	#关键字实参
    

    ​ 2.2默认形参

    """
    a=1,b=2 是默认形参
    如果给与了实参,那么使用实参值
    如果没有给与实参,那么使用默认值
    """
    def func(a=1,b=2):
        print(a,b)
    func(11)
    func(11,33)
    

    ​ 2.3收集形参

    # 收集参数:普通收集形参和关键字收集形参
    # 1.普通收集形参
    """
    功能:专门用来收集那些多余没人要的普通实参
    语法:在参数的前面加上一颗星(*args)
    返回:一个元组
    """
    def func(a,b,*args):
        print(a,b,args)
    func(1,2,3,4,5,6,7)
    
    # 作用:可以提前任意值
    # 计算任意个数数值的累加
    def func(*args):
        total=0
        for i in args:
            total +=i
        print(total)
    func(1,2,3,4,5,6,7,8)
    
    # 2.关键字收集参数:
    """
    功能:专门用来收集多余没人要的关键字实参
    语法:在参数的前面加上两颗星(**kwargs)
    返回:一个字典
    """
    def func(a,**kwargs):
        print(a,kwargs)
    
    func(a=11,b=22,c=33,d=44,e=55)
    
    # 作用:可以做任意数值的字符串拼接
    def func(**kwargs):
        strvar1=""
        strvar2=""
        dic={"a":"呵呵","b":"哈哈"}
        for k,v in kwargs.items():#把字典的键值对变成元组,提取元组元素
            if k in dic:
                strvar1 +=dic[k]+":"+v+"
    "
            else:
                strvar2 +=v +","
        print(strvar1.strip())
        print("无用的:",strvar2.strip(","))
    func(a="11",b="22",c="33",d="44",e="55")
    
    

    ​ 2.4命名关键字形参

    """
    两种表达形式:
    1.def func(a,*,b,c):在星号后面定义的是命名关键字形参(b,c)
    2.def func(*args,b,**kwargs):在普通收集形参和关键字收集形参中间的是命名关键字形参
    如果是命名关键字形参,在调用时,必须使用关键字实参的方式调用
    """
    # 方法一:
    def func(a,b,*,c,d):
        print(a,b)
        print(c,d)
    func(11,22,c=33,d=44)
    
    # 方法二:
    def func(*args,a,**kwargs):
        print(args)
        print(a)
        print(kwargs)
    func(2,3,4,3,a=111,b=222,c=333)
    

    ​ 2.5 * 和 ** 的使用方法

    * 和 ** 的使用方法:
        1.在定义处:负责收集打包数据
            *:负责收集打包成元组
           **:负责收集打包成字典
        2.在调用处:负责打散解包数据
            *:负责对str list tuple set dict解包成单独的数据(字典只能解包键)
           **:负责dict 打散解包成单独的(键=值)的形式
    

    三.return 自定义返回值

    """
    return:会把函数内部的值返回到函数的调用处
    1.return后面可以接:六大标准类型,还可以接函数,类,对象
    2.没有自定义返回值,默认返回的None
    3.执行完return后,函数直接终止,后面的代码不执行;
    """
    # 1.return的基本使用
    def func():
        # return "df " 
        return [1,2,3]
    print(func())
    
    # 2.return 运行之后,后面代码不执行
    def func():
        for i in range(10):
            print(i)
            if i==5:    
                return
    print(func())   #返回空值
    #注意:打印的数据与自定义的数据不是一个值
    
  • 相关阅读:
    计算机网络
    一行代码实现字符串逆序输出
    移动前端开发初涉篇【2014/03/25】
    小识闭包【2013/07/18】
    [转载]IE6Bug之躲猫猫【2013/10/29】
    关于maven仓库镜像
    关于spring resttemplate超时设置
    关于springboot访问多个mysql库
    关于Java基础类型自动装箱(autoboxing)
    关于Java(JDBC连接数据库)
  • 原文地址:https://www.cnblogs.com/jia-shu/p/14071383.html
Copyright © 2011-2022 走看看