首页 > 编程语言 > 详细

Python-函数

时间:2021-01-29 09:55:07      阅读:23      评论:0      收藏:0      [点我收藏+]

创建函数

# def创建函数
def MyFirstFunction():
    print(这是我创建的第一个函数!)
    print(我表示很激动~~~~)
    print(感谢TVB,CCTV)

# 调用函数
MyFirstFunction()

# 函数的参数/形参和实参
def MySecondFunction(name):
    函数定义过程中的name是叫形参
    # 因为他只是一个形式,表示占据一个参数位置
    print(name + ,我爱你!)
    print(传递进来的 + name + 叫做实参,因为他是具体的参数值!)

MySecondFunction(yangyang)

def add(num1,num2):
    result = num1 + num2
    print(result)

add(1,5)

# 函数的返回值
def add1(num1,num2):
    return (num1 + num2)

print(add1(3,8))

# 参数文档:function.__doc__
print(MySecondFunction.__doc__)

# 关键字参数:通过参数名指定想要赋值的参数
def saysame(name,words):
    print(name + -> + words)

saysame(yangyang, 未来可期)
saysame(words = 未来可期,name = yangyang)

# 默认参数:定义了默认值的参数
def saysome(name = yangyang,words = 未来可期):
    print(name + -> + words)
saysome()
saysome(qianxi, )
saysome(qianxi, respect)

# 收集参数:*
def test(*params):
    print(参数的长度是:, len(params))
    print(第二个参数是:, params[1])
test(1, 小甲鱼, 3.14, 5, 8, 3)
# 收集参数后面如果要加关键字参数,建议设一个默认参数,程序不容易报错
def test1(*params, exp = 7):
    print(参数的长度是:, len(params), exp)
    print(第二个参数是:, params[1])
test1(1, 小甲鱼, 3.14, 5, 8, 3)

# 全局变量和局部变量

def discounts(price, rate): #局部变量
    final_price = price * rate
    return final_price
old_price = float(input(请输入原价:)) #全局变量
rate = float(input(请输入折扣:))
new_price = discounts(old_price, rate)
print(打折后的价格是:, new_price)


# global:在函数内修改全局变量
count = 5
def MyFun():
    global count #修改全局变量count
    count = 10
    print(count)
MyFun()
print(count)

# 内嵌函数,内部函数整个作用域都在外部函数之内
def fun1():
    print(fun1正在被调用。。。。)
    def fun2():
        print(fun2正在被调用。。。。)
    fun2()
fun1()

# 闭包:在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。
def FunX(x):
    def FunY(y):
        return x * y
    return FunY
i = FunX(8)
print(type(i))
print(i(5))
print(FunX(8)(5))

# lambda:匿名函数
def ds(x):
    return 2 * x + 1
print(ds(5))
g = lambda x: 2 * x + 1
print(g(5))
f = lambda x, y : x + y
print(f(3,9))

# filter(function or None,iterable):过滤器
# 1.None:过滤非true的内容
print(list(filter(None, [1, 0, 5, False, True])))
# 2.筛选出迭代器中符合函数条件的数据
def odd(x):
    return x % 2
temp = range(20)
print(list(filter(odd, temp)))
print(list(filter(lambda x : x % 2, temp)))

# map(function,iterable):映射,将可迭代的序列中的每个元素作为函数的参数进行运算加工,返回所有加工后的元素组成新序列
print(list(map(lambda x : x * 2, range(5, 10))))

 

Python-函数

原文:https://www.cnblogs.com/Sinimy/p/14342341.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!