zoukankan      html  css  js  c++  java
  • 函数传参的方式

    pass的作用:
    pass语句表示一个空的语句块,仅作为占位,执行后没有任何效果
    用于待开发的代码

    编写函数的原则
    a.函数设计尽量短小
    b.函数声明要做到合理、简单、易懂
    c.函数设计要考虑向下兼容
    d.一个函数只做一件事,尽量保证函数语句粒度的一致性

    函数调用参数的传递方式是值传递还是引用传递?
    python参数传递采用的是“传对象引用”的方式。这种方式相当于传值和传引用的一种综合。
    如果函数传递的是可变对象(比如字典、列表)的引用,是可以修改原对象的原始值---相当于通过“传引用”来传递对象;
    如果函数传递的是不可变对象(比如字符串,数字和元组)的引用,就不能修改原对象的值--相当于通过“传值”来传递对象

    如何在function里面设置全局变量
    global 设置全局变量


    函数的传递参数的方式
    调用函数是可使用的参数类型
    必备参数
    关键字参数
    默认参数
    不定长参数

    必备参数:必备参数必须以正确的顺序传入函数,调用时的数量必须和声明时参数的数量一致
    def printstr(s):
        return s
    
    print(printstr("I love python"))
    关键字参数:函数调用使用关键字参数来确定传入的参数值
    关键字参数与位置无关
    def func(a,b,c):
        return a+b+c
    
    print(func(1,c=5,b=2))
    默认参数:调用函数时,默认参数的值如果没有传入,则被认为是默认值
    默认参数必须指向不可变参数
    def printinfo(name,age =15):
        print("name:",name)
        print("age:",age)
        return
    
    print(printinfo("wulaoshi"))
    print(printinfo("wulaoshi",30))
    不定长参数也叫缺省参数
    缺省参数:*arg 函数在调用的时候自动组装成一个tuple
    def f(*args):
        for i in args:
            print(i)
    
    f(1,2,3,4,5)
    缺省参数:**kw 函数在调用的时候自动组装成一个dict
    def f(a,b,**kw):
        print(type(kw))
        for k,v in kw.items():
            print(k,v)
    
    f(1,2,c=3,d=4)
    #总结:
    *arg:表示把可变的多个参数,转换成一个元组
    **kw:表示把可变的多个命令参数,转换成一个字典


    #练习:请使用**kw的方式,把可变的所有参数算个乘积
    def func(a,b,**kw):
        result = a * b
        for value in kw.values():
            result *= value
        return result
    
    print(func(1,2,c=3,d=4,e=5))
    #练习2:同时使用*arg和**kw算下字母的长度之和,注意所有参数均使用字符串,字符串都是字母
    def Mylen(*arg,**kw):
        result = 0
        for i in arg:
            result += len(i)
        for value in kw.values():
            result += len(value)
        return result
    
    print(Mylen("abc","cdef","w",w="234",q="1000"))
  • 相关阅读:
    Docker之 数据持久化
    Docker之 默认桥接网络与自定义桥接网卡
    docker之 网络模式和跨主机通信
    zabbix之 qq邮件报警
    zabbix之 zabbix server 跟 agent 更换ip地址
    zabbix之 自动发现磁盘io util 监控
    zabbix之 自定义内存使用率监控报警
    zabbix之 自定义(指定特定磁盘)监控io
    zabbix之 zabbix模板监控mysql
    应用端连接MySQL数据库报Communications link failure
  • 原文地址:https://www.cnblogs.com/ff-gaofeng/p/11451307.html
Copyright © 2011-2022 走看看