Python编程:类的实例动态增加属性和方法

简介: Python编程:类的实例动态增加属性和方法
# -*- 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'
相关文章
|
1月前
|
测试技术 API Python
【10月更文挑战第1天】python知识点100篇系列(13)-几种方法让你的电脑一直在工作
【10月更文挑战第1天】 本文介绍了如何通过Python自动操作鼠标或键盘使电脑保持活跃状态,避免自动息屏。提供了三种方法:1) 使用PyAutoGUI,通过安装pip工具并执行`pip install pyautogui`安装,利用`moveRel()`方法定时移动鼠标;2) 使用Pymouse,通过`pip install pyuserinput`安装,采用`move()`方法移动鼠标绝对位置;3) 使用PyKeyboard,同样需安装pyuserinput,模拟键盘操作。文中推荐使用PyAutoGUI,因其功能丰富且文档详尽。
WK
|
25天前
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
69 36
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
11种经典时间序列预测方法:理论、Python实现与应用
本文将总结11种经典的时间序列预测方法,并提供它们在Python中的实现示例。
65 2
11种经典时间序列预测方法:理论、Python实现与应用
|
1月前
|
开发者 Python
Python中的魔法方法与运算符重载
在Python的奇妙世界里,魔法方法(Magic Methods)和运算符重载(Operator Overloading)是两个强大的特性,它们允许开发者以更自然、更直观的方式操作对象。本文将深入探讨这些概念,并通过实例展示如何利用它们来增强代码的可读性和表达力。
|
1月前
|
索引 Python
python-类属性操作
【10月更文挑战第11天】 python类属性操作列举
20 1
|
19天前
|
测试技术 API 数据安全/隐私保护
Python连接到Jira实例、登录、查询、修改和创建bug
通过使用Python和Jira的REST API,可以方便地连接到Jira实例并进行各种操作,包括查询、修改和创建Bug。`jira`库提供了简洁的接口,使得这些操作变得简单易行。无论是自动化测试还是开发工作流的集成,这些方法都可以极大地提高效率和准确性。希望通过本文的介绍,您能够更好地理解和应用这些技术。
62 0
|
1月前
|
Linux Python
Python获得本机本地ip地址的方法
【10月更文挑战第8天】 socket模块包含了丰富的函数和方法,可以获取主机的ip地址,例如gethostbyname方法可以根据主机名获取ip地址,gethostbyname_ex方法可以获得本机所有ip地址列表,也可以使用netifaces模块获取网卡信息。
42 0
|
1月前
|
SQL 安全 数据库
Python防止SQL注入攻击的方法
Python防止SQL注入攻击的方法
61 0
|
2月前
|
Python
Python类中属性和方法区分3-8
Python类中属性和方法区分3-8
|
5月前
|
Python
Python尝试访问不存在的属性或方法
【6月更文挑战第2天】
52 3