类的单例模式

# new:创建对象自动调用
# new原理:返回值,返回值对象,当前类 -- 条件满足了  init
# 实例对象 -- instance
class Person(object):
    cls_shuxing = None
    # 控制只做一次初始化的开关 -- 开关打开 -- 表示判断
    is_First = True
    def __new__(cls, *args, **kwargs):
        if cls.cls_shuxing == None:
            # 创建对象 -- new
            cls.cls_shuxing = super().__new__(cls)
        return cls.cls_shuxing


    def __init__(self, name,age, sex,id):
        if self.is_First == True: # 实现只做一次初始化
            self.name = name
            self.age = age
            self.sex = sex
            self.id = id
            # 关掉开关
            self.is_First = False

    def __str__(self):
        return '名字是%s,年龄是%s,性别是%s,id是%s' % (self.name, self.age, self.sex, self.id)

dafan = Person('大凡', 18, '女',id=100)
print(dafan)
erfan = Person('二凡', 20, '男', id=110)
print(erfan)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏蜕变

Python 数据类型

Python主要数据类型包括list(列表)、tuple(元组)、dict(字典)和set(集合)等对象,下面逐一介绍这些Python数据类型。

850
来自专栏Golang语言社区

[基础篇]Go语言变量

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。 Go 语言变量名由字母、数字、下划线组成,其中首个字母不能为数字。 声...

3837
来自专栏青玉伏案

窥探Swift之数组安全索引与数组切片

  今天是元宵节,祝大家元宵节快乐!在Swift中的数组和字典中下标是非常常见的,数组可以通过索引下标进行元素的查询,字典可以通过键下标来获取相应的值。在使用数...

2775
来自专栏HTML5学堂

break以及continue语句

HTML5学堂:ECMAScript当中存在着break以及continue两种语句,这两种语句通常用于循环语句以及分支语句当中。那么,break以及conti...

3074
来自专栏抠抠空间

集合 (set) 的增删改查及 copy()方法

简介: 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的。以下是集合最重要的两点: 1、...

30711
来自专栏小二的折腾日记

《effective C++》from line 1 to line 12

包含着最初的以c语言为基础的C,面向对象的C++,C++的泛型编程,以及STL。在我们使用的过程中,可能会穿插,但是我们需要根据不同的情况使用不同的策略。

843
来自专栏个人分享

JAVA虚拟机类型转换学习

  Java虚拟机包括血多进行基本类型转换工作的操作码,这些执行转换工作的操作码后面没有操作数,转换的值从栈顶端获得。Java虚拟机从栈顶端弹出一个值,对它进行...

1215
来自专栏程序员互动联盟

【编程基础】Java初学者需要了解的10个语法细节

语法语法,语法就是语言的法则。汉语有汉语的语法,英语有英语的语法,如果不懂语法那你写出来的句子要不然就是错误,要不然就是生涩难懂。要学习和使用Java语言就要遵...

3514
来自专栏java学习

Java每日一练(2017/8/21)

每日一句 学的到东西的事情是锻炼,学不到的是磨练。 查看以前的所有练习题目以及答案:https://mp.weixin.qq.com/mp/homepage?_...

35916
来自专栏cs

python的顺序程序设计

赋值 同步赋值:变量1,变量2,....变量n=表达式1,表达式2,.....表达式n 同步赋值首先计算右边n个表达式的值,然后同时将表达式的值赋给左边的n...

4336

扫码关注云+社区

领取腾讯云代金券