首页 > 编程语言 >python __new__ __init__

python __new__ __init__

时间:2023-12-07 11:46:55浏览次数:27  
标签:__ .__ python init new isinstance cls

class Student():
    def __new__(cls, *args, **kwargs):##创建类的实例
        print('__new__')
        return object.__new__(cls)##此处返回才会调用__init__
    def __init__(self):##初始化类的实例
        print('__init__')

class NewInt(int):
    def __new__(cls, value):
        return int.__new__(cls,abs(value))
#单例横式
class Person():
    __isinstance=False
    def __new__(cls, *args, **kwargs):
        if cls.__isinstance:
            return cls.__isinstance
        else:
            cls.__isinstance = object.__new__(cls)
            return cls.__isinstance
    def __init__(self):
        print('3333')
if __name__=='__main__':
  stu=Student()
  nint=NewInt(-2.45)
  print(nint) ##2
  p1=Person()
  p2 = Person()
  print(p1,p2)

  

标签:__,.__,python,init,new,isinstance,cls
From: https://www.cnblogs.com/howhy/p/17881341.html

相关文章

  • React 中虚拟DOM是什么,为什么需要它?
    注意:本节主要讲React中的虚拟DOM,但是虚拟DOM并不是React中特有的内容。1.React中虚拟DOM是什么?虚拟DOM是对真实DOM的描述,虚拟DOM是JS对象,实际上就是JSX通过babel转换成React.createElement(),然后这个函数执行后变成的JS对象。关于JSX的介绍可以参考我的这篇文章JSX......
  • SQL将多个结果集合并为一个结果,每个结果以逗号隔开
    场景描述:假设一张表有列A查询出的结果 A小张小明小红需要返回结果为:小张,小明,小红实现步骤:需要使用到两个函数,分别是forxmlPath(''),Stuff(p1,p2,p3,p4)函数1:使用实例select','+Afrom[tablename]forxmlPath('')返回结果:,小张,小明,小红通过返回结......
  • [python]数据分析--数据清洗处理case1
    数据预处理案例1主要涉及pandas读取csv文件,缺失值和重复值处理,分组计数,字段类型转换,结果写入到Excel。根据要求对CSV数据集进行处理要求如下:保留数据关键信息:time、latitude、longtitude、depth、mag、region注意其中的region未直接提供,需要从数据集中的place中获取。......
  • Spring的后置处理器BeanPostProcessor接口的执行流程
    BeanPostProcessor的设计目标主要是提供一种扩展机制,让开发者可以在SpringBean的初始化阶段进行自定义操作。这种设计理念主要体现了Spring的一种重要原则,即“开放封闭原则”。开放封闭原则强调软件实体(类、模块、函数等等)应该对于扩展是开放的,对于修改是封闭的。在这里,Spring容......
  • Django高级特性:django-apscheduler定时任务
     前言:在使用Django框架开发web项目时,很多时候需要设置定时任务或让用户手动在页面上设置定时任务在Django中实现定时任务功能大概有以下三种方法:Celery分布式任务队列。侧重实时操作,可用于生产系统处理数以百万计的任务,都用于大型项目,配置和使用较为复杂。由于它本身......
  • linux 安装mysql
    1、到指定目录下下载安装包[root@master~]#cd/usr/local/src2、下载mysql8[root@mastersrc]#wgethttps://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 3、解压mysql8,通过xz命令解压出tar包(这里时间可能会久一点根据服务器......
  • IIS 漏洞Http.sys 远程代码执行
     漏洞描述弱点描述:在微软4月14日补丁日发布的补丁中,有一个针对IIS服务器的远程代码执行漏洞危害非常大,安恒信息提醒广大用户注意。漏洞信息远程执行代码漏洞存在于HTTP协议堆栈(HTTP.sys)中,当HTTP.sys未正确分析经特殊设计的HTTP请求时会导致此漏洞。成......
  • 启动项目
    1、vscode有些下载是有权限的,用命令行下载2、用管理员权限下载3、用cnpm淘宝镜像下载(快)4、https://my.oschina.net/u/3914215/blog/55531105、下载pnpm后无法使用pnpm,需要配置环境变量;配置完环境变量后用admin的命令可以pnpm-v,vscode不行,需要重启电脑https://blog.csd......
  • wamp修改站点路径,php服务器修改路径
    一、修改apache目录下载好WampServer后,它默认网站根目录是:“D:/wamp/www”(示例若不同点击右下角的wampserver有个www目录即默认网站根目录)打个比方,我现在要把网站根目录改为“E:/study”1.打开 D:\wamp\bin\apache\apache2.4.23\conf(本机示例)中的httd.conf......
  • 使用函数计算,数禾如何实现高效的数据处理?
    作者|邱鑫鑫,王彬,牟柏旭公司背景和业务数禾科技以大数据和技术为驱动,为金融机构提供高效的智能零售金融解决方案,服务银行、信托、消费金融公司、保险、小贷公司等持牌金融机构,业务涵盖消费信贷、小微企业信贷、场景分期等多个领域,提供营销获客、风险防控、运营管理等服务。数禾科......