Python基础三
来源:互联网 发布:席德梅尔 知乎 编辑:程序博客网 时间:2024/05/19 22:56
本文目录:
1.类的几个常用方法(待完善)
2.类方法和静态方法
3.单列模式
4.异常
5.自定义异常
6.__init__文件和__all__语句的使用
1.类的几个常用方法(待完善):
1.__new__
创建类并返回这个类的实例
2.__init__
构造函数
3.__del__
被销毁时调用
4.__getattribute__(self, name)
访问类的属性时调用(注:调用类的方法时也会调用),name为属性的名字,此方法中不能调用self.类属性,
否则会死循环
5.__str__()
使用打印类时,类调用的方法
2.类方法和静态方法
#类方法,可以用classmethod来进行修饰,也可以不修饰
@classmethod
@classmethod def test(cls): return 'test'
def test(cls):
return 'test'
静态方法,@staticmethod来进行修饰
@staticmethod
@staticmethod def test(cls): return 'test'
def test(cls):
return 'test'
3.单列模式:
# 实例化一个单例
class Singleton(object): __instance = None def __new__(cls, age, name): #如果类数字能够__instance没有或者没有赋值 #那么就创建一个对象,并且赋值为这个对象的引用,保证下次调用这个方法时 #能够知道之前已经创建过对象了,这样就保证了只有1个对象 if not cls.__instance: cls.__instance = object.__new__(cls) return cls.__instance
4.异常
try: num = 100 print num#except (IOError,NameError): #捕获多个异常(也可以分开处理)except Exception as errorMsg: #捕获全部异常 print('产生错误了:',errorMsg)else: print('没有捕获到异常')
5.自定义异常
引发自定义的异常
你可以用raise语句来引发一个异常。异常/错误对象必须有一个名字,且它们应是Error或Exception类的子类
class ShortInputException(Exception): '''自定义的异常类''' def __init__(self, length, atleast): #super().__init__() self.length = length self.atleast = atleastdef main(): try: s = input('请输入 --> ') if len(s) < 3: # raise引发一个你定义的异常 raise ShortInputException(len(s), 3) except ShortInputException as result:#x这个变量被绑定到了错误的实例 print('ShortInputException: 输入的长度是 %d,长度至少应是 %d'% (result.length, result.atleast)) else: print('没有异常发生.')main()
也可以在捕获异常的处理中再次使用raise抛给系统
6.__init__文件和__all__语句的使用:
1.__init__.py文件有什么用
__init__.py 控制着包的导入行为
2._init__.py为空
仅仅是把这个包导入,不会导入包中的模块
3.__all__
在__init__.py文件中,定义一个__all__变量,它控制着 from 包名 import *时导入的模块
在__init__.py 中加入 __all__ 变量。该变量包含执行这样的语句时应该导入的模块的名字。它由一个模块名字符串列表组成.。
__all__=["test1","test2"]
阅读全文
0 0
- Python基础学习三
- Python学习基础三
- Python 基础语法(三)
- Python 基础语法(三)
- Python 基础语法(三)
- Python 基础(三)
- Python 基础语法(三)
- Python 基础语法(三)
- Python基础(三)
- Python 基础语法(三)
- Python基础三
- python基础入门(三)
- Python基础(三)
- python基础之三
- Python基础(三)
- Python基础三
- Python基础学习<三>
- python基础方面三
- c语言初步经典题5----求两个正整数的正差值
- POJ 3264 Balanced Lineup(线段树区间查询)
- 数组的静态初始化
- 2.常用控件:TextView
- RxJava Essentials 中文翻译版
- Python基础三
- 14. nohup
- 方法的调用
- link标签中的integrity和crossorigin字段
- Bomb [数位DP]
- 大数据面试算法[牛客笔记]
- 数组的反转
- org.apache.hadoop.io.nativeio.NativeIO$Windows.createFileWithMode0(Ljava/lang/String;JJJI)Ljava/io/F
- JVM系列三:JVM参数设置、分析