Python日志之Python函数

Python日志之Python函数:

一、认识函数

1.什么是函数

函数,function,通俗来说,函数,就是功能的意思,函数是用来封装特定功能的,比如,在Python中,len()是一个函数,len()这个函数实现的功能可能是返回一个字符串的长度,所以说len()这个函数他的特定功能就是返回长度,再比如,我们可以定义一个函数,然后编写这个函数的功能,之后要使用的时候再调用这个函数。所以函数分为两种类型,一种是系统自带的不用我们编写其功能的,比如len()这种函数,再一种就是我们自己定义的,需要我们编写其功能的,这种函数自由度高,叫做自定义函数,需要使用的时候直接调用该函数。

2.函数的功能

不同的函数实现不同的功能,方便快捷

#实例:

#系统自带的函数

#1.实现取字符串长度的功能

a="hellomyteacher"
print len(a)

#输出结果:

14

#2.实现字符串的切割

a="student"
b=a.split("u")
print b

#输出结果:

[‘st‘, ‘dent‘]

#注意,分割结果不包括本身u的

#3.自定义的函数

def a():
    print "hello";print 777
    print "a"
a()

#输出结果:

hello
777
a

3.Python里函数的定义

在Python中要想使用自定义函数,就得先定义一个函数,定义一个函数包括两个部分的含义,第一个含义是申明这个制定的部分是函数,而不是其他的对象;第二个含义是定义这个函数所包含的功能,也就是要编写的这个函数的功能

#函数的定义

#格式

‘‘‘

def 函数名():#括号不可缺,以及冒号:,表示结尾了

函数内容;

‘‘‘

#实例

def function1():
    a=8
    print a

二、形参和实参

1.函数中参数的概念

函数是为了实现一项或多项功能,我们知道函数len()是取字符串长度,但是吐过仅仅只有len(),他是没有实际意义的,毕竟我们没有取字符串长度的目标,如果我们要让他有实际意义,就必须将某个字符串放进这个函数里面,比如我们要取字符串"admin"的长度,我们就要把"admin"放进len()这个函数里面,就变成了len("admin"),这样我们的len()函数才有实际意义,这时,我们把括号里的"admin"称为函数的参数,其实,参数就是函数在执行其功能时所需要使用到的数据。

#参数的概念

print len()

#输出结果:

Traceback

TypeError:len() takes exactly one argument (0 given)

a="admin"
print len(a)

#输出结果:

5

2.什么是形参

形参一般发生在函数定义的过程中,形参一般指参数的名称,而不代表参数的值,他仅仅只是形式上的参数,仅仅只标明一个函数里面,哪个位置有哪个参数名称的参数而已。

#什么是形参

def function1(a,b):
    if a>b:
        print a
    else:
        print b

3.什么是实参

实参跟形参刚好互补,实参一般是在函数调用是出现的,实参一般指的是参数具体的值,而不是形式上的

#什么是实参

def function1(a,b):

if a>b:

print a

else:

print b#之前为形参

function1(1,3) #现在是实参

区别:

实参是具体的值,形参只是一个参数的名称,表示位置所在

实参和形参出现的时候不一样,实参出现在调用,形参出现在定义

4.参数的传递

在Python中函数在调用过程中参数的传递是有顺序的

#参数的传递

#第一种,最简单的传递,实参传到形参

def function(a,b):
    if a>b:
        print "前面这个数大于后面这个数"
    else:
        print "后面这个数比较大"
function(7,8)  #7->a,8->b

#输出结果:

后面这个数比较大

#第二种,赋值传递

def function(a,b=8):
    print a
    print b
function(1)
function(1,2)

5.关键参数

在Python中一个函数中出现多个参数的时候,我们可以通过参数的名字直接给我们的参数赋值,那么这些参数称之为关键参数

#关键参数

def function(a=1,b=6,c=7):#初始化
    print a
    print b
    print c
function(5)

#输出结果:默认传递到第一个形参a

5
6
7

function(b=7,a=8)

#输出结果:

8
7
7

function(5,c=2,b=3)

#输出结果

5
2
3

function(b=4,c=2,a=1)

#输出结果:

1
4
2

‘‘‘但是要注意,参数不能冲突‘‘‘

function(b=2,c=3,2)

#输出结果:

提示程序有eroor

三、全局变量和局部变量

1.什么是作用域

Python中一个变量是在一定的范围内其作用的,在其起作用的这个范围我们称之为作用域。

#作用域

def func():

i=8

print i

#输出结果:

提示i没有定义,i作用范围是函数内,所以在print执行功能时是没有意义的,即i不再print的作用范围

print j

j=9

#输出结果:

提示j没有定义,j的作用域在赋值之后,而之前的print没有包括到作用域

j=9
print j

#输出结果:

9

2.局部变量

在Python中作用域在一定范围内而非全局都起作用的变量,我们叫做局部变量,在函数中,如果我们没有进行全局变量申明,那么就默认是局部变量。

#局部变量

def func2(a):
    i=7
    print i
i=9
func2(i)

#输出结果:i是局部变量

7

print i

#输出结果:9是局部变量调用的实参

9

3.全局变量

在Python中这些变量的作用域为全局,也就是作用在程序的全部地方,那么我们需要对这个变量进行全局声明,声明后这个变量就变成了全局变量

#全局变量

def func3():
    global i  #i是全局变量,global进行全局声明
    i=7
    print i
i=9
func3()

#输出结果:

7

因为从外到内,里面的i=7是函数一直所赋予的值,外部的i=9并没有赋值进去

i=9

print i

#输出结果:并没有调用函数func3

9

四、函数的使用和返回值

1.函数的调用

在运行程序是,要执行某个函数,就需要调用该函数,想要调用一个函数,在函数定义后,直接输入一遍这个函数名即可,如果要传递实参到函数里面执行,直接诶再调用的时候括号里面输入实参即可。比如一个函数def func3():这样定义的,那么我们调用它直接输入func3(参数)即可。其中参数可以忽略

def a():

i=1

a()

2.函数的返回值

在Python中有的函数是有返回值的,有的函数是没有返回值的,而有返回值的函数,我们可以返回一个值,也可以让函数返回多个值。

#函数返回值

#函数返回值是通过return语句实现的

#返回一个值的情况

def test():
    i=7
    return i
print test()

把i return至函数test()

#输出结果:

7

#多个返回值的情况

def test2(i,j):
    k=i*j
    return (i,j,k)
x=test2(4,5)
print x

#输出结果:

(4,5,20)
def test2(i,j):
    k=i*j
    return (i,j,k)
y,z,m=test2(4,5)
print y

#输出结果:

4

五、文档字符串

1.什么是文档字符串

作为一门语言,Python可以定义很多很多的函数,当函数数量增加时,对于开发人员来说,如果遇到太多的函数而没有进行深入了解这个程序,就会变得混乱,所以针对这种因为数量规模增加而变得杂乱的问题,我们需要去解决

第一种方式:在开发的时候为每个函数写一个文档说明

第二种方式:在每个函数开头增加一段说明性文字,那么这些文字我们成为文档字符串,这样使程序变得清晰

2.文档字符串使用详解

#文档字符串

def d(i,j):
    ‘‘‘这个函数实现一个乘法运算。
    函数会返回一个乘法运算的结果。‘‘‘  
#文档字符串,紧跟冒号后,用‘‘‘三引号引起来,第一个字母必须大写,句末必须有句#\号
    k=i*j
    return k
print d.__doc__#打印文档字符串内容
help(d)        #输出d的字符信息,包括文档字符串和函数定义
时间: 2024-08-02 06:59:21

Python日志之Python函数的相关文章

Python日志之Python控制流(顺序,分支,循环)

Python控制流: 所有程序都是在IDLE中运行 1.Python的三种控制流 (1).什么是控制流 Python中程序代码执行是有序的,有的代码程序会从上倒下按顺序执行,有的程序会跳转着执行,有的程序代码会选择不同的分支去执行,有的程序代码会循环的去执行.那么到底什么样的程序会自上而下执行,哪些会选择分支执行,什么样的可以循环执行呢?在Python中是有相应的控制语句进行标识的,控制语句他能控制某些代码段的执行方式,我们把这些不同功能的控制语句称为控制流 (2).Python里面有哪些控制流

Python日志格式输出与时间格式

formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s","%Y%b%d-%H:%M:%S") 上面的%Y等是时间格式,所以要想理解上面要表示个什么,先来看一下Python的时间格式. %a - abbreviated weekday name %A - full weekday name %b - abbreviated month name %B - full month name

python日志模块-logging

日志模块 logging logging模块主要可以根据自定义日志信息,在程序运行的时候将日志打印在终端及记录日志到文件中.在这先了解一下logging支持的日志五个级别 debug() 调试级别,一般用于记录程序运行的详细信息 info() 事件级别,一般用于记录程序的运行过程 warnning() 警告级别,,一般用于记录程序出现潜在错误的情形 error() 错误级别,一般用于记录程序出现错误,但不影响整体运行 critical 严重错误级别 , 出现该错误已经影响到整体运行 简单用法,将

python 全栈 python基础 (二十一)logging日志模块 json序列化 正则表达式(re)

一.日志模块 两种配置方式:1.config函数 2.logger #1.config函数 不能输出到屏幕 #2.logger对象 (获取别人的信息,需要两个数据流:文件流和屏幕流需要将数据从两个数据流中接收) 1.函数式简单配置 import logging logging.debug('debug message') logging.info('info message') logging.warning('warning message') logging.error('error mes

python日志模块logging

1. 基础用法 python提供了一个标准的日志接口,就是logging模块.日志级别有DEBUG.INFO.WARNING.ERROR.CRITICAL五种(级别依次升高),分别对应的函数为debug().info().warning().error().critical(). >>> import logging >>> logging.debug("ni hao") >>> logging.info("ni hao2

【python日志之logging模块--理解】

一.简介logging模块是python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件和回滚等:可以说,logging模块主要由4部分组成:    *Logger 记录器,提供了应用程序代码能直接使用的接口    *Handler 处理器,将记录器产生的日志记录发送至合适的目的地,或者说将Logger产生的日志传到指定位置    *Filters 过滤器,对输出的日志进行过滤,它可以决定输出哪些日志记录    *Formatter 格式化器,控制日志输出的格

Python 日志打印模块

1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息: print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据:logging则可以由开发者决定将信息输出到什么地方,以及怎么输出: 2 logging模块使用 2.1 基本使用 配置logging基本的设

python第五章函数

第五章 函数 5.1三元运算/三目运算 v = 前面 if 条件语句 else 后面 #如果条件成立,"前面"赋值给v,否则后面赋值给v. v = a if a>b else b # 取a和b中值较大的赋值给v # 让用户输入值,如果值是整数,则转换成整数,否则赋值为None data = input('请输入值:') value = int(data) if data.isdecimal() else None 5.2 函数 5.2.1.函数介绍 截止目前为止,都是面向过程式编

Python日志库logging总结-可能是目前为止将logging库总结的最好的一篇文章

在部署项目时,不可能直接将所有的信息都输出到控制台中,我们可以将这些信息记录到日志文件中,这样不仅方便我们查看程序运行时的情况,也可以在项目出现故障时根据运行时产生的日志快速定位问题出现的位置. 1.日志级别 Python 标准库 logging 用作记录日志,默认分为六种日志级别(括号为级别对应的数值),NOTSET(0).DEBUG(10).INFO(20).WARNING(30).ERROR(40).CRITICAL(50).我们自定义日志级别时注意不要和默认的日志级别数值相同,loggi