python十三:函数

python函数定义方法

def fo(x):
    """ 这是一个函数的注释 """
    if x > 1:
        x -= 1
    else:
        x += 1
    return x

def 定义函数的关键字
fo 函数名字
() 括号内,可定义形参
return 定义返回值
# python中的函数返回值,可以理解去超市买东西,可以逛一圈超市,什么都不买出来(函数返回None),
# 也可以买一件东西(返回一个值(object)),也可以买很多东西(返回很多值(元祖))

def returnNone():
    print("returnOne")

def returnOne():
    print("returnOne")
    return "one"

def returnMuch():
    print("returnMuch")
    return "xiong","ba","tian","xia"

v1 = returnNone()
v2 = returnOne()
v3 = returnMuch()
print(v1)
print(v2)
print(v3)
def printParam(x, y, z):
    print(x)
    print(y)
    print(z)

# 位置参数
printParam(4,5,6)
# 关键字参数
printParam(z=4,y=5,x=6)
#  arg="default"是默认参数,默认值是"default"
def defaultPara(x, arg="default"):
    print(x)
    print(arg)

defaultPara("tianxia")
defaultPara("tianxia", arg="heping")

# 参数组 **字典 *列表
def paraGroup(x, *args):
    print(x)
    print(args)

paraGroup("tianx")
#  不加*号,会把['x','t','h','h']当成元素的一个元素
paraGroup("tianx", ['x','t','h','h'])

# 加上*号,可以理解成解释器遍历列表,把列表中每个元素加到arg中
paraGroup("tianx", *['x','t','h','h'])

def paraGroupTow(x, **kwargs):
    print(x)
    print(kwargs)

paraGroupTow(1, name="张飞", sex="男")

# * 和 ** 一起使用, 个人感觉 kw:是kew word的缩写
def paraGroupMul(x, *args, **kwargs):
    print(x)
    print(args)
    print(kwargs)

paraGroupMul("xia",1,2,3,4,5,6,name="张飞", sex="男")
paraGroupMul("xia",*(1,2,3,4,5,6),**{"xia":"张飞", "sex":"男"})

不同于java, python函数之间可以嵌套


# 不同于java, 定义的函数,没有先后顺序区分
def guanyu():
    name = "关羽"
    things = name + "刀斩" + chezhou() # 可以调用,后面定义的函数
    print(things)

def chezhou():
    name = "车胄"
    return name

guanyu()



猜你喜欢

转载自blog.csdn.net/m0_37564426/article/details/80997817
今日推荐