python之函数

本文详细介绍了Python函数的基础概念,包括函数的定义、调用、参数传递方式及作用域等。通过实例讲解了不同类型的参数(如默认参数、可变参数、关键字参数)的应用场景和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数的定义

def 函数名(参数):

# 函数在执行过程中一旦遇到return时,函数就执行完毕,并将结果返回。
# 函数在执行过程中没有遇到return时,返回值为None.
def hello():
    return 'hello'
    print 'fentiao'


print hello()

这里写图片描述

调用函数

Python 内置了很多有用的函数,我们可以直接调用:
• abs()
• cmp()
• 数据类型转换函数:
int(), float(), str(),unicode(),bool()

函数返回值

# 函数返回多个值,实质上是返回一个元组touple,返回时元组可以省略括号,
# 函数调用接受返回值时,按照位置赋值给变量

def func(a, b):
    if not isinstance(a, int) or not isinstance(b, int):
        print 'error type'
    avg = sum((a, b)) / 2
    maxnum = max(a, b)
    return (avg, maxnum)


myavg, mymax = func(2, 9)
print myavg, mymax

这里写图片描述

函数的参数

1.默认参数

# 默认参数必须是不可变数据类型
def func1(a=None):
    if a is None:
        return ['END']
    a.append('END')
    return a


def func(li=[]):
    if len(li) == 0:
        return ['END']
    li.append('END')
    return li


print func([1, 2, 3])
print func()

这里写图片描述

2.可变参数

# 可变参数
# 定义函数时,形参可以为*args,使函数可以接收多个参数;
# 如果想将一个列表或者元组传入函数,也可以通过*li 或 *t,将参数传入函数里。
def fun(*args):
    print type(args)
    return max(args), min(args)


li = 87, 23, 34, 77, 2, 66
print fun(*li)

这里写图片描述

3.关键字参数

# 关键字参数

def enroll(name, age=22, **kwagrgs):
    print 'name:', name, '\nage:%d' % age
    for key, value in kwagrgs.items():
        print '%s:%s' % (key, value)
    print type(kwagrgs)


enroll('cici', myclass='linux', gender='male', feel='ll', )

这里写图片描述

3.总结

参数定义的顺序:必选参数 > 默认参数 > 可变参数 > 关键字参数
*args,可变参数,args接收的是touple
**kwargs,关键字参数,kwargs接收的是dic

# 默认参数,必选参数同时存在函数中存在时,一定将必选参数放在默认参数前面;
# 设置默认参数时,把变化大的参数放在前面,变化小的参数放在后面,变化小的参数可以设置为默认参数。
def enroll(name, age=22, myclass='linux'):
    print 'name:', name, '\t age:%d' % age, '\t class:', myclass


enroll('hehe')
enroll('xiaoxiao', 18)
enroll('cici', 24, 'all')

这里写图片描述

4.变量的作用域

b = 2               # 全局变量,在整个代码中生效
def a():
    global b        # 将局部变量转换为全局变量
    b = 1           # 局部变量,只在函数中生效
    print b
a()
print b

这里写图片描述

示例:

求绝对值的函数

def myabs(a):
    if isinstance(a, (int, float)):
        # print abs(a)
        return abs(a)
    else:
        print 'bad type for myabs()'


# a = input()
print myabs('ad')

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值