• Python自动化开发函数02


    Python自动化开发-函数02

    1.函数的全局变量与局部变量

      了解局部变量和全局变量的定义

          在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。当全局变量与局部变量同名时:在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。

    例1:全局变量定义

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    #全局变量定义:没有缩进并且在顶头定义的变量
    name="lucy"
    print(name)
    View Code

    代码运行结果:

    lucy

    例2:局部变量定义

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    #局部变量定义:有缩进并且没有顶头定义的变量
    def test01():
        name="lily"
        print(name)
    test01()
    View Code

    代码运行结果:

    lily 

    例3:局部变量和全局变量混合使用

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    # #全局变量定义:没有缩进并且在顶头定义的变量
    name="lucy"
    
    #局部变量定义:有缩进并且没有顶头定义的变量
    def test01():
        name="shiying"
        print(name)
    test01()
    print(name)
    View Code

    代码运行结果:

    shiying
    lucy

    例4:定义全局变量方法二:使用global定义全局变量

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    #全局变量定义方法二:使用global定义全局变量
    name="haxi"
    def test01():
        global name
        name="shiying"
        print(name)
    test01()
    print(name)
    View Code

    代码运行结果:

    shiying
    shiying

    需要注意:

      a.优先读取局部变量,能读取全局变量,无法对全局变量重新赋值 NAME=“fff”,

           b.如果函数中有global关键字,变量本质上就是全局的那个变量,可读取可赋值 NAME=“fff”

    例1:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    #全局变量定义方法二:使用global定义全局变量
    name="haxi"
    def test01():
        global name
        name="shiying"
        print(name)
    
    def test02():
        print(name)
    
    test01()
    print(name)
    View Code

    代码运行结果:

    shiying
    shiying

    例2:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    name=["lixian","wangjing"]
    def test02():
        print(name)
    
    #全局变量定义方法二:使用global定义全局变量
    
    def test01():
        global name
        name.append("lucy")
        print(name)
    
    test02()
    test01()
    print(name)
    View Code

    代码运行结果:

    ['lixian', 'wangjing']
    ['lixian', 'wangjing', 'lucy']
    ['lixian', 'wangjing', 'lucy']

    例3:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    NAME="lisa"
    def test03():
        name="liyong"
        print(name,NAME)
        def test04():
            name01="litian"
            print(name01)
        test04()
    
    test03()
    View Code

    代码运行结果:

    liyong lisa
    litian

      

    2.函数-前向引用

    例1:函数的前向引用

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    def bar():
        print("from bar")
    
    def foo():
        print("from foo")
        bar()
    
    foo()
    View Code

    代码运行结果:

    from foo
    from bar

    你不向我走来,我便向你走去。
  • 相关阅读:
    底层原理
    No.1
    No.3
    No.0
    php 10进制转62进制,可用于短网址生成
    php实现斐波那契数列
    五种常见的 PHP 设计模式
    PHP利用MySQL保存session
    HTTP相关
    如何优化tomcat配置(从内存、并发、缓存4个方面)优化
  • 原文地址:https://www.cnblogs.com/renyongbin/p/15743655.html
Copyright © 2020-2023  润新知