区分局部变量和全局变量

using System;
using System.IO;

class loco
{
    public int x;//全局变量

    public void count_x()
    {
        int x;//局部变量

        Console.WriteLine("In count_x method.Printing x values...");
        for (x =0;x<10;x++)
        {
            Console.WriteLine("{0} -", x);
        }

        Console.WriteLine("\nDone looping. x = {0}", x);
        Console.WriteLine("The data member x's value: {0}", this.x);//这个x为数据成员,而不是局部变量
        Console.WriteLine("At the end of count_x ,methold.");

    }

}

class CircleApp
{
    public static void Main()
    {
        loco Locals = new loco();

        int x = 999;//局部变量
        Locals.x = 555;

        Console.WriteLine("\nIn Main(),x = {0}", x);
        Console.WriteLine("Locals.x = {0}", Locals.x);
        Console.WriteLine("Calling method");
        Locals.count_x();
        Console.WriteLine("\nBack From Method");
        Console.WriteLine("Locals.x = {0}", Locals.x);
        Console.WriteLine("In Main(), x = {0}", x);
    }

}

在类里的是全局变量,在方法里的是局部变量 

在Python中,全局变量局部变量的主要区别在于它们的作用域和生命周期: 1. **作用域**[^1]: - **全局变量**(global)在整个程序中有效,无论是在哪个函数或代码块中定义的,只要不在该函数内重新定义相同的名称,就可以访问它。 - **局部变量**(local)只在其所在的函数或代码块内部可见。如果函数内部有同名的局部变量,那么这个局部变量会遮蔽外部的全局变量。 2. **生命周期**[^2]: - **全局变量**在程序开始执行时创建,直到程序结束才销毁。 - **局部变量**则随着函数调用的开始而创建,在函数返回后自动销毁。 **区分方法**: - 当你在函数内部尝试访问某个变量,如果没有明确指定其作用域(如`global`关键字),那么Python默认查找的是局部变量,只有当找不到时才会去全局作用域寻找。 - 使用`global`关键字可以显式地告知Python你要操作的是全局变量,避免因为作用域覆盖导致的意外结果。 **示例**: ```python # 定义全局变量 global_var = "I'm global" def local_test(): # 定义局部变量,这里不会影响全局变量 local_var = "I'm local" # 如果不使用global,这将操作局部变量 print(local_var) # 输出:"I'm local" # 使用global来操作全局变量 global global_var global_var += " (from within function)" print(global_var) # 输出:"I'm global (from within function)" local_test() print(global_var) # 输出:"I'm global (from within function)" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值