迭代器生成器和模块

迭代器、生成器和模块
摘要由CSDN通过智能技术生成

迭代器、生成器和模块

----------------------变量作用域

----------------------迭代器

----------------------生成器

----------------------模块

----------------------包

一、变量作用域

# 1.变量作用域  -  变量可以使用的范围
# 根据变量作用域的不同可以将变量分为:全局变量、局部变量

# 1.全局变量
'''
没有定义在函数或者类中的变量都是全局变量,全局变量的作用域是从定义开始到程序结束。
全局变量默认保存在全局栈区间,在程序结束后才会自动销毁。
'''
# a是全局变量
a = 10
print(f'外部使用{
     a}')

# b和x也是全局变量,任何地方都可以使用
for x in range(5):
    b = 20
    print(f'循环中使用{
     a}')

def func1():
    print(f'函数中使用{
     a}')


# 2.局部变量
'''
定义在函数中的变量是局部变量,局部变量的作用域是从定义开始到函数结束。
局部变量默认保存在函数对应的临时栈区间中;函数对应的临时栈区间是开始调用函数的时候创建,函数调用结束会自动销毁。
'''
# c是局部变量,只能在函数内部使用
# 形参d也是局部变量
def func2(d):
    c = 30
    print(f'在函数内部使用{
     c}')

func2(1)
# print(f'函数外部不可使用{c}')   # 外部使用会报错
# print(f'函数外部不可使用{d}')   # 外部使用会报错


# 3.global关键字的作用
'''
global只能在函数体中使用,用来改变函数中变量的存储方式(让局部变量保存到全局栈区间中)
1)在函数中定义全局变量,需要先用global进行申明
2)如果要在函数中修改全局变量的值,需要先用global进行申明,否则不会修改全局变量的值而是创建一个新的局部变量
'''
# 全局变量m
m = 100

# 在函数内部可以使用全局变量的值,但是不可以修改全局变量的值,若进行修改只是在临时栈区间中新创建了一个局部变量,想要修改的话需要用global进行说明
def func3():
    global e
    e = 40

    global m
    m = 200
    print(f'函数内部{
     m}')  # 200

func3()
print(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值