PHP中高级工程师面试重点讲解视频课程
Go快速入门浅显易懂视频教程-基础篇
Go快速入门浅显易懂视频教程-中级篇
python的函数使用
阅读:406 分享次数:0

# 6.py
#code=utf-8
# python的函数使用

# 在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。下面是例子
def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

# 这里是调用函数,调用函数时,如果参数个数不对,Python解释器会自动检查出来,并抛出TypeError,如果可以最好对参数数量进行校验。函数可以返回多个值。函数可以同时返回多个值,但其实就是一个tuple。
print my_abs(3)

# 请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。
# 如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。
# return None可以简写为return。

# 空函数的使用 如果想定义一个什么事也不做的空函数,可以用pass语句:还可以用在其他语句里

def nop():
    pass

age = 20
if age <= 18:
    pass
else:
    print 'adult'


# 函数的参数问题
def addInfo(name, gender, age = 6, city = 'Beijing'):
    print 'name', name
    print 'gender', gender
    print 'age', age
    print 'city', city

addInfo('t1', '男')
addInfo('t2', '男', 8)


# 默认参数很有用,但使用不当,也会掉坑里。默认参数有个最大的坑,定义默认参数要牢记一点:默认参数必须指向不变对象!
def testList(l = []):
    l.append('end')
    print l

testList()
testList()

# python中可以让函数的参数变为可变参数,让参数前面加*就行了, 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple
def diffParam(*number):
    sum = 0
    for n in number:
        sum = sum + n
    return sum

print diffParam(2, 3, 4, 5)
print diffParam(2, 5)


# python里面的函数可以让参数变成关键词参数,关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
def importantParam(**num):
    print 'other', num

importantParam(t='3',ggg=33)

# 参数组合在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。
# *args是可变参数,args接收的是一个tuple;
# **kw是关键字参数,kw接收的是一个dict。

'''
3
adult
name t1
gender 男
age 6
city Beijing
name t2
gender 男
age 8
city Beijing
['end']
['end', 'end']
14
7
other {'ggg': 33, 't': '3'}
'''

感觉本站内容不错,读后有收获?