范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

对python中class与变量的使用方法详解

  python中的变量定义是很灵活的,很容易搞混淆,特别是对于class的变量的定义,如何定义使用类里的变量是我们维护代码和保证代码稳定性的关键。 global_variable_1 = "global_variable"   class MyClass():   class_var_1 = "class_val_1" # define class variable here   def __init__(self, param):     self.object_var_1 = param # define object variable here     self.object_var_2 = "object_val_2" # define object variable here     self.object_func3()     def object_func1(self, param):     local_var_1 = param # define lcoal variable here     local_var_2 = "local_val_2" # define local variable here     self.internal_var_1 = "internal_val_1" # define internal variable here     print(local_var_1) # we can use local variable of current here     print(local_var_2) # we can use local variable of current here     print(MyClass.class_var_1) # we can use class variable here, but you have using class name ass prefix     print(self.class_var_1) # we can use class variable as object variable here     print(self.object_var_1) # we can use object variable here     print(self.object_var_2) # we can use object variable here     print(self.internal_var_1) # we can use internal variable here     #print(local_var_3) # we can"t use local variable in another function     print(global_variable_1) # we can use global variable here     def object_func2(self, param="func_val_1"):     local_var_3 = param # define local variable here     print(local_var_3) # we can use lcoal variable here     print(self.internal_var_1) # we can use internal variable defined in class_func1, but you have to call class_func1 first     print(MyClass.class_var_1) # we can use class variable here, but you have using class name ass prefix     print(self.class_var_1) # we can class variable here     print(self.object_var_1) # we can use object variable here     print(self.object_var_2) # we can use object variable here     print(global_variable_1) # we can use global variable here       def object_func3(self, param="func_val_1"):     self.object_var_3 = param # because this function called in construction function, so this is defined as object variable, not internal variable     self.object_var_4 = "object_val_4" # because this function called in construction function, so this is defined as object variable, not internal variable     print(global_variable_1) # we can use global variable here      # define class function   def class_func4():     print(MyClass.class_var_1)     print(global_variable_1) # we can use global variable here   if __name__ == "__main__":   myObject = MyClass("object_val_1")   print(MyClass.class_var_1) # we can use class variable directly here   #print(MyClass.object_var_1) # we can"t use object variable here   print(myObject.object_var_1) # we can use object variable here   print(myObject.object_var_2) # we can use object variable here   print(myObject.object_var_3) # we can use object variable here   print(myObject.object_var_4) # we can use object variable here   #print(myObject.internal_var_1) # we can"t use internal variable as object variable here   MyClass.class_func4() # we can use class function here   #MyClass.object_func2(myObject, "local_var_3") # internal variable can"t be used in this function   myObject.object_func1("local_var_1") # call first function   myObject.object_func2("local_var_3") # call second function   print(global_variable_1) # we can use global variable here
  枚举了各种情况,没有办法全部枚举,但大部分情况应该都已经包含了。
  1. 类变量:能够通过类名或者object的self来访问到,在类的内部和外部均可达,比如class_var_1
  2. 对象变量:可以通过对象的self来使用的变量,通过constructor一路走向去的的self初次被赋值的变量都会成为对象变量,比如object_var_1, object_var_2, object_var_3, object_var_4
  3. 内部变量:可以在函数中定义,并加上self前缀,在初次调用过定义的函数后,就可以在后面的对象的函数中被使用,比如internal_var_1
  4. 局部变量:在函数内部定义,并使用的变量,在使用完之后就会被回收对类及object不可见
  5. 全局变量:定义在类或者函数外部,作用域在变量被定义之后的任意代码段,比如:global_var_1

特斯拉真会玩,一对KTV麦克风四位数,小米有品众筹199直接拿下特斯拉真会玩,一对KTV麦克风四位数,小米有品199直接拿下!前不久,特斯拉在车内新增了KTV功能,并且顺势推出一对卖四位数的TeslaMic无线麦克风,为麦霸们提供了移动私人K歌TPLink发布满血AX3000新品纸片路由仅8mm厚可一贴上墙日前,TPLINK推出新款AX3000WiFi6产品,昵称纸片路由。原来,该路由厚度仅8mm,尺寸仅一本薄薄的A5记事本大小。显然,这样的路由对于喜欢简约嵌入式装修风格的家庭将是不mysql卸载报错错误产生环境删除使用yum方式安装mysql5。7时出现错误rootlocalhostmysqlrpmqagrepimysqlmysqlcommunitylibs5。7。331。e每日乡村乡村振兴背景下农村电商主要发展模式(一)农产品电子商务模式从2006年在网上进行土特产和生鲜产品开始,渐渐走上品牌化路线。农产品电子商务模式主要销售土特产农产品以及生鲜等,是处于信息服务阶段的电子商务。每日乡村发现手机摄影的倒退潜望式长焦镜头被砍索尼用黑科技证明自己一台旗舰手机的该有怎么样的配置?顶级的芯片?顶级的屏幕?还是优秀的工业设计?这些都是一台旗舰级应该具备的基本素质。但对于旗舰手机,大多数消费者对拍照有着较高的期望值。对于这一点,厂从2599元跌至1999元,12GB256GB屏幕指纹,65W闪充旗舰重回低价成年人每天解锁手机的次数高达几十次,所以选一个自己喜欢的解锁方式还是挺重要的,而目前最受欢迎的解锁方式就是屏幕指纹了,国内真正的高端旗舰都采用了这一解锁方式,因为这一解锁方式不仅科祝融号发现火星水活动,或可供未来载人火星探测近日,祝融号火星车在火星乌托邦平原着陆区通过短波红外光谱和导航与地形相机数据,发现类似沉积岩的板状硬壳层,富含含水硫酸盐等矿物。中国科学院国家空间科学中心空间天气学国家重点实验室刘爸妈都能用的智洗装备啥样?海信洗衣机智能三部曲即将揭晓日常生活中,你或许会遭遇这样的困扰想给爸妈买台智能化洗衣机,又怕他们不会操作,让高科技变成家里的摆设给他们买套高端衣物,他们总是以不好打理为由,很少穿着。现在,解决方案来了!5月1性价比顶呱呱,iPhone11ProMax又有货,256G放在四千档在华为手机因为禁令问题退出竞争之后,我们看到国内高端市场并没有被小米OV荣耀中兴等的高端机抢走,比较意外,原本爱买华为高端机的用户在买不到之后,基本上都转向了iPhone。在去年国华为突然推出5G新机,6000mAh大电池2TB存储,定价只在千元级如果你有心关注国内手机市场排行的话,就会发现,如今的华为手机市场份额,是越来越低了,相比于巅峰时期接近国内市场一半的市场份额来说,现在的华为手机市场销售份额直接降到了10以下,不管华为mate50值得期待吗?依旧没有5G网络,配置却有大升级现在的手机市场最值得期待的有两件事,一件就是进的来的市场618活动,另一个就是定档七月的华为mate50系列产品,一个是有大便宜可以让人买到好产品,另一个则意味着今年国内科技的发展
比滴灌更牛的技术,你知道是什么吗?在农业生产活动中,不可缺少的便是灌溉设备,为了保护环境,节约水资源,我们发明出了适用于良田的灌溉设备,比如滴灌,抽水漫灌,喷灌,纯人力灌溉。在很多人眼中,喷灌,滴灌已经是很先进的技罗永浩怒怼电信运营商恶俗彩铃网友就需要这种认死理的人近日,国内三大电信运营商都公布了各自2021年营业收入及利润,三家运营商去年的日利润超过了4亿元,可谓是日进斗金。不过3月12日下午,老罗罗永浩在微博发文,痛批运营商的视频彩铃套餐身价上亿元的阿里前台和世界上最贵的错误童文红入职阿里之前,因结婚生子,在家待了一年半。直到2000年的时候,看到了一则阿里的招聘启事,便决定去应聘行政助理的职位,谁曾想却阴差阳错地被安排到了一个前台的岗位。就这样,童文四大视频会员对比爱奇艺腾讯视频芒果TV优酷哪个最值得买众所周知,追剧看综艺是最能打发时间的,但随着国内版权市场的逐渐规范,刚上新的热门影视资源和综艺节目大多需要VIP会员才能观看,而且为了不看超长的广告,获得更好的观影体验,很多用户也波导手机消亡史波导,手机中的战斗机!这句广告词很多人都听过,脑海里也会下意识浮现出李玟代言的那个广告画面。曾几何时,波导手机可谓是第一代国产手机的翘楚,广告布及大街小巷,一度成为功能机时代的宠儿前魅族系统工程师洪汉生跳槽OPPO,三年后再次发声IT之家3月20日消息,2019年,有消息称魅族工程师洪汉生已从魅族离职,去了OPPO,随后这条消息被盖文张(前魅族科技总监)转发,称我知道但我不能说,他也是不得已才离开,魅友不要Vidda将推出纯三色激光微投画质碾压行业现有产品3月21日消息,海信视像(代码600060)今日发布公告,其中透露近期将推出激光便携智能投影。有分析人士认为,这款产品就是此前已经传闻多时的Vidda激光微投产品。根据公告内容,海价格相差700元,红米k50Pro和小米12如何选择?在乎性价比的选择红米K50Pro,在价格更低的基础上,还有几项优势1性能上,搭载的天玑9000芯片和小米12的全新骁龙8性能差不多,但能耗控制更优秀,特别是中低负载下更省电更耐用。上市前测30万小时雷军新梗诞生,好家伙一个机型测34年才出关雷军与我国短跑冠军苏炳添在小米实验室的视频中曾说过一个梗,那就是小米性能测试要经过30万小时才能上市,那么30万小时具体是多久呢?是一万两千五百天,合计34年。口误34万小时也够离1599元的骁龙888手机来了,这要逼死小米啊大家都知道,今年的骁龙8新机真的是又烫又拉!更搞笑的是,发布会上在散热方面吹得越狠的手机,实际到手游戏调度就越怂可以说,这波骁龙8新机的体验真的是各种倒退。这都算了,关键是这些新机小米12和小米11Pro,哪个相机更好,哪个更值得买?小米12和小米11Pro,哪个相机更好,哪个更值得买?鱼和熊掌不可兼得,要说小米12和小米11pro哪个相机更好?这里本人说一说它们两者之间的区别。小米手机中的Pro版本是很常见的