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()

你可能感兴趣的:(Python基础知识8 20190426)