码迷,mamicode.com
首页 > 其他好文 > 详细

pythin 基础之函数01

时间:2017-10-24 22:32:08      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:函数   python   

一、函数定义

#
def function1():
    function_suite

二、函数调用

#
def function3():
    print "测试函数"
function3()

运行结果:
测试函数

三、函数返回值

#
def function2():
    print "测试函数"
    return True 
rr = function2() # 测试函数返回值
print rr

运行结果:
测试函数
True
1、函数遇到return则不继续执行
2、返回值可传递给调用者
3、return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None

四、参数传递

#
def function4(a):   #  定义函数时写的参数叫形参
    print "测试参数传递 %s" % a
    return True
rr = function4("test")  # 调用函数时写的参数内容叫实参数
print rr

#如果有多个实参,出拿地参数时必须以正确的顺序传入函数。调用时的数量必须和声明时的一样。

五、关键字参数

#
def function4(a, b):
    print a, b
function4(b = "hello", a = "world")

运行结果:
world hello
1、指定形参传实参时可以不按照顺序写
2、使用关键字参数允许函数调用时参数的顺序与声明时不一致

六、缺省参数

#
def function4(a, b="hello"):
    print a, b
function4("abd")
function4("abc", "edf")

运行结果:
abd hello
abc edf
1、如果没有为形参传实际参数,则参数使用默认值。
2、该种情况下,指定默认值得参数一定要写在后面,不然会报错。

七、动态参数1(不定长参数)

#
def function(*a):  # 可以和普通参数一起声明
    print a, type(a)
function(1,2,3,"a","b","c")

#运行结果
#(1, 2, 3, ‘a‘, ‘b‘, ‘c‘) <type ‘tuple‘>

1、函数可接受任意多个参数,函数默认会把所有参数放在一个元组中,每个参数作为元组的一个元素
2、缺省参数的值如果没有传入,则被认为是默认值

八、动态参数2

#
def function(**a):
    print a, type(a)
function(AA = "aa", BB = "bb")

#运行结果
#{‘AA‘: ‘aa‘, ‘BB‘: ‘bb‘} <type ‘dict‘>

1、传入的参数必须以key = value的形式传递,可传递任意多个,函数会把传进来的参数放在字典中保存,每个参数作为字典的一组元素

九、动态函数3

#
def function(k, *a, **b):
    print k
    print a, type(a)
    print b,type(b)
function(1,2,3,"a","b",("hello", "world"), AA = "aa", BB = "bb")

#运行结果:
# 1
# (2, 3, ‘a‘, ‘b‘, (‘hello‘, ‘world‘)) <type ‘tuple‘>
# {‘AA‘: ‘aa‘, ‘BB‘: ‘bb‘} <type ‘dict‘>

1、此种情况任何参数都可以传递,但是如果有普通的形参(k),传递的第一个参数一定会给k。
2、此种情况 **b一定要放在最后,*a放在**b之前


本文出自 “学无止境” 博客,请务必保留此出处http://20120809.blog.51cto.com/10893237/1975699

pythin 基础之函数01

标签:函数   python   

原文地址:http://20120809.blog.51cto.com/10893237/1975699

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