首页 > 代码库 > Python-12:Python语法基础-函数

Python-12:Python语法基础-函数

1、函数

  function,通俗来讲函数就是功能,函数是用来封装功能的,函数分为两种类型,一种是系统自带的不用我们编写就可以使用的。另一种函数是自定义的,需要我们编写其功能,这种函数自由度高,叫做自定义函数。

#encoding:utf-8
#系统自带的函数
#实现取字符串长度的功能
a="hello,jiyongxin"
print len(a) #15

#实现字符串的切割
a="student"
b=a.split("u")
print b #[‘st‘, ‘dent‘]

#自定义函数
def a():
    print "这是一个自定义的a函数"
a() #这是一个自定义的a函数

  函数的定义:

    ①声明这个指定的部分是函数

    ②编写这个函数的功能

  格式:def 函数名():

        函数体

        函数体

2、形参和实参

  参数是函数在实现功能时所需要的数据

  print len("123aw")其中括号中的就是函数的参数

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

#什么是形参
def function1(a,b):#a,b都是形参
    if a>b:
        print a
    else:
        print b

  实参:实参一般在函数调用时出现,一般指的是参数具体的值

  

#encoding:utf-8
#什么是实参
def function1(a,b):#a,b都是形参
    if a>b:
        print a
    else:
        print b
function1(1,3) #结果为3,这里的括号中参数为实参

 

3、参数的传递

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

#encoding:utf-8
#参数的传递
#第一:最简单的传递
def findMax(a,b):
    if a>b:
        print str(a)+""
    elif a<b:
        print str(b)+""
    else:
        print "一样大"
findMax(5,8) #8大

#第二:赋值传递
def printNum(a,b=9):
    print a
    print b
printNum(6) #6,9
printNum(5,12)#5,12

#第三:关键参数
def function(a=1,b=6,c=7):
    print a
    print b
    print c
function() #1,6,7
function(2,3,5) #2,3,5
function(a=5,c=1,b=2) #5,2,1
#注意,参数不能发生冲突
#function(b=2,c=3,2)就会报错

 

4、全局变量和局部变量

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

#encoding:utf-8
def fun():
    i=8
print i
#这句代码会报错,因为i是fun函数中的局部变量,只在该函数内有效,而此输出语句的范围是全局,是找不到这个i的

 

  局部变量

  在Python中,作用域在一定范围内而非全局都起作用的变量,我们将其称为局部变量。在一个函数中,我们的变量如果没有进行全局变量的声明,它默认就是一个局部变量

#encoding:utf-8
def fun(a):
    i=7
    print i #7 输出的是局部变量范围内的i
i=9
fun(i)
print i #9 输出的是全局范围你的i

 

  全局变量

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

#encoding:utf-8
def fun(a):
    global  i
    i=7
    print i #7
fun(1)
i=8
print i #8

def fun2(a):
    global  i
    i=7
    print i #7
i = 8
fun2(1) #7

 

Python-12:Python语法基础-函数