python函数:名称空间,函数嵌套,匿名函数,内置函数初识

函数

名称空间

  1. 内置空间

    存放一些Python写好的代码

  2. 全局空间

    在Py文件中顶头写的都是全局空间

  3. 局部空间

    函数体中写的内容就是局部空间

加载顺序:内置>全局>局部

取值顺序:局部>全局>内置

作用域

全局作用域:全局空间 + 内置空间

局部作用域:局部空间

可变数据类型添加不需要申请成为全局对象 lst.append()

查看当前作用域的内容:locals()

查看全局作用域的内容:globals()

局部空间中可以使用全局的变量,但是不能进行修改,如果要进行修改,可以在局部空间中使用的变量前面加global

a = 5
def func(): <!--当没有写调用语句的时候,下边的函数体就是一个代码块,不会产生任何效果-->
    a = 10  <!--这样是不行的,不能修改-->
    global a = 10 <!--这样才是正确的-->
func()  <!--当他调用的时候,函数里面的函数体才会执行-->

每个局部空间都是独立的

global只修改全局空间中的变量,如果全局空间中,没有这个变量就创建

nonlocal在局部空间内,修改离它最近的上一层,如果上一层没有就往上继续找,如果局部空间中找不到就报错

a = 10
def func():
    a = 3
    def abc1():
        def foo():
            nonlocal a
            a = a + 1
            print(a)  # 4
            print(locals())  # 查看foo空间中有没有开辟a的空间
        foo()
    abc1()
    print(locals())      # 查看func空间中a的值有没有改变
func()

函数嵌套

  1. 交叉嵌套

    def func():
        pass
    def foo():
        func()
        pass
    
  2. 嵌套

匿名函数

一句话函数

lambda 形参:返回值

匿名函数的名字就叫做:lambda
lambda 和 def 是一样的都是关键字
冒号前边的是形参
冒号后边的是返回值
匿名函数的返回值,只能返回一个数据类型,如果想要返回多个就用元组包起来

内置函数

lst = [1,2,3,4,5,0] 
print(all(lst)) #只要有一个为假就为假
lst = [1,2,0,3,4,5,0]
print(any(lst)) #只要有一个为真就为真
s = "女儿你看的懂吗?"
print(bytes(s,encoding="utf-8")) #要编码的对象,以什么类型编码
def func():
    pass
print(callable(func)) #切忌里面输入的值是函数的地址,不能是函数的调用
print(divmod(9,2)) <!--结果是(,余数)-->
print(repr("123"))
print(repr(123))
round(16.6666666,2) <!--保留后两位-->
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值