python_94_类变量实例变量
class Role:
n=123#类变量
name='我是类name'
list=[]
def __init__(self,name,role,weapon,life_value=100,money=15000):
'构造函数:实例化时做一些类的初始化工作'
self.name=name#实例变量(静态属性),作用域就是实例本身
self.role=role
self.weapon=weapon
self.life_value=life_value
self.money=money
def shot(self):# 类的方法,功能 (动态属性)
print("shooting...")
def got_shot(self):
print("ah...,I got shot...")
def buy_gun(self,gun_name):
print("%s just bought %s"%(self.name,gun_name))
print(Role,Role.n)
r1= Role('Alex','police','AK47') #生成一个角色,为Role(类)的一个实例
r2= Role('Jack','terrorist','B22')#Role(r2,'Jack','terrorist','B22')把一个类变成一个具体对象的过程叫 实例化(初始化一个类,造了一个对象)
print(r2.n,r2.name)#打印的name是实例化的name,不是类name(规律:变量先去实例中找,找不到再去类中找)
r2.n='改变类变量'#在r2实例中增加了个实例变量n,类变量其实没改变,所以r1.n还是123
print(r2.n,Role.n,r1.n)
Role.n='ABC'
print(r2.n,Role.n,r1.n)#r2.n不变,取的是自身的实例变量n
r2.name='王大屯'
r2.fangdanyi=True
print(r2.name,r2.fangdanyi)
r2.buy_gun('机关枪')
print(r2.weapon)
del r2.weapon
#print(r2.weapon)删掉后打印不出来
r1.list.append('from r1')
print(r1.list)
r2.list.append('from r2')
print(r2.list)
print(Role.list)#三个list都共用的同一个内存变量
参考:http://www.cnblogs.com/alex3714/articles/5188179.html
python_94_类变量实例变量的更多相关文章
- Python staticmethod classmethod 普通方法 类变量 实例变量 cls self 概念与区别
类变量 1.需要在一个类的各个对象间交互,即需要一个数据对象为整个类而非某个对象服务. 2.同时又力求不破坏类的封装性,即要求此成员隐藏在类的内部,对外不可见. 3.有独立的存储区,属于整个类. ...
- Python 类变量 实例变量
类变量: 是可在类的所有实例之间共享的值(也就是说,它们不是单独分配给每个实例的).例如下例中,num_of_instance 就是类变量,用于跟踪存在着多少个Test 的实例. 实例变量: 实例 ...
- Java易混淆的概率:成员变量、类变量、实例变量、局部变量
先看代码 public class Variable{ int b=0; //实例变量 static int a=0; //类变量 final String c="wws"; // ...
- Python语言特性之4:类变量和实例变量
类变量就是供类使用的变量,实例变量就是供实例使用的.如下面的代码: class Person: name = "Tacey" p1 = Person() p2 = Person() ...
- 实例变量和静态变量(或类变量static)
一个类通过使用运算符new可以创建多个不同的对象,这些对象将被分配不同的内存空间,准确的说法是:不同对象的实例变量将被分配不同的内存空间,如果类中有类变量,那么所有对象的这个类变量都被分配到同一处内存 ...
- 在实例中说明java的类变量,成员变量和局部变量
java中一般有三种变量:类变量,成员变量和局部变量.类变量 1.下面先看类变量,看下面这个例子 public class Demo6{ public String name; public int ...
- python的类变量与实例变量
python的类内部定义的变量 ,形式上没有区分实例变量和类变量(java的静态变量),测试结果如下:
- python中的实例方法、静态方法、类方法、类变量和实例变量
class MyTest: myname = 'peter' # add a instance attribute def __init__(self, name): self.n ...
- python中的类变量、实例变量
类变量,是各个实例共享的资源,就像中央空调,只有一个,但每个房间(实例)均可享用. 实例变量,是每个实例各自分配使用的变量,每个房间(实例)都有一台空调,供自己使用. class handle(obj ...
随机推荐
- iOS 防止抓包
原文链接:https://www.jianshu.com/p/1ab83d726d3f 现在 APP 开发,数据的保密性越来越受重视,保密性高才不会让数据轻易被泄露,同时保护到用户和公司的利益.如何做 ...
- Unity 5.6中的混合光照(上)
https://mp.weixin.qq.com/s/AbWM21sihHw5pFdMzENDPg 在Unity 5中,光照得到了很大的改进.现在,创建高度逼真的游戏已成为可能.但是,出于对性能的考虑 ...
- 洛谷P1013 进制位
P1013 进制位 题目描述 著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字. 例如: + L K V E L L K V E K K V E KL V V E ...
- iOS风格的弹出框(alert,prompt,confirm)
前两天,自己写了一个简单的插件,在移动端使用,不管是安卓手机还是iOS系统的手机,弹出框统一使用iOS风格的. 该弹出框是依赖于jQuery的,当然也可以将用jq写的几句代码转换为原生代码. 今天把代 ...
- java实现对字符串和数字的冒泡排序
public static void sort(Object[] objects){ if(objects instanceof Number[]){ for (int i = 0; i < o ...
- React入门看这篇就够了
摘要: 很多值得了解的细节. 原文:React入门看这篇就够了 作者:Random Fundebug经授权转载,版权归原作者所有. React 背景介绍 React 入门实例教程 React 起源于 ...
- pgpool-ii 安装手册 基于Centos7.3
http://www.bkjia.com/jQuery/1173582.html地址被占用pgpool启动失败 Nov 15 02:33:56 node3 pgpool: 2016-11-15 02: ...
- Oracle树查询总结
最近在做公司的项目中遇到一个问题,多级级联导航菜单,虽然只有三级目录,但<li>中嵌套<ul>,数据库表结构如下: CREATE TABLE FLFL ( ID NUMBER ...
- Educational Codeforces Round 65 (Rated for Div. 2) B. Lost Numbers
链接:https://codeforces.com/contest/1167/problem/B 题意: This is an interactive problem. Remember to flu ...
- Sonya and Matrix Beauty Codeforces - 1080E
https://codeforces.com/contest/1080/problem/E 比赛时候一个多小时码不出来... 来看遇到的困难: 1.没有能用的随机unsignedlonglong函数 ...