python里的反射(自学习)
摘要:在做程序开发中,我们常常会遇到这样的需求:需要执行对象里的某个方法,或需要调用对象中的某个变量,但是由于种种原因我们无法确定这个方法或变量是否存在,这是我们需要用一个特殊的方法或机制要访问和操作这个未知的方法或变量,这中机制就称之为反射。接下记录下反射几个重要方法: hasattr 判断对象中是否有
阅读全文
python的super()以及父类继承
摘要:Python中子类调用父类的方法有两种方法能够实现:调用父类构造方法,或者使用super函数(两者不要混用)。 使用“super”时经常会出现代码“super(FooChild,self).__init__(xxx,xxx)”。那super().__init__()到底要怎么用呢? 为了方便理解,我
阅读全文
@staticmethod
摘要:python staticmethod 返回函数的静态方法。 该方法不强制要求传递参数,如下声明一个静态方法: 以上实例声明了静态方法 f,类可以不用实例化就可以调用该方法 C.f(),当然也可以实例化后调用 C().f()。 函数语法 参数说明: 无 实例 #!/usr/bin/python #
阅读全文
@classmethod
摘要:@classmethod 类方法是给类用的,类在使用时会将类本身当做参数传给类方法的第一个参数,python为我们内置了函数classmethod来把类中的函数定义成类方法 应用场景: 因为e就是用Date类产生的,所以根本不会触发EuroDate.__str__,解决方法就是用classmetho
阅读全文
Python中_,__,__xx__的区别
摘要:_xx 单下划线开头 Python中没有真正的私有属性或方法,可以在你想声明为私有的方法和属性前加上单下划线,以提示该属性和方法不应在外部调用.如果真的调用了也不会出错,但不符合规范. 本文为译文,版权属于原作者,在此翻译为中文分享给大家。英文原文地址:Difference between _, _
阅读全文
类的属性和实例的属性
摘要:类的属性和实例的属性 由于 Python 是动态语言,根据类创建的实例,可以任意绑定属性。给实例绑定属性的方法可以通过实例变量,或者通过 self 变量来实现的,比如下面我们创建一个Student类: attr.py: [python] view plain copy #!/usr/bin/env
阅读全文
python里的property修饰器
摘要:在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: s = Student() s.score = 9999 这显然不合逻辑。为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,
阅读全文
python里类的概念
摘要:Python编程中类的概念可以比作是某种类型集合的描述,如“人类”可以被看作一个类,然后用人类这个类定义出每个具体的人——你、我、他等作为其对象。类还拥有属性和功能,属性即类本身的一些特性,如人类有名字、身高和体重等属性,而具体值则会根据每个人的不同;功能则是类所能实现的行为,如人类拥有吃饭、走路和
阅读全文
python里的文件I/O
摘要:Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档。 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式。此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出如下: !/usr/bin/python c
阅读全文
python的pdb调试
摘要:https://www.ibm.com/developerworks/cn/linux/l cn pythondebugger/
阅读全文
对python里的装饰器
摘要:内裤可以用来遮羞,但是到了冬天它没法为我们防风御寒,聪明的人们发明了长裤,有了长裤后宝宝再也不冷了,装饰器就像我们这里说的长裤,在不影响内裤作用的前提下,给我们的身子提供了保暖的功效。 再回到我们的主题 装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,
阅读全文