Python开发——面向对象【类、实例】

 # class Chinese(object):
class Chinese:
'''
类的说明性文档
'''
pass print(Chinese) # <class '__main__.Chinese'> # 类的实例化:类名+小括号,到底做了什么?
p1 = Chinese()
print(p1) # <__main__.Chinese object at 0x0568C2B0>

类的属性操作

 class Chinese:
country = 'China'
def __init__(self,name):
self.name = name
def play(self):
print("玩耍")
def sing(self):
print("唱歌") print(Chinese) # <class '__main__.Chinese'>
# 打印类的数据字典
print(Chinese.__dict__) #################——数据属性——######################
# 查看
print(Chinese.country) # China
# 修改
Chinese.country = '中国'
print(Chinese.country) # 中国
# 增加
Chinese.dang = '党'
print(Chinese.dang)
# 删除
# print(Chinese.__dict__)
del Chinese.dang
# 打印类的数据字典
# print(Chinese.__dict__) #################——函数属性——######################
def eat(self):
print("吃吃吃")
def eat123(self):
print("吃吃吃123")
# 增加
Chinese.eat = eat
# 查看
print(Chinese.eat) # <function eat at 0x04D0C8E8>
# 打印类的数据字典
# print(Chinese.__dict__)
# 修改
Chinese.eat = eat123
print(Chinese.eat) # <function eat123 at 0x04DEC810>
# 删除
del Chinese.eat
# print(Chinese.__dict__)

实例的属性操作

 class Chinese:
country = 'China'
def __init__(self,name):
self.name = name
def play(self):
print("玩耍")
def sing(self):
print("唱歌") p1 = Chinese('yuan')
print(p1) # <__main__.Chinese object at 0x05079CD0>
# 打印实例的数据字典【即init中的】
print(p1.__dict__) # {'name': 'yuan'} #################——数据属性——######################
# 查看
print(p1.name) # yuan
# 增加
p1.age = 18
print(p1.age) #
# 打印实例的数据字典
print(p1.__dict__) # {'name': 'yuan', 'age': 18} #不要修改底层的属性字典
# p1.__dict__['sex']='male'
# print(p1.__dict__)
# print(p1.sex) # 修改
p1.age = 23
print(p1.age) #
print(p1.__dict__) # {'name': 'yuan', 'age': 23}
# 删除
del p1.age
print(p1.__dict__) # {'name': 'yuan'} #################——函数属性——######################
# 实例没有函数属性
# 类的属性修改会直接体现到实例 def eat(self):
print("吃吃吃")
# 增加
p1.eat = eat
# 查看【忘记吧】
# p1.eat("###") # 容易出错
# p1.eat(p1)

类与实例

 country = "中国****"
class Chinese:
country = 'China'
def __init__(self,name):
self.name = name
print("--->", country) # ---> 中国****
def play(self):
print("玩耍")
def sing(self):
print("唱歌") p1 = Chinese('yuan')
# 打印实例的数据字典
print(p1.__dict__) # {'name': 'yuan'}
# 【当实例的数据字典没有时】访问类的数据字典
print(p1.country) p1.country = "中国"
# 打印实例的数据字典
print(p1.__dict__) # {'name': 'yuan', 'country': '中国'}
# 访问实例的数据字典
print(p1.country) # 中国 # 访问类的数据字典
print(Chinese.country) # China
# 初始化时【country与p1.country、Chinese.country的区别】
p2 = Chinese('Lucy') # 初始化时
上一篇:2019.02.06 bzoj2187: fraction(类欧几里得)


下一篇:Spring使用支付宝扫码支付