python的面向对象-类的数据属性和实例的数据属性相结合-无命名看你懵逼不懵逼系列
1、
class Chinese: country='China' def __init__(self,name): self.name=name def play_ball(self,ball): print('%s 正在打 %s' %(self.name,ball)) p1=Chinese("北爷") print(p1.country)#这是访问的类的数据属性 p1.country="日本人"#增加了一个实例的数据属性 print(Chinese.country)#调用类的数据属性 print(p1.country)#调用实例的数据属性,因为上面增加了实例的country属性是日本人 C:\python35\python3.exe D:/pyproject/day24/类属性与实例属性结合.py China China 日本人
2、
class Chinese: country = '中国' def __init__(self,name): print("实例化先运行init------->") self.name=name def play_ball(self,ball): print('%s 正在打 %s' %(self.name,ball)) def shi_li_hua():#定义一个实例化函数 name=input(">>>")#接受一个值赋值给name p1=Chinese(name)#实例化一个p1实例 print(p1.country)#调用实例的类的数据属性 shi_li_hua()#运行shilihua这个函数,前面都是定义,把那些加载到内存,这才是程序运行的第一步,然后风湿理论向上找,作用域
3、
country="中国" class Chinese: country = '中国+++' def __init__(self,name): self.name=name print("---->",country)#这个country不是用.调用的,既不是类的属性也不是实例的属性,就是一个普通的变量,遵循风湿理论 def play_ball(self,ball): print('%s 正在打 %s' %(self.name,ball)) p1=Chinese("北爷")#实例化一个p1实例 C:\python35\python3.exe D:/pyproject/day24/类属性与实例属性结合.py ----> 中国
4、
country="中国++" class Chinese: country = '中国' def __init__(self,name): self.name=name print("普通变量",country)#这个country不是用.调用的,既不是类的属性也不是实例的属性,就是一个普通的变量 def play_ball(self,ball): print('%s 正在打 %s' %(self.name,ball)) print(country)#调用全局作用域的country print(Chinese.country)#调用类的数据属性country p1=Chinese("北爷")#实例化一个p1实例 print(p1.country)#调用实例的类的数据属性,实例字典里面没有,就去类字典里去找 C:\python35\python3.exe D:/pyproject/day24/类属性与实例属性结合.py 中国++ 中国 普通变量 中国++ 中国
5、
class Chinese: country='China' l=["a","b"]#存在类的属性字典里面 def __init__(self,name): self.name=name def play_ball(self,ball): print('%s 正在打 %s' %(self.name,ball)) p1=Chinese("北爷") print(p1.l)#实例p1调用类的数据属性l p1.l=[1,2,3]#给实例p1增加一个数据属性l,存在p1的属性字典里面 print(Chinese.l)#调用类的数据属性 print(p1.l)#调用实例的数据属性 C:\python35\python3.exe D:/pyproject/day24/换个姿势搞你.py ['a', 'b'] ['a', 'b'] [1, 2, 3]
6、
class Chinese: country='China' l=["a","b"]#存在类的属性字典里面 def __init__(self,name): self.name=name def play_ball(self,ball): print('%s 正在打 %s' %(self.name,ball)) p1=Chinese("北爷") print(p1.l)#实例p1调用类的数据属性l p1.l.append("c")#给实例调用的类的数据属性增加一个c print(Chinese.l) C:\python35\python3.exe D:/pyproject/day24/换个姿势搞你.py ['a', 'b'] ['a', 'b', 'c']