Python编程:类的实例动态增加属性和方法
2023-09-14 09:07:14 时间
# -*- coding: utf-8 -*-
# @File : 类的实例动态增加属性和方法.py
# @Date : 2018-05-31
# @Author : Peng Shiyu
class Person(object):
count = 0
def __init__(self, name):
self.name = name
if __name__ == '__main__':
# 实例化
p1 = Person("tom")
print(p1.name) # tom
print(p1.count) # 0
p2 = Person("jack")
print(p2.name) # jack
print(p2.count) # 0
# 通过实例修改类变量
p1.count = 2
print(p1.count) # 2
print(p1.count) # 2
print(Person.count) # 0
# 通过类修改类变量
Person.count = 3
print(p1.count) # 2
print(p1.count) # 2
print(Person.count) # 3
# 给实例增加属性
p1.age = 23
print(p1.age) # 23
# 给实例增加方法
def set_age(self, age):
self.age = age
from types import MethodType
p1.set_age = MethodType(set_age, p1)
p1.set_age(25)
print(p1.age) # 25
print(p2.age)
# AttributeError: 'Person' object has no attribute 'age'
相关文章
- Python 进行 SSH 操作,实现本地与服务器的链接,进行文件的上传和下载
- pycharm python interpreter_python interpreter什么意思
- Python怎么输入小数和整数_python输入非负整数
- 【玩转 Cloud Studio】使用Cloud Studio 进行python开发最佳实践
- python hashlib_Python hashlib模块实例使用详解
- Python&R语言-python和r相遇
- Python 技巧篇-pip卸载python库实例演示,查看pip命令大全方法[通俗易懂]
- 【说站】python实例如何绑定属性
- 【说站】python创建实例中类属性的变化
- lambda python表达式_Python的条件表达式和lambda表达式实例
- python递归函数讲解_Python递归函数实例讲解
- python-Python与SQLite数据库-SQLite数据库的基本知识(一)
- Ubuntu18.04 一键升级Python所有第三方包 及安装python包的方法
- 革命性技术:Python与MSSQL的携手合作(python和mssql)
- Linux下从系统卸载Python(linux下卸载python)
- Python解析XML文件
- python单链表实现代码实例
- Python文件操作类操作实例详解
- Python连接mssql数据库编码问题解决方法
- Python的类实例属性访问规则探讨
- Python基础之函数用法实例详解