Python基础:函数的介绍及应用

# 函数的定义
def firstFun():
    print("----------------------")
    print("剑来")
    print("----------------------")


# 函数的嵌套
def secondFun():
    print("**********************")
    firstFun()
    print("**********************")


# 定义时 a b为形参
def test(a, b):
    return a + b


# 函数的调用
firstFun()
secondFun()
# 调用时 1 2 为实参
print(test(1, 2))
print("---------------------------------------------------")


# 一个函数返回多个数据  默认返回元组
def returnMoreDatas():
    return 1, 2


print(returnMoreDatas())


# 也可以返回列表或者字典
def returnMoreNames():
    return ["张学友", "刘德华"]


def returnDirctory():
    return {"name": "张学友", "age": 16}


print(returnMoreNames())
print(returnDirctory())

print("---------------------------------------------------")


# 缺省参数 调用函数时,缺省参数的值如果没有传入,则取默认值。
def printinfo(name, age=35):
    # 打印任何传入的字符串
    print("name: %s" % name)
    print("age %d" % age)


# 调用printinfo函数
printinfo(name="miki")  # 在函数执行过程中 age去默认值35
printinfo(age=9, name="miki")


# 不定长参数 语法如下:
# def functionname([formal_args,] *args, **kwargs):
#    """函数_文档字符串"""
#    function_suite
#    return [expression]
def fun(a, b, *args, **kwargs):
    print("a =%d" % a)
    print("b =%d" % b)
    print("args:")
    print(args)
    print("kwargs: ")
    for key, value in kwargs.items():
        print("key=%s" % value)


# 缺省参数在*args后面 **kwargs之前
def sum_nums_3(a, *args, b=22, c=33, **kwargs):
    print(a)
    print(b)
    print(c)
    print(args)
    print(kwargs)


# 拆包 对返回的数据直接拆包
# 需要拆的数据的个数要与变量的个数相同,否则程序会异常
# 除了对元组拆包之外,还可以对列表、字典等拆包
def get_my_info():
    high = 178
    weight = 100
    age = 18
    return high, weight, age


my_high, my_weight, my_age = get_my_info()
print(my_high)
print(my_weight)
print(my_age)

# 引用 在python中,值是靠引用来传递来的。
a = [1, 2]
b = a
a.append(3)
print(b)  # [1,2,3]

# 用id()来判断变量的引用地址是否相同
print(id(a))
print(id(b))
print("*********************")

 

posted @ 2018-08-12 21:27  青衫仗剑  阅读(321)  评论(0编辑  收藏  举报