python中的特殊方法使用

__new__()构造器

范例:使用“__new__()”方法

# coding : utf-8class Message:                                            # 默认object子类def __new__(cls, *args, **kwargs):                      # 特殊方法print("【new】cls = %s、args = %s、kwargs = %s" % (cls,args,kwargs))     # 提示信息return object.__new__(cls)                         # 如果不返回此内容构造方法将不会执行def __init__(self, **kwargs):                          # 构造方法print("【init】kwargs = %s" % kwargs)               # 输出构造方法接收关键字参数def main():                                               # 主函数msg = Message(title="yootk",content="优拓软件学院")     # 实例化Message类对象if __name__ == "__main__":                                # 判断程序执行名称
main()                                                # 调用主函数

获取对象信息

范例:观察默认状态下的对象输出

# coding : utf-8class Message:                                            # 默认object子类def __init__(self,content):                            # 构造方法初始化内容self.__content = content                           # 属性赋值def main():                                               # 主函数
msg = Message("www.yootk.com")                         # 实例化类对象print(msg)                                            # 直接输出对象    print(msg.__str__())                                  # 转为字符串输出
if __name__ == "__main__":                                # 判断程序执行名称
main()                                                # 调用主函数

范例:覆写“__str__()”方法

# coding : utf-8class Message:                                            # 默认object子类def __init__(self,content):                            # 构造方法初始化内容self.__content = content                           # 属性初始化def __str__(self):                                     # 覆写object类方法return "【__str__()】%s" % self.__content           # 获取对象信息def main():                                               # 主函数
msg = Message("www.yootk.com")                         # 实例化类对象print(msg)                                            # 直接输出对象if __name__ == "__main__":                                # 判断程序执行名称
main()                                                # 调用主函数

范例:覆写“__repr__()”方法

# coding : utf-8class Message:                                   # 默认object子类def __init__(self,content):                   # 构造方法初始化内容self.__content = content                 # 覆写特殊方法def __str__(self):                           # 覆写object类方法return "【__str__()】%s" % self.__content # 返回对象信息def __repr__(self):                          # 覆写特殊方法return "【__repr__()】%s" % self.__content # 返回对象信息def main():                                     # 主函数
msg = Message("www.yootk.com")                # 实例化类对象print(str(msg))                              # 不使用str()函数也表示调用“__str__()”print(repr(msg))                             # 必须使用repr()函数才可以调用“__repr__()”if __name__ == "__main__":                       # 判断程序执行名称
main()                                      # 调用主函数

范例:通过方法引用简化重复代码

class Message:                         # 自定义类
def __init__(self,content):         # 构造方法
self.__content = content        # 属性赋值def __str__(self):                  # 特殊方法
return "【__str__()】%s" % self.__content # 返回对象信息__repr__ = __str__                 # 方法引用定义

范例:通过Lambda简化方法定义

class Message:                         # 自定义类
def __init__(self,content):         # 构造方法
self.__content = content        # 属性赋值def __repr__(self) -> str:        # 特殊方法
return "【__str__()】%s" % self.__content # 返回对象信息

对象比较

范例:实现对象的小于判断

# coding : utf-8class Member(object):                                      # 默认object子类def __init__(self,name,age):                           # 构造方法初始化属性内容self.__name = name                                 # 实例属性赋值self.__age = age                                   # 实例属性赋值def __le__(self, other):                               # 覆写特殊方法if not isinstance(other,Member) or other == None:    # 判断对象是否合法return False                                   # 返回False,表示判断失败return self.__age <= other.__age                    # 摘选属性判断def main():                                               # 主函数
mem_a = Member("张三", 18)                             # 实例化Member类对象mem_b = Member("李四", 20)                             # 实例化Member类对象print(mem_a <= mem_b)                                  # 大小比较,调用“__le__()”if __name__ == "__main__":                                # 判断程序执行名称
main()                                                # 调用主函数

范例:列表中删除自定义类对象

# coding : utf-8class Member(object):                            # object子类def __init__(self,name,age):                  # 构造方法self.__name = name                       # 实例属性赋值self.__age = age                         # 实例属性赋值def __str__(self):                           # 覆写特殊方法return "姓名:%s、年龄:%d" % (self.__name, self.__age)def __eq__(self, other):                      # 覆写特殊方法if not isinstance(other,Member) or other == None:             # 判断对象是否合法return False                         # 判断失败return self.__age == other.__age and self.__name == other.__namedef main():                                     # 主函数
member_list = [Member("张三", 18), Member("李四", 20)]            # 定义人员信息列表# 删除数据时传入匿名对象,列表会调用类中“__eq__()”方法member_list.remove(Member("张三", 18))        # 删除数据for mem in member_list:                      # 列表迭代print(mem)                               # 输出列表项if __name__ == "__main__":                       # 判断执行名称
main()                                      # 调用主函数

范例:覆写“__bool__()”方法实现对象直接判断

# coding : utf-8class Member(object):                            # object子类def __init__(self,name,age):                  # 构造方法self.__name = name                       # 实例属性赋值self.__age = age                         # 实例属性赋值def __bool__(self):                          # 覆写特殊方法return self.__age > 18                   # 判断是否成年def main():                                     # 主函数
mem = Member("李四", 20)                      # 实例化Member对象if mem:                                      # 直接调用“__bool__()”方法返回结果print("成年了!")                        # 提示信息if __name__ == "__main__":                       # 判断程序执行名称
main()                                      # 调用主函数

对象格式化

范例:数据格式化

# coding : utf-8class Message:                                            # object子类def __init__(self, title, url):                        # 构造方法接收初始化参数self.__title = title                               # 为属性赋值self.__url = url                                   # 为属性赋值def __format__(self, format_spec):                      # 格式化字符串if format_spec == "":                              # 是否存在有格式化标记return str(self)                               # 不存在标记直接对象的字符串描述# 按照既定的标记“%title”与“%url”进行内容的字符串替换处理format_data = format_spec.replace("%title", self.__title).replace("%url", self.__url)return format_data                                # 返回格式化后的字符串def __str__(self):                                     # 获取对象信息return "名称:%s、网址:%s" % (self.__title, self.__url) # 返回对象内容
def main():                                               # 主函数
msg = Message("优拓软件学院","www.yootk.com")           # 实例化对象print("{}".format(msg))                                # 未指定格式化字符串,返回对象的字符串表示print("{info:%title:%url}".format(info=msg))           # 定义格式化标记print(format(msg, "%title:%url"))                     # 通过format()函数格式化if __name__ == "__main__":                                # 判断程序执行名称
main()                                                # 调用主函数

范例:序列格式化

# coding : utf-8
class Message:
   
def __init__(self, title, url):                                                # 构造方法接收初始化参数
       
self.__title = title                                                             # 为属性赋值
       
self.__url = url                                                                     # 为属性赋值
   
def __format__(self, format_spec):                                          # 格式化字符串
       
if format_spec == ""                                                        # 是否存在有格式化标记
           
return str(self)                                                             # 不存在标记直接对象的字符串描述
        # 按照既定的标记“%title”与“%url”进行内容的字符串替换处理
       
format_data = format_spec.replace("%title", self.__title).replace("%url", self.__url)
       
return format_data                                                                 # 返回格式化后的字符串
   
def __str__(self):                                                                        # 覆写特殊方法
        return "名称:%s、网址:%s" % (self.__title, self.__url) # 返回对象信息
class MessageListFormat:                                                                    # 定义格式化类
    def __init__(self,*msgs):                                                           # 构造方法
        self.msg_list = list(msgs)                                                  # 保存集合列表
   
def __format__(self, format_spec):                                          # 覆写特殊方法
        if format_spec == "":                                                           # 是否存在有格式化标记
           
return str(self)                                                             # 不存在标记直接对象的字符串描述
       
format_data = "\n".join("{:{fs}}".format(m, fs=format_spec) for m in self.msg_list)
       
return format_data                                                                 # 返回格式化数据
def main():                                                                                             # 主函数
    message_list = MessageListFormat(Message("沐言优拓", "www.yootk.com") # 实例化对象
    Message("优拓讲师", "李兴华"))                                           # 保存多个对象
   
print("{info:%title:%url}".format(info=message_list))    # 定义格式化标记
if __name__ == "__main__":                                                                     # 判断程序执行名称
    main()                                                                                                 # 调用主函数

可调用对象

范例:定义可调用对象

# coding : UTF-8
class Message:                                                                                       # object子类
    def __call__(self, *args, **kwargs):                                       # 定义对象调用支持
       
return "title = %s、url = %s" % (kwargs.get("title"), kwargs.get("url")) # 返回数据
def main():                                                                                             # 主函数
    msg = Message()                                                                              # 实例化类对象
   
print(msg())                                                                                    # 对象直接调用并且不传递参数
   
print(msg(title="沐言优拓",url="www.yootk.com"))                # 对象调用并传递参数
   
print(callable(msg))                                                                     # 判断当前对象是否可调用
if __name__ == "__main__":                                                                     # 判断程序执行名称
    main()                                                                                                 # 调用主函数

动态导入

范例:定义“util.py”程序模块

# coding : UTF-8
def get_info():                                                                                      # 定义函数
    return "沐言优拓:www.yootk.com"                                              # 返回信息
class Message:                                                                                       # 自定义Message类
    def echo(self, info):                                                                   # 定义方法
        return "【ECHO】" + info                                                      # 返回信息

范例:实现动态导入操作

# coding : UTF-8
def main():                                                                                             # 主函数
    util = __import__('util')                                                           # 导入util.py模块
   
get_info_obj = getattr(util, "get_info")                               # 获取模块中的函数引用
   
print(get_info_obj())                                                                   # 通过引用对象直接调用函数
   
message_class = getattr(util, "Message")                               # 获取模块中的类引用
   
print(message_class().echo("www.yootk.com"))                        # 实例化类对象并调用类中方法
if __name__ == "__main__":                                                                     # 判断程序执行名称
    main()                                                                                                 # 调用主函数

属性操作支持

调用拦截

范例:观察调用拦截

# coding : utf-8
class Message:                                                                                       # 默认object子类
   
def __getattribute__(self, item):                                            # 覆写object类方法
       
print("【getattribute】item = %s" % (item))                 # 监听信息提示
       
return object.__getattribute__(self, item)                    # 如果不调用此处则代码无法正确执行
   
def send(self, info):                                                                  # 定义类中的方法
       
print("消息发送:%s" % info)                                              # 输出提示信息
def main():                                                                                             # 主函数
    msg = Message()                                                                              # 实例化类对象
   
msg.content = "沐言优拓:www.yootk.com"                               # 动态配置实例属性
   
print(msg.content)                                                                        # 获取属性触发“__getattribute__()”
   
msg.send("www.jixianit.com"                                                  # 调用方法触发“__getattribute__()”
if __name__ == "__main__":                                                                     # 判断程序执行名称
    main()                                                                                                 # 调用主函数

范例:进行属性和方法分别拦截处理

# coding : utf-8class Message:                                             # 默认object子类def __getattribute__(self, item):                       # 覆写object类方法if item == "content":                              # 判断内容为content时的操作return "沐言优拓:www.yootk.com"               # 返回提示信息
elif item == "send":                               # 判断名称return self.other                              # 更换为其它方法else:                                             # 其它操作不进行处理return object.__getattribute__(self, item)       # 代码正常执行调用def send(self, info):                                  # 定义类中的方法print("消息发送:%s" % info)                        # 输出提示信息def other(self,note):                                  # 定义一个替代方法print("【替换方法-other】%s" % note)                # 替代操作执行def main():                                               # 输出提示信息
msg = Message()                                       # 实例化类对象# 此时并没有为msg实例化对象动态配置实例属性,按照传统操作此时应该会出现“AttributeError”    print(msg.content)                                     # 获取属性触发“__getattribute__()”msg.send("www.jixianit.com")                           # 调用方法触发“__getattribute__()”if __name__ == "__main__":                                # 判断程序执行名称
main()                                                # 调用主函数

10.2.2、实例属性字典

范例:观察“__dict__”字典存储

# coding : utf-8
class Message:                                                                                       # 默认object子类
   
def __init__(self,note):                                                             # 构造方法设置属性
       
self.__note = note                                                                 # 操作实例属性
def main():                                                                                             # 主函数
    msg = Message("沐言优拓"                                                        # 实例化类对象
   
msg.content = "www.yootk.com"                                                   # 配置实例属性
   
print(msg.__dict__)                                                                      # 获取属性保存字典信息
if __name__ == "__main__":                                                                     # 判断程序执行名称
    main()                                                                                                 # 调用主函数

范例:进行属性设置和获取监听

# coding : utf-8class Message:                                             # 默认object子类def __init__(self, content):                           # 构造方法定义属性self.__content = content                           # 保存属性内容def remove_content(self):                              # 删除属性del self.__content                                 # 使用“del”关键字删除def get_content(self):                                 # 获取属性内容return self.__content                              # 返回属性内容def __setattr__(self, key, value):                      # 属性设置时拦截print("【setattr】key = %s、value = %s" % (key, value))       # 输出提示信息self.__dict__[key] = value                         # 向“__dict__”中保存属性和数据def __getattr__(self, item):                           # 属性不存在时调用print("【getattr】item = %s" % item)                # 提示信息return "%s属性不存在,返回Nothing" % item          # 属性不存在时的返回值def __delattr__(self, item):                           # 属性删除print("【delattr】item = %s" % item)                # 输出提示信息self.__dict__.pop(item)                            # 从字典中弹出数据def main():                                               # 主函数
msg = Message("www.yootk.com")                         # 实例化类对象print("【获取存在的属性】%s" % msg.get_content())       # 获取存在的属性内容print("【获取不存在的属性】%s" % msg.note)              # 获取不存在的属性内容msg.remove_content()                                  # 删除属性if __name__ == "__main__":                                # 判断程序执行名称
main()                                                # 调用主函数

2.3、获取子类实例化信息

范例:使用“__init_subclass__()”方法

# coding : utf-8class Parent(object):                                               # 定义父类def __init__(self):                                             # 父类无参构造,此方法不会执行print("【Parent】__init__()")                                # 创建目的:方便读者观察def __init_subclass__(cls, **kwargs):                            # 覆写特殊方法print("【Parent-subclass】cls = %s" % (cls))                  # 获取子类信息print("【Parent-subclass】kwars = %s" % (kwargs))             # 获取子类信息
# 定义子类,同时设置子类操作相关的元数据(使用字典的形式进行定义)class Sub(Parent, url="www.yootk.com", teacher="李兴华"):             # 定义子类
    def __init__(self):                                             # 子类构造,不调用父类构造print("【Sub】__init__()")                                  # 输出提示信息def main():                                                        # 主函数sub = Sub()                                                    # 实例化子类对象if __name__ == "__main__":                                          # 判断程序执行名称
main()                                                         # 调用主函数

3、序列操作支持

3.1、自定义迭代

范例:自定义迭代对象

# coding : utf-8class Message:                                                      # 默认继承object类def __init__(self, max):                                         # 构造方法self.__max = max                                            # 设置生成数据的最大值self.__foot = 0                                             # 操作脚标def __iter__(self):                                             # 返回迭代对象return self                                                 # 当前对象为可迭代对象def __next__(self):                                             # 获取内容if (self.__foot >= self.__max):                              # 结束判断return -1                                               # 结束标记else:                                                       # 还有数据
val = self.__max - self.__foot                           # 获取当前迭代数据self.__foot += 1                                         # 修改脚标return val                                              # 返回数据def main():                                                        # 主函数
msg = Message(10)                                               # 实例化类对象for v in msg:                                                   # 对象可以直接进行迭代if (v == -1):                                               # 定义结束标记break                                                  # 退出循环print(v, end="、")                                          # 输出数据if __name__ == "__main__":                                          # 判断程序执行名称
main()                                                         # 调用主函数

范例:修改Message类中的“__next__()”方法定义

class Message:                               # 自定义类# 其他重复代码略…def __next__(self):                      # 获取内容if (self.__foot >= self.__max):       # 结束判断raise StopIteration()            # 结束迭代调用else:                                # 还有数据
val = self.__max - self.__foot     # 获取当前数据self.__foot += 1                  # 修改脚标return val                       # 返回数据

范例:for循环调用可迭代对象

def main():                           # 主函数
msg = Message(10)                  # 实例化类对象for v in msg:                      # 对象直接迭代print(v, end="、")              # 输出数据

3.2、对象反转

范例:自定义反转操作

# coding : utf-8class Message:                                            # 自定义Message类def __init__(self):                                    # 构造方法self.__msg_list = ["沐言优拓","www.yootk.com"]      # 初始化列表def get_msg_list(self):                                # 获取属性return self.__msg_list                             # 返回列表属性def __reversed__(self):                                # 对象反转支持self.__msg_list = reversed(self.__msg_list)         # 反转处理def main():                                               # 主函数
msg = Message()                                       # 实例化类对象reversed(msg)                                         # 序列反转for item in msg.get_msg_list():                        # 迭代输出print(item, end="、")                              # 输出列表项if __name__ == "__main__":                                # 判断程序执行名称
main()                                                # 调用主函数

3.3、字典操作支持

范例:字典操作监听

# coding : utf-8class Message:                                            # 默认object子类def __init__(self):                                    # 构造方法self.__map = {}                                    # 定义一个空的字典def __setitem__(self, key, value):                      # 设置字典数据时触发print("【setitem】设置数据,key = %s、value = %s" % (key,value))self.__map[key] = value                            # 向字典保存数据def __getitem__(self, item):                           # 获取字典数据时触发print("【getitem】获取数据,item = %s" % item)      # 输出提示信息return self.__map.get(item)                        # 从字典获取数据def __delitem__(self, key):                            # “del”删除数据时触发print("【delitem】删除数据,key = %s" % key)        # 输出提示信息self.__map.pop(key)                                # 从字典中弹出数据def __len__(self):                                     # 获取对象长度return len(self.__map)                             # 返回字典长度def main():                                               # 主函数
msg = Message()                                       # 实例化类对象,并可以按照字典模式操作msg["yootk"] = "www.yootk.com"                         # 设置字典数据print("数据保存个数:%s" % len(msg))                    # 获取数据长度print(msg["yootk"])                                   # 获取字典数据del msg["yootk"]                                      # 删除字典数据if __name__ == "__main__":                                # 判断程序执行名称
main()                                                # 调用主函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/30041.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新麻豆MDYS14源码 油条视频 苹果CMS系统 附搭建教程

在数字化的时代&#xff0c;视频网站已经成为人们获取娱乐和信息的主要渠道之一。而在众多的视频网站中&#xff0c;使用麻豆MDYS14源码搭建的网站无疑是最具有吸引力的。本文将为你介绍麻豆MDYS14源码的基本特性&#xff0c;以及如何利用它打造一款完美的视频网站。 首先&…

如何设计实现一个分布式注册中心

1、确定需求和目标 服务发现&#xff1a;客户端能够查找和连接到服务提供者。 负载均衡&#xff1a;将请求分发到不同的服务提供者实例上。 容错处理&#xff1a;能够处理服务提供者的故障&#xff0c;并确保系统的可用性和健壮性。 高可用性和可扩展性&#xff1a;能够处理…

记录一次mysql长事务的经历

目录 一.项目介绍 二.问题暴漏 三.问题排查 1.连接池方向 2.数据库方向 四.代码模拟 五.错误原因分析 1.MySQL参数优化 2.代码优化 六.总结 一.项目介绍 项目是springbootnacos的微服务架构,商城购物类系统,分多个服务,问题出现在众多服务中的单个服务 二.问题暴漏…

李光明从程序员到架构师的逆袭之路(四)

来上海已经第四天了&#xff0c;今天整日里雨丝绵绵&#xff0c;但这并未能阻挡我探索这座城市的热情。晚上&#xff0c;我和几位朋友相约一同出去逛逛&#xff0c;亲身感受上海这座国际一线城市的独特魅力。 上海&#xff0c;这座被誉为“东方明珠”的城市&#xff0c;以其独…

CAD二次开发(11)-在用C#进行CAD开发SQLite和SqlSugar的使用

1. System.Data.SQLite的使用 1.1 包的引入 利用 Nuget引入其相关包 1.2 App.config配置引入到CAD 因为我们当前的项目是类库项目&#xff0c;需要依托于宿主程序才可以运行&#xff0c;所以我们就得需要将SQLite自动生成的App.config里面的部分配置移植到CAD的配置文件中…

DC/AC电源模块:为医疗设备提供安全可靠的电力转换

BOSHIDA DC/AC电源模块&#xff1a;为医疗设备提供安全可靠的电力转换 DC/AC电源模块是一种用于将直流电源转换为交流电源的设备&#xff0c;广泛应用于各种医疗设备中。它们的主要功能是为医疗设备提供安全可靠的电力转换&#xff0c;以确保这些设备在工作过程中提供稳定的电…

一键破解禁止右键、破解禁止选择、破解禁止复制、破解禁止粘贴,启用复制,启用右键,启用选择,启用粘贴。

一键破解禁止右键菜单、破解禁止选择、破解禁止复制、破解禁止粘贴&#xff0c;启用复制&#xff0c;启用右键&#xff0c;启用选择&#xff0c;启用粘贴。 推荐一个右键功能复原的浏览器扩展神器TCCDE 因为chrome未在大陆运营&#xff0c;暂时未在其扩展市场发布该扩展 edg…

[python学习]--使用包来组织模块

使用包&#xff08;package&#xff09;来组织模块是Python中一种常见的代码组织方式&#xff0c;它可以帮助你更好地管理大型项目中的代码。以下是如何使用包来组织模块的步骤和注意事项&#xff1a; 创建包&#xff1a; 创建一个文件夹作为包的根目录&#xff0c;给文件夹起…

新手怎么使用GitLab?

GitLab新手指南: GitLab 是一个非常强大的版本控制和项目管理平台&#xff0c;对于新手来说&#xff0c;开始使用可能会有些许挑战&#xff0c;但只要跟着以下步骤&#xff0c;相信你就能很快上手。 1. 注册与登录 访问网站&#xff1a;打开浏览器&#xff0c;访问 GitLab官网…

硬盘格式化NTFS好还是exFAT好 U盘存储文件用哪个格式好? 硬盘用exfat还是ntfs mac不能读取移动硬盘怎么解决

在计算机世界中&#xff0c;文件系统是数据管理的基石&#xff0c;而NTFS和exFAT无疑是这块基石上的两大巨头。它们各自拥有独特的特点和优势&#xff0c;并在不同的使用场景中发挥着重要作用。 什么是文件系统 文件系统提供了组织驱动器的方法。它规定了如何在驱动器上存储数…

监控易监测对象及指标之:全面监控Oracle RAC数据库

随着企业业务的不断增长和复杂化&#xff0c;对数据库的高可用性和性能要求也日益提高。Oracle Real Application Clusters (RAC) 作为Oracle提供的一种高可用性和可扩展性的数据库解决方案&#xff0c;被广泛应用于各种关键业务场景中。 一、ASM磁盘与磁盘分组监控 ASM&#…

android中的JNI的DEMO

一&#xff1a;源代码 native-lib.cpp #include "native-lib.h"JNIEXPORT jint JNICALL Java_com_example_jnidemo_MainActivity_add(JNIEnv* env, jobject, jint a, jint b) {return a b; }JNIEXPORT jint JNICALL Java_com_example_jnidemo_MainActivity_subtra…

学习文件上传和下载

文件上传下载 文件上传 文件上传的应用 比如个人信息的管理&#xff0c;上传头像 比如商品信息的管理&#xff0c;上传商品的图片 这些都需要通过浏览器客户端将图片上传到服务器的磁盘上 文件上传原理 所谓的文件上传就是服务器端通过request对象获取输入流&#xff0c;将浏…

当 DolphinDB 遇上方程式赛车:捕捉极速赛场上的时间印记

在风驰电掣的赛车场上&#xff0c;每一毫秒都蕴藏着无限的可能。在这里&#xff0c;数据不再是冰冷的数字序列&#xff0c;而是跳动的脉搏&#xff0c;每一次跃动都精准地回应着赛车的每一次呼吸&#xff0c;敏锐感知着赛车的动态。随着物联网和遥测技术的发展&#xff0c;实时…

六西格玛培训新选择,老字号品质有保障!

在追求企业卓越与完美的道路上&#xff0c;六西格玛管理无疑是一个被广泛认可与采纳的方法论。六西格玛不仅仅是一种管理策略&#xff0c;更是一种文化和哲学&#xff0c;它强调通过数据驱动和持续改进来减少流程中的缺陷&#xff0c;提升客户满意度&#xff0c;并最终实现企业…

【ARM Coresight Debug 系列 -- ARMv8/v9 软件实现断点地址设置】

请阅读【嵌入式开发学习必备专栏 】 文章目录 ARMv8/v9 软件设置断点地址断点地址软件配置流程代码实现 ARMv8/v9 软件设置断点地址 在ARMv8/9架构中&#xff0c;可以通过寄存器 DBGBVR0_EL1 设置断点。这个寄存器是一系列调试断点值寄存器中的第一个DBGBVRn_EL1&#xff0c;其…

jpg图片怎么压缩大小?图片压缩,3个方法

在日常生活中&#xff0c;我们经常会面临着需要在网络上传送、分享或存储的图片文件过大的问题&#xff0c;而JPG格式的图片由于其普遍性&#xff0c;也常常成为我们处理的对象。为了解决这一常见的挑战&#xff0c;学会如何压缩JPG图片的大小是非常实用的技能。 在这篇文章中…

水文地质勘探乙级资质的升级策略

1. 技术力量增强 引进高端人才&#xff1a;积极招募具有高级职称或相关专业领域内有影响力的专家&#xff0c;提升团队整体技术水平。专业培训提升&#xff1a;定期组织员工参加国内外专业培训、研讨会&#xff0c;加强理论知识和实践技能的更新。技术研发与创新&#xff1a;加…

渗透测试基础(二)

1. Linux常用命令 1.1 解压缩相关 2. Win下常用Dos命令 2.1 打开Dos命令行 WinR 输入cmd&#xff0c;按下回车。

「51媒体」电视台媒体邀约采访报道怎么做?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 电视台作为地方主流媒体&#xff0c;对于新闻报道有着严格的选题标准和报道流程。如果您希望电视台对某个会议或活动进行报道&#xff0c;可以按这样的方法来做&#xff1a; 1.明确活动信…