当前位置: 首页 > news >正文

网安小白筑基篇五:web后端基础之Python(补充Python的魔术方法)

Python

安装使用PyCharm

在网上找破解版,把破解jar文件拖进pycharm,help出现eval reset则成功

Python基础语法

见作者《网安小白学python》的python知识专栏

Python函数

见作者《网安小白学python》的python知识专栏

Python模块

见作者《网安小白学python》的python知识专栏

Python类和对象

见作者《网安小白学python》的python知识专栏

Python魔术方法

什么是Python魔术方法

  • Python中的魔术方法(Magic Methods),也被称为 双下划线方法(Dunder Methods)或特殊方法(Special Methods),是一类具有特殊命名规则的方法。它们的主要作 用是为Python中的对象提供内置的、特殊的行为。这些方法 的名称前后都带有两个下划线,如下。

__init__方法

  • 触发机制:在实例化对象之后立即触发

  • 举例说明

    class Person:
    	def __init__(self,name,age): #self为对象自身,name,age为属性
    		print("初始化")
    		self.name=name #实例化时进行赋值
    		self.age=age #实例化时进行赋值
    	def display(self):
    		print("名字是",self.name,",年龄是",self.age)
    p1 = Person("小明","24") #创建对象
    p1.display()
    

    在这里插入图片描述

__new__方法

  • 触发机制:实例化对象时自动触发(在__init__之前触发)。

  • 在Python中,__new__方法是一个静态方法(尽管不需要显式使用@staticmethod装饰器),它负责创建并返回一个类的实例。__new__方法的第一个参数 cls 表示当前正在被实例化的类本身(类似于普通方法中的self,但self指实例,而cls指类)。

  • 在自定义__new__时,通常需要通过super().new(cls)调用父类的__new__来创建实例(通常是object.new)。

  • 举例说明

    class Myclass:
    	def __new__(cls,*args,**kwargs): #该方法必须带上cls(class)参数,代表参数接受当前类
    		print("创建对象中")
    		xyz = super().__new__(cls) #super是python的内置函数,super().__new__(cls)用于调用父类的__new__()方法来创建实例
    		return xyz;#需要将创建的实例返回
    	def __init__(self,name,age): #self为对象自身,name,age为属性
    		print("初始化")
    		self.name=name #实例化时进行赋值
    		self.age=age #实例化时进行赋值
    	def display(self):
    		print("名字是",self.name,",年龄是",self.age)
    p1 = Myclass("小明","24") #创建对象
    p1.display()
    

    在这里插入图片描述

__del__方法

  • 触发机制:当该类对象被销毁时,自动触发。

  • 举例说明:

    class Myclass:
    	def __init__(self,data="初始值"):
    		print("init魔术方法")
    		self.data=data
    	def __del__(self): #self为对象自身,name,age为属性
    		print("销毁对象")
    	def display(self):
    		print(self.data)
    p1 = Myclass("你好") #创建对象
    p1.display()
    del p1;#删除对象
    

    在这里插入图片描述

    python具备垃圾回收的机制

__str__方法

  • 触发机制:使用print(对象)或str(对象)时触发。

__getitem__方法

  • 触发机制:获取对象中指定键的值时触发。

__setitem__方法

  • 触发机制:设置对象中指定键的值时触发

__call__方法

  • 触发机制:将对象当做函数调用时触发,即使用对象()形式。
http://www.dtcms.com/a/113721.html

相关文章:

  • Scade One - 将MBD技术从少数高安全领域向更广泛的安全嵌入式软件普及
  • 使用MATIO库读取Matlab数据文件中的cell结构数据
  • 【设计模式】命令模式
  • mine craft经典信封
  • 力扣刷题-热题100题-第31题(c++、python)
  • 博途 TIA Portal之1200做主站与200SMART的S7通讯
  • 《减压宝典》Python篇
  • leetcode每日一题:替换子串得到平衡字符串
  • vue3实现markdown预览和编辑
  • Cursor 无限续杯 Windows版
  • 智能体开发实战指南:提示词设计、开发框架与工作流详解
  • ROS多设备交互
  • 用C语言控制键盘上的方向键
  • LightRAG核心原理和数据流
  • Cisco Packet Tracer 8.0(新版)
  • 【神经网络】python实现神经网络(三)——正向学习的模拟演练
  • Unity插件SuperScrollView详解(进阶篇)
  • MySQL篇(五)MySQL主从同步原理深度剖析
  • 面试算法高频03-递归
  • day 8 TIM定时器
  • 第八章 Python基础进阶-数据可视化(终)
  • FfreeRTOS有阻塞作用的API
  • 12款字重国外法国风格复古报纸日历设计衬线英文字体安装包 Claire Font Family
  • docker swarm常用命令
  • python爬虫爬取淘宝热销(热门)男装商品信息(课程设计;提供源码、使用说明文档及相关文档;售后可联系博主)
  • Rust切片、结构体、枚举
  • macOS下SourceInsight的替代品
  • 前端工程化之模块化开发 webpack
  • 完整的Python程序,它能够根据两个Excel表格(假设在同一个Excel文件的不同sheet中)中的历史数据来预测未来G列数字
  • #C8# UVM中的factory机制 #S8.1.1# 多态的实现方式(三)