zoukankan      html  css  js  c++  java
  • 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

    你不向我走来,我便向你走去。
  • 相关阅读:
    C# 文件操作
    Wpf ListView展示风格
    PowerShell->>获取本地计算机的用户组和组成员
    MySQL->>innodb_autoinc_lock_mode参数控制auto_increment 插入数据时相关锁的模式
    SQL Server ->> 使用CROSS APPLY语句是遇到聚合函数中包含外部引用列时报错
    【转】Kettle发送邮件步骤遇到附件名是中文名变成乱码的问题解决办法
    SSIS ->> Excel Destination无法接受大于255个字符长度的字符字段
    SQL Server ->> 存储过程sp_describe_first_result_set解析T-SQL语句的结果集结构信息
    Windows ->> 解决Windows 10下面无法多用户同时远程桌面
    SQL Server ->> 查询添加XLOCK表提示不阻塞其他线程
  • 原文地址:https://www.cnblogs.com/renyongbin/p/15743655.html
Copyright © 2011-2022 走看看