Python学习笔记基础篇(四)初始函数

函数:函数是一段完成某个具体任务并可以让程序员复用的代码。
函数的定义:def 函数名([参数列表]):
            [函数注释]
            [语句块,也称函数体]
            [return 语句]
举个例子:两个数相加。
def fun(a, b):
    return a + b
print("a + b = ",fun(4 ,5))

函数参数:形参,实参。
形参:在定义函数时,函数名括号中的参数为形式参数,简称形参。
实参:在调用函数时,函数名括号中的参数为实际参数,简称实参。
注:在调用函数时,实参的个数和位置必须和形参一 一对应。

# def fun(a, b):
#     return a + b
#
# print("a + b = ",fun(4 ,5))

# 位置参数
def myfun(s, t, o):
    return (o, t, s)
# 位置参数
print("".join(myfun("干嘛!","在","你")))
# 关键字参数
print("".join(myfun(o="他",t="在",s="干嘛!")))
# 默认参数
def myfun1(s, t, o = "她"):
    return (o, t, s)
print("".join(myfun1("干嘛!","在")))

# 收集参数
def myfun2(*args):
    print("有{}个参数。".format(len(args)))
    print("第二个参数是:{}".format(args[1]))
myfun2("11","22","33")

# 作用域
# 局部作用域:如果一个变量定义在一个函数里面,那么它的作用域就仅限于函数中,称之为局部变量。
# 全局作用域:如果是在任何函数的外部去定义一个变量,那么它的作用域就是全局的,称之为全局变量。
# 全局变量可以在函数的内部访问到但是却无法在函数中去修改它的值,因为一旦试图对其进行赋值操作,python创建一个同名的局部变量进行覆盖。

# global语句
# 修改全局变量的值(不提倡)
x = 800
def myfun3():
    global x
    x = 520
    print(x)
myfun3()
print(x)

# 嵌套函数
# 在一个函数体内定义的函数,被称为嵌套函数。
def funA():
    x = 520
    def funB():
        x = 880
        print("IN funB, x =",x)
    funB()
    print("IN funA, x =",x)

funA()

# nonlocal语句
# 告诉Python解释器这是一个非局部变量,从而可以在内部函数中访问并修改这个非局部变量。

# LEGB规则

# 闭包
# 闭包,又称闭包函数,和普通的嵌套函数类似,闭包中包含外部函数和内部函数,不同之处是闭包中外部函数返回的不是一个值,而是内部函数,即闭包对象;通常,该返回的函数会被赋值给一个变量,继而被调用执行。
def power(exp):
    def exp_of(base):
        return base ** exp
    return exp_of
square = power(2)
cube = power(3)
square(2)


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值