局部变量和全局变量

文章探讨了Python中函数内的局部变量和全局变量的区别,强调了局部变量仅在函数内部有效,而全局变量在整个程序中都可访问。规则包括:1)局部变量和全局变量虽可同名但不等价;2)未在函数内创建的组合数据类型如列表被视为全局变量。通过实例解释了如何使用`.append()`方法修改全局列表。
摘要由CSDN通过智能技术生成

n,s = 10,100                     ------>n和s是全局变量

def fact(n):

    s = 1                            ------>fact()函数中的n和s是局部变量

    for i in range(1,n+1):

        s *= i

    return s

print(fact(n),s)                 ------->n和s是全局变量

运行结果

>>>

3628800 100

规则1:局部变量和全局变量是不同变量

-局部变量是函数内部的占位符,与全局变量可能重名但不同

-函数运算结束后,局部变量被释放

-可以使用global保留字在函数内部使用全局变量

规则2:局部变量为组合数据类型且未创建,等同于全局变量

.append()是指在列表末尾添加一个元素

ls.append(a)这个函数本身的意思就是在ls列表中增加一个元素

也就是说即使在我们定义的这个函数中没有使用global声明,说这个ls变量是全局变量,但是经过这个函数的调用我们已经修改了这个函数变量ls的值,增加了一个字符串C

、如果我们在函数定义中使用了一个组合数据类型,如果这个组合数据类型,比如这个列表ls,如果在函数内部被真实创建,他本身的名字又等同于全局变量,那么这段函数就是在处理这个全局变量。

如果一个组合数据类型在函数中被真实创建了,那么他就是这个函数的局部变量了,所以如果是局部变量,那么在函数运行之后这个变量就会被释放,它就不存在了,他跟外部的全局变量ls是不同的变量,那么如果这个组合类型在函数内部没有被真实的创建他的名字又与全局变量相同,那他就是全局变量。

其实组合数据类型在python中是由指针来实现的,所以在函数中如果没有真实创建组合数据类型,它使用的变量呢是使用的指针,而指针指的是外部的全局变量,所以你去修改这个指针对应的内容就修改了全局变量,但这是相对来讲比较复杂的理解,如果不知道指针是什么就根据讲的两条规则来理解她

使用规则

-基本数据类型,无论是否重名,局部变量与全部变量不同

-可以通过global保留字在函数内部声明全局变量

-组合数据类型,如果局部变量未真实创建,则是全局变量

.append() 是一个用于列表(list)的方法,用于在列表末尾添加一个元素。

当你对一个列表使用 .append() 方法时,你可以将一个新的元素作为参数传递给它,该元素将被添加到列表的末尾。比如:

复制代码

my_list = [1, 2, 3]my_list.append(4)
print(my_list)

输出:

复制代码

[1, 2, 3, 4]

在这个例子中,我们创建了一个名为 my_list 的列表,并将一些整数添加到列表中。然后,我们使用 .append() 方法将数字 4 添加到了列表的末尾。最后,我们打印出了更新后的列表 [1, 2, 3, 4]

.append() 方法可以用于任何类型的对象,不仅限于整数。你可以将字符串、浮点数、布尔值或其他任何对象添加到列表中。在使用 .append() 方法时,注意元素的顺序将会按照它们被添加到列表的顺序进行存储。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值