Python基础知识8 20190426

20190426

1.单例设计模式

类创建对象,创建对象唯一

class MusicPlayer(object):
    # 记录第一个被创建对象的引用
    instance = None
    def __new__(cls, *args, **kwargs):
        # 1. 判断类属性是否为空
        if cls.instance == None:
            # 2.调用父类方法,为第一个对象分配空间
            cls.instance = super().__new__(cls)
        # 3.返回对象引用
        return cls.instance
player1 = MusicPlayer()
print(player1)
player2 = MusicPlayer()
print(player2)

观察下面代码地址是一致的哦

<__main__.MusicPlayer object at 0x000001A54EE17518>
<__main__.MusicPlayer object at 0x000001A54EE17518>

2.new方法

new是由object基类提供的内置静态方法。作用(1)在内存为对象分配空间(2)返回对象的引用。目的是为了实现单例设计模式

class MusicPlayer(object):
    def __new__(cls, *args, **kwargs):
        # 1.创建对象类方法会被自动调用
        print("创建对象分配空间")
        # 2.为对象分配空间
        instance = super().__new__(cls)
        # 3.返回对象引用
        return  instance
    def __init__(self):
        print("播放器初始化")
player = MusicPlayer()
print(player)
创建对象分配空间
播放器初始化
<__main__.MusicPlayer object at 0x0000019D918B7518>
3.异常:
try:
    num = int(input("情输入一个整数:"))
except:
    print("请输入正确的整数:")
print("123456")
4.模块:每一个独立的源文件就是一个模块
5.name模块
6.包

包内包含————init————文件+多个模块

7.打开文件
file = open("readme")
text =file.read()
print(text)
file.close()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,148评论 1 32
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,846评论 0 10
  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 4,447评论 1 14
  • 小哥住家里阅读 149评论 0 0
  • 上周末刚结束了一段为期半年的浑浑噩噩的恋爱,甚至于我内心,都不能算作恋爱,至少我试着去喜欢,可始终没有喜欢,不知道...
    马克一下阅读 171评论 0 0