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