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

Python学习笔记——函数

时间:2016-08-12 19:44:00      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

1.定义函数:

  在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。如果一个函数什么也不做,需要用到pass语句(C,Java中可以直接不写代码,python必须要写pass占位,否则报错)。

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

 2.参数检查:

  isinstance(object, classinfo),其第一个参数为对象,第二个为类型名或类型名的一个列表。其返回值为布尔型。若对象的类型与参数二的类型相同则返回True。若参数二为一个元组,则若对象类型与元组中类型名之一相同即返回True。

def my_abs(x):
    if not isinstance(x, (int, float)):
        raise TypeError(‘bad operand type‘)
    if x >= 0:
        return x
    else:
        return -x

 3.返回多个值:

  python参数可以返回多个值,实质上是返回一个元组。多个变量可以同时接收一个元组,按位置赋值。

 4. 关于参数:

  4.1 默认参数:

  python的函数参数可以设置一个默认值,当不传入相应的参数时,就按默认值处理。如下面的示例打印的都是25。

def power(x, n=2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s
print power(5)
print power(5, 2)

   有多个默认参数时,可以按顺序传入,也可以使用“参数名=参数值”的形式传递。

def enroll(name, gender, age=6, city=‘Beijing‘):
    print ‘name:‘, name
    print ‘gender:‘, gender
    print ‘age:‘, age
    print ‘city:‘, city
enroll(‘Adam‘, ‘M‘, city = ‘Chengdu‘)
enroll(‘Tom‘, ‘M‘, 7)

   默认参数值一般来说为不可变对象,否则默认参数值可能会随着调用而改变。例如:

def add_end(L=[]):
    L.append(‘END‘)
    return L
print add_end(),
print add_end()

   输出是[‘END‘] [‘END‘, ‘END‘]。

  4.2 可变参数:

  可变参数就是传入的参数个数是可变的,其实也可以通过列表或元组来实现。可变参数如下所示:

def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum
print calc(1, 2, 3)
print calc()

   如果要传入的参数存储在列表中,可以 calc(*listname) 。

  4.3  关键字参数:

  关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。关键字参数前面加**,示例如下:

def person(name, age, **kw):
    print ‘name:‘, name, ‘age:‘, age, ‘other:‘, kw

print person(‘Bob‘, 35, city=‘Beijing‘)
kw = {‘city‘: ‘Beijing‘, ‘job‘: ‘Engineer‘} print person(‘Jack‘, 24, **kw)

   4.4 参数组合:

  4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。

def func(a, b, c=0, *args, **kw):
    print ‘a =‘, a, ‘b =‘, b, ‘c =‘, c, ‘args =‘, args, ‘kw =‘, kw
args = (1, 2, 3, 4)
kw = {‘x‘: 99}
print func(*args, **kw)  #对于任意函数,都可以通过func(*args, **kw)的形式调用它
# 打印结果:a = 1 b = 2 c = 3 args = (4,) kw = {‘x‘: 99}

 

 

  

Python学习笔记——函数

标签:

原文地址:http://www.cnblogs.com/airzsblog/p/5763682.html

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