Python - 全局变量,局部变量,外层变量及使用反射处理依赖,反射反射反射反射反射反射反射反射

反射处理依赖

setattr(GetCookies,’cookies’,res)
getattr(GetCookies,’cookies')


class GetCookies:
    ‘’’存储和读取cookies’''
    cookies=None


from xxx import GetCookies
class Test01:

    def login(self):
    ‘’’这个方法得到cookies放到GetCookies里’''
    res = requests.request(…).cookie
    setattr(GetCookies,’cookies’,res)

    def get_list(self):
    ‘’’这个方法从GetCookies获取cookies的值’’'
    res = requests.request(…,cookies=getattr(GetCookies,’cookies'))

 全局变量和局部变量


    全局变量:
        1.在函数体和类定义之外声明的变量。作用域为定义的模块,从定义位置开始到直到模块结束。
        2.全局变量降低了函数的通用型和可读性,应用时尽量避免使用。
        3.全局变量一般作为常量使用。
        4.函数内要改变“全局变量的值”,“必须”用“global”声明一下。

    局部变量:
        1.在函数体内声明的变量,包含形式参数。
        2.局部变量的引用比全局变量的快,优先考虑使用。
        3.如果局部变量和全局变量重名,则在函数内隐藏全部变量,只使用同名的全局变量。

    外层变量:
        1.在嵌套函数中的外层声明的变量
            def ceshi():
                a = 100
                def test01():
                    nonlocal a
                    a+=100
        
                print(a)
                test01()
                print(a)

            ceshi()
            100
            200
            
     



a = 100 #全局变量

def qjbl():
    '''区分全局变量和局部变量'''
    global a    #使用global声明全局变量,代表我要用全局变量a
    b = 10    #b为局部变量,因为他在函数体内声明的
    print(a)
    a +=100
    print(a)

qjbl()

100
200

··························

变量寻找顺序:

people = “第三位受害者”

def test01():
    people = "第二位受害者"
    def test02():
        people = "第一位受害者"
   
有一找一,无一找二,无二找三


    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秦朝胖子得加钱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值