• Python自学笔记(12day)


    函数的解释

    a=1
    def func():
        a+=1
        print(a)
    func()
    
    #func():意思就是,我调用函数,所得到什么结果?然后去调用的函数中去找。
    #:结果:2
    a=1
    def func():
        a+=1
        return a
    func()
    
    #调用函数,得到a的值2,此时func()结果为2,但是没有打印,所以啥都没有,加上一个#print(),就好了

    (1)当函数形参含有默认参数为可变数据类型时,每次调用同一个参数.

    def func(l=[]):
        l.append(l)
        print(l)
    func()
    func()
    func()
    
    
    #输出:[1],[1,1],[1,1,1]

    (2)函数的命名空间:

      (1)全局命名空间 :就是非函数内部的命名空间

      (2)局部命名空间:函数内部的命名空间

      (3)内置命名空间:解释器自带的

    注意:1.  全局变量不可以使用局部变量

       2.  局部变量可以使用去那句变量,但是不可以使用全局变量中大的不可变数据类型,如果想用,需要再程序开始时加上一个global

       3.  各函数的局部变量之间相互独立,互补影响。

    a=1
    def  func():
        a=2
    print(func())
    
    #输出:1,局部变量不可用全局变量中不可变的数据类型。
    a=1
    def func():
        global a      #我将要对a进行修改
        a=2
    print(func())
    
    #输出:2

    一般来说不建议使用global,因为当代码较多时,容易出现出现问题,那想要再局部中使用a,又想要修改a的值如何做到?

    a=1
    def func(a):
        a=2
        return a
    a=func(a)
    print(a)

    (3)   对于全局作用域中查找命名变量的名字用global()

      对于本地作用域中查找名字用locals()

    a=1
    b=2
    def fun(c):
        x="aaaa"
        y="bbbb"
        print(locals())
    fun(c)
    print(gloabl())
    
    #输出:{"x":"aaaa","y":"bbbb"}
     #           {"a":1,"b":2}    
  • 相关阅读:
    kvm虚拟迁移(5)
    kvm虚拟化网络管理(4)
    计算系数
    排列组合
    错排
    加分二叉树
    皇宫看守
    战略游戏
    数字转换
    JDK8 HashMap源码分析
  • 原文地址:https://www.cnblogs.com/baobaoran/p/9665081.html
Copyright © 2020-2023  润新知