031单例+作业
class Person:__v = None@classmethoddef get_instance(cls):if cls.__v:return cls.__velse:cls.__v = Person()return cls.__v#不使用類()創建對象
obj = Person.get_instance()
print(obj)
和 Java的好像有蠻多不同,讓我感覺有點怪,可以確定的是上面的,不能實現單例模式,后面補上
補:
查了一下,發現好像不對,感覺有問題。找到的python2.*的單例不是這樣的
python2.*類型改,但是會報錯,這個錯誤我就不分析了,復雜
class Singleton(object):def __new__(cls,*args,**kwargs):if not hasattr(cls,'_inst'):cls._inst = super(Singleton,cls).__new__(cls,*args,**kwargs) ###### TypeError: object() takes no parametersreturn cls._instif __name__ == '__main__':class A(Singleton):def __init__(self,s):self.s = sa = A('apple')b = A('banana')print(id(a), a.s)print(id(b), b.s)可能用最上面的就好了,我找時間去看一下其他的教程是怎么樣的。然后再補上
?
?
作業: 選課系統 (我后面補/捂臉)
角色:學校、學員、課程、講師
要求:
1. 創建北京、上海 2 所學校
2. 創建linux , python , go 3個課程 , linux\py 在北京開, go 在上海開
3. 課程包含,周期,價格,通過學校創建課程
4. 通過學校創建班級,班級關聯課程、講師
5. 創建學員時,選擇學校,關聯班級
5. 創建講師角色時要關聯學校,
6. 提供兩個角色接口
6.1 學員視圖,可以注冊,交學費,選擇班級,
6.2 講師視圖,講師可管理自己的班級,上課時選擇班級,查看班級學員列表,修改所管理的學員的成績
6.3 管理視圖,創建講師,創建班級,創建課程
7. 上面的操作產生的數據都通過pickle序列化保存到文件里
源文檔 <http://www.cnblogs.com/alex3714/articles/5188179.html>?????? 源文檔有一些例子,可以看一下
?
轉載于:https://www.cnblogs.com/-nbloser/p/8344041.html
總結
- 上一篇: Java学习笔记53(网络编程:TCP协
- 下一篇: [Leetcode] Reverse I