函数中参数存在的意义

无参实现

def CPU报警邮件()
    #发送邮件提醒
    连接邮箱服务器
    发送邮件
    关闭连接

def 硬盘报警邮件()
    #发送邮件提醒
    连接邮箱服务器
    发送邮件
    关闭连接

def 内存报警邮件()
    #发送邮件提醒
    连接邮箱服务器
    发送邮件
    关闭连接

while True:

    if cpu利用率 > 90%:
        CPU报警邮件()

    if 硬盘使用空间 > 90%:
        硬盘报警邮件()

    if 内存占用 > 80%:
        内存报警邮件()

  

  有参数的实现:

def 发送邮件(邮件内容)

    #发送邮件提醒
    连接邮箱服务器
    发送邮件
    关闭连接

while True:

    if cpu利用率 > 90%:
        发送邮件("CPU报警了。")

    if 硬盘使用空间 > 90%:
        发送邮件("硬盘报警了。")

    if 内存占用 > 80%:
        发送邮件("内存报警了。")

  其实可以更好实现函数的灵活调用,每次调用都可以diy一下而已

函数中有三中不同的参数:

1.普通参数:

#name 叫函数function的形式参数,简称:形参

#指定函数

def function(name)

  print(name)

  

#执行函数:

#‘leoday‘叫做函数function的实际参数,简称实参

  function(‘leoday‘)

2.默认参数:

 def function(name,age=18):

  print ‘s%:s%‘ %(name,age)

#指定参数

function (‘leoday‘,16)

#使用默认参数

func(‘alex‘)

#!/usr/bin/env python
# -*- coding:utf-8   -*-
def func(name,age=18):
    print "%s:%s"%(name,age)

# 指定参数
func(‘leoday‘,19)

# 默认参数,需要放到参数列表的最后,这样才不会被误解

  

3.动态参数(一)

对列表的打印

#!/usr/bin/env python
# -*- coding:utf-8   -*-
# 动态参数 (*args)
def func(*args):
    print(args)

#执行方式一
func(11,22,4,44,555,6666)

#执行方式二:
li=[11,22,33,55,6666,77777]
func(*li)

  

4.动态参数(二)

对字典的打印

#!/usr/bin/env python
# -*- coding:utf-8   -*-
def func(**kwargs):
    print(kwargs)

#执行方式一
func(name=‘leoday‘,age=16)
#执行方式二
li={"name":"leoday","age":19,"gender":"male"}
func(**li)

5.动态参数(三)

def func(*args, **kwargs):

    print args
    print kwargs

  这个我2.7环境测试,输出不出来,列表和字典,不能输出出来,但是不报错,我不知道为什么

时间: 2024-10-19 15:56:48

函数中参数存在的意义的相关文章

C++ main函数中参数argc和argv含义及用法

argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个: 第一个参数argc用来存放命令行参数的个数第二个参数argv是指针数组,它是用来存放命令行中各个参数和命令字的字符串的 具体可看:C++ main函数中参数argc和argv含义

js函数中参数的传递

先看一道JS的笔试题: var setObj=function(o){ o.name="xiaoming"; o={}; o.name="xiaohong"; } var p={name:"xixi",age:24}; setObj(p); console.log(p); 答案是{name:xiaoming,age24}: 在JavaScript中函数参数默认为引用类型. 在阅读本章节之前建议参阅一下两章节:1.值类型可以参阅javascript

python函数中参数是如何传递的?

python中一切皆对象,函数中参数传递的是对象的引用. 1在函数中改变变量指向的对象,即指向不同对象. 当在函数中修改传递进来的变量指向另一个对象时,实参的对象不会改变. >>> def fun(num,l,d): ... num=123; ... l=[1,2,3] ... d={'a':123} ... print("inside:","num=%f,l=%s,d=%s"%(num,l,d)) ... >>> num=1 &

(转)C++ main函数中参数argc和argv含义及用法

原博地址:https://blog.csdn.net/dcrmg/article/details/51987413 argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个: 简单用法示例,新建工程键代码: #include <iostr

python函数中参数的传递

Python唯一支持的参数传递方式是『共享传参』(call by sharing)多数面向对象语言都采用这一模式,包括Ruby.Smalltalk和Java(Java的引用类型是这样,基本类型按值传递)共享传参是指函数的各个形式参数获得实参中各个引用的副本:也就是说,函数内部的形参是实参的别名(alias)这种方案的结果是,函数可能会修改作为参数传入的可变对象,但是无法修改那些对象的标识(即不能把一个对象替换为另一个对象. 1 >>> def fun(num,l,d): 2 ... nu

Python函数中参数* 和 ** 的区别

* 函数接收参数为元组 例如 def myfun(*args): #相当于 def myfun(1,2,3)    ==> args 就相当于(1,2,3) for a in args: print(a) ** 表示函数接收参数为一个字典 def myfun(**args) :#相当于 def myfun({a:1,b:2,c:3}) ==>args 就相当于{a:1,b:2,c:3} for k,v in args: print(k,":",v)

Python函数中参数前带*是什么意思?

背景 前几天看了些python的代码,发现有些函数的参数前带有()号,有的甚至有两个()号,它们代表什么意思的? 解释 查阅资料后发现,参数前面加上* 号 ,意味着参数的个数不止一个,另外带一个星号()参数的函数传入的参数存储为一个元组(tuple),带两个()号则是表示字典(dict) 下面我们实际操作一下: def t1(param1, *param2): print(param1) print(param2) t1(1,2,3,4) # 1 # (2,3,4) def t2(param1,

关于setcookie函数的参数的代表意义

setcookie('cookie名' ,'cookie值'); setcookie('cookie名','cookie值','cookie生命周期');    setcookie函数的第三个参数是表示这个cookie在浏览器保存多久,可以用time()+秒数来表示从现在以后多少秒被销毁,当如果想销毁这个cookie的话,可以把第三个参数设置为0: setcookie('cookie名','cookie值','cookie生命周期','cookie作用域');    setcookie函数的第四

fopen()函数中参数mode的取值

FILE * fopen(const char * path,const char * mode); 参数mode字符串则代表着流形态. mode有下列几种形态字符串: r 打开只读文件,该文件必须存在. r+ 打开可读写的文件,该文件必须存在. rb+ 读写打开一个二进制文件,只允许读写数据. rt+ 读写打开一个文本文件,允许读和写. w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失.若文件不存在则建立该文件. w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会