点击此处浏览总目录
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 40 下一页
摘要: Python也不例外,跟其他高级语言一样,内置了一套try...except...finally...的错误处理机制 当认为某些代码可能会出错时,就可以用try来运行这段代码 使用try时,要么except和finally至少要有一个存在,否则会无法通过编译 捕获异常的意义在于,可以阻止程序意外中止 阅读全文
posted @ 2019-06-12 12:00 立业的博客 阅读(1237) 评论(0) 推荐(0) 编辑
摘要: 使用type()可以动态创建类,但要控制类的创建行为,还可使用metaclass,即元类 通常,当定义类以后,就可创建该类的实例,即先定义类,再创建实例 但要创建类,就必须根据metaclass先创建出类,然后再创建实例,即先定义metaclass,再创建类,最后再创建实例 metaclass允许创 阅读全文
posted @ 2019-06-12 11:30 立业的博客 阅读(337) 评论(0) 推荐(0) 编辑
摘要: trim():去前后空格 _____________________________________________________________________________________________ 阅读全文
posted @ 2019-06-11 11:08 立业的博客 阅读(123) 评论(0) 推荐(0) 编辑
摘要: type()函数既可以返回一个对象的类型,又可以创建出新的类型 通过type()函数创建的类和直接写class是完全一样的,因为Python解释器遇到class定义时,仅仅是扫描一下class定义的语法,然后调用type()函数创建出class 正常情况下,我们都用class Xxx...来定义类, 阅读全文
posted @ 2019-06-06 14:16 立业的博客 阅读(1479) 评论(0) 推荐(0) 编辑
摘要: 当需要定义常量时,一个办法是用大写变量通过整数来定义 好处是简单,缺点是类型是int,并且仍然是变量 Enum可以把一组相关常量定义在一个class中,且class不可变,而且成员可以直接比较,这样这些相关常量就不会变化了 使用枚举类 自定义枚举类 如果需要更精确地控制枚举类型,可以从Enum派生出 阅读全文
posted @ 2019-06-06 13:47 立业的博客 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 实现了__iter__()的实例虽能用于for循环,看似像list,但并不能将其当做list来使用,比如,Fib()[5]还是报错 可通过实现__getitem__()方法,;来实现让实例像list那样按照下标取出元素 实现按下标取元素 实现切片功能 __getitem__()传入的参数可能是一个i 阅读全文
posted @ 2019-06-06 11:28 立业的博客 阅读(872) 评论(0) 推荐(0) 编辑
摘要: 如果一个类想被用于for ... in循环,类似list或tuple那样,就必须实现一个__iter__()和__next__()方法,该方法返回一个迭代对象 然后,Python的for循环就会不断调用该迭代对象的__next__()方法拿到循环的下一个值,直到遇到StopIteration错误时退 阅读全文
posted @ 2019-06-06 10:39 立业的博客 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 当打印一个类的实例时,返回的字符串是对象的地址信息,如<__main__.Student object at 0x109afb310>,很不好看 可通过在类内定义__str__(),这样打印实例时就会返回一个好看的字符串,而且容易看出实例内部重要的数据 定义__str__() 定义__repr__( 阅读全文
posted @ 2019-06-06 10:25 立业的博客 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 正常情况下,当调用类的方法或属性时,如果不存在,就会报错 要避免这个错误,除了可以加上那个要调用但不存在的属性外,Python还有另一个机制,那就是写一个__getattr__()方法,动态返回一个属性 只有在没有找到属性的情况下,才调用__getattr__,已有的属性会直接在类属性里查找,不会在 阅读全文
posted @ 2019-06-05 17:51 立业的博客 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 任何类,只需要定义一个__call__()方法,就可直接对实例进行调用 对实例进行直接调用就好比对一个函数进行调用一样 __call__()还可定义参数,所以调用完全可以把对象看成函数,把函数看成对象,因为这两者之间本来就没啥根本的区别 如果把对象看成函数,那么函数本身其实也可以在运行期动态创建出来 阅读全文
posted @ 2019-06-05 17:49 立业的博客 阅读(248) 评论(0) 推荐(0) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 40 下一页