Python变量

Python中变量类型:局部变量全局变量类变量对象变量外部变量

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

Python中变量类型:

  局部变量

  全局变量

  类变量

  对象变量

  外部变量

#encoding:UTF-8

#类本身拥有自己的类变量(保存在内存),当一个TestClass类的对象被构造时,
#会将当前类变量拷贝一份给这个对象,当前类变量的值是多少,
#这个对象拷贝得到的类变量的值就是多少;而且,通过对象来修改类变量,
#并不会影响其他对象的类变量的值,因为大家都有各自的副本,
#更不会影响类本身所拥有的那个类变量的值;
#只有类自己才能改变类本身拥有的类变量的值 

class TestClass:
    val1 = 100    #类变量

    def __init__(self):
        self.val2 = 200      #对象变量

        val3 = 300
        
        print (self.val1)     #通过类对象调用类变量    ok
        print (TestClass.val1)#通过类调用类变量ok
        
        print (self.val2)     #通过类对象调用对象变量ok
        #print (TestClass.val2)#通过类调用对象变量erro

        #print (self.val3) #erro


if __name__ == "__main__":
    object = TestClass()
    #print (object.val3) #erro


val4 = 400   # 全局变量
def fun1():
    #global val4     #若要修改全局变量的值需要使用global关键字
    #val4 = 500   
    #print (val4)
    
    print (val4) #ok  #若全局变量不在=的左边可以不需要global关键字
    a = val4
    print (a)

    #val4 = 500   #erro
    #print (val4)

fun1()

def fun2():
    aa = [600]   #函数外部变量
    cc = 600
    def fun3():
        #global cc   # 不能使用global
        print (cc)
        #cc = 800    #erro 注意无法修改外部变量
        #print (cc)
        aa[0] += 10
        print (aa[0])
        bb = 700   
        print (bb)
    return fun3

fun2()()

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120225.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javascript动画效果代码html_javascript代码写在哪里

    javascript动画效果代码html_javascript代码写在哪里javascript缓动动画的js代码

    2022年10月9日
    1
  • navicat 15 激活码 3月最新注册码

    navicat 15 激活码 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    51
  • mongodb access control is not enabled for the database

    mongodb access control is not enabled for the databasemongodb access control is not enabled for the database

    2022年4月25日
    65
  • 学Python必看!今年最火的五大Python框架

    学Python必看!今年最火的五大Python框架由于简单的学习曲线、越来越快的应用程序以及机器学习辅助功能等附加优势,Python已经成了IT行业的流行词…由于简单的学习曲线、越来越快的应用程序以及机器学习辅助功能等附加优势,Python已经成了IT行业的流行词。到目前为止,几乎每个IT工程师和开发人员都必须了解Python的强度和功能。Python本身是一种编程语言,也许你已经掌握了这种令人惊叹的编程语言的一些基本编程技能,并且正在寻找…

    2022年6月10日
    42
  • 宋宝华: 纪念金庸先生——程序员的武侠世界

    在漫天的星河中,有这样一颗星,他朴实无华,却又熠熠生辉,照亮了无数人的人生。他就是金庸先生。随着一代大侠的驾鹤西去,“飞雪连天射白鹿,笑书神侠倚碧鸳”,成为绝响。 每一个…

    2022年4月17日
    36
  • 用户态与内核态之间切换详解[通俗易懂]

    用户态与内核态之间切换详解[通俗易懂]用户态切换到内核态CPU中有一个标志字段,标志着线程的运行状态。用户态和内核态对应着不同的值,用户态为3,内核态为0.每个线程都对应着一个用户栈和内核栈,分别用来执行用户方法和内核方法。用户方法就是普通的操作。内核方法就是访问磁盘、内存分配、网卡、声卡等敏感操作。当用户尝试调用内核方法的时候,就会发生用户态切换到内核态的转变。切换流程:1、每个线程都对应这一个TCB,TCB中有一个TSS字段,存储着线程对应的内核栈的地址,也就是内核栈的栈顶指针。2、因为从用户态切换到内核态时,需要将用户态.

    2022年9月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号