码迷,mamicode.com
首页 > 编程语言 > 详细

python函数介绍

时间:2015-07-14 06:18:10      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:python函数

1.函数定义与调用

函数是为了实现特定功能而封装起来的一组语句块,可以被用户调用

使用函数可以降低编程难度,将大问题分解成若干小问题;实现代码重用,函数可被多次调用

格式:

def 函数名(参数列表):

函数体

函数名(参数列表)

y=0为默认参数,不传y值则y=0

def func(x,y=0):
    print x,y
func(1)
func(1,2)

>>> 

1 0

1 2

>>> 


2.局部变量和全局变量

局部变量是函数内部定义,仅在函数内有效

i=‘before‘
def func():
    i=‘after‘
    print i
    
func()
print i

>>> 

after

before

>>> 

全局变量在函数外部定义,可以被其他程序段调用

函数内部通过global可以强制定义全局变量,当函数调用时全局变量生效

i=‘before‘
def func():
    global i
    i=‘after‘
    print i
    
func()
print i

>>> 

after

after

>>> 


3.函数返回值return

可以返回任意数据类型,默认为None

执行完return,函数退出

注意区分return和print

def func(x,y,z):
    if z==‘+‘:
        return x+y
    elif z==‘-‘:
        return x-y
    
print func(5,2,‘+‘)

>>> 

7

>>> 

def func(x,y,z):
    if z==‘+‘:
        print x+y
    elif z==‘-‘:
        print x-y
    
print func(5,2,‘+‘)

>>> 

7

None

>>> 


4.参数名赋值

def func(x,y,z=0):
    print x,y,z
    
func(1,2)
func(y=22,x=11,z=3)

>>> 

1 2 0

11 22 3

>>> 


5.字典赋值和冗余参数

def func(name,age):
    print name,age
    
a={‘name‘:‘zhzhgo‘,‘age‘:25}
func(**a)

>>> 

zhzhgo 25

>>> 

def func(x,*args):
    print x,args
    
func(1,2,3,4)

>>> 

1 (2, 3, 4)

>>> 

def func(x,*args,**kw):
    print x,args,kw
    
func(1,2,3,4)
func(1,2,3,4,y=5,z=6)

>>> 

1 (2, 3, 4) {}

1 (2, 3, 4) {‘y‘: 5, ‘z‘: 6}

>>> 


6.__main__函数

加上if __name__==‘__main__‘:之后被其他程序import的时候就不会被执行了


7.lambda函数(匿名函数)

lambda函数是一种快速单行定义函数的方法,使代码更简洁,避免了不必要的函数体定义


func(x,y):

    return x*y

与上面正常函数等价的写法

func=lambda x,y:x*y

举例:阶乘实现

reduce((lambda x,y:x*y),range(1,5))



本文出自 “今日的努力,明日的成功!” 博客,请务必保留此出处http://zhzhgo.blog.51cto.com/10497096/1673943

python函数介绍

标签:python函数

原文地址:http://zhzhgo.blog.51cto.com/10497096/1673943

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!