python基础_面向对象进阶】的更多相关文章

@property装饰器 之前我们讨论过Python中属性和方法访问权限的问题,虽然我们不建议将属性设置为私有的,但是如果直接将属性暴露给外界也是有问题的,比如我们没有办法检查赋给属性的值是否有效.我们之前的建议是将属性命名以单下划线开头,通过这种方式来暗示属性是受保护的,不建议外界直接访问,那么如果想访问属性可以通过属性的getter(访问器)和setter(修改器)方法进行对应的操作.如果要做到这点,就可以考虑使用@property包装器来包装getter和setter方法,使得对属性的访问…
面向对象进阶 类型判断 issubclass 首先,我们先看issubclass() 这个内置函数可以帮我们判断x类是否是y类型的子类. class Base: pass class Foo(Base): pass class Bar(Foo): pass print(issubclass(Bar, Foo)) # True print(issubclass(Foo, Bar)) # False print(issubclass(Bar, Base)) # True type 然后我们来看typ…
类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的多少,在内存中只创建一份. 一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 字段定义和使用 由上述代码可以看出[普通字段需要通过对象来访问][静态字段通过类访问],在使用上可以看出普通字段和静态字段的归属是…
一 isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象  和  issubclass(sub, super)检查sub类是否是 super 类的派生类 class A: pass class B(A): pass print(issubclass(B,A)) # B是A的子类 ,返回True a1 = A() print(isinstance(a1,A)) # a1 是A 的实例 二 反…
一.isinstance(obj,cls)和issubclass(sub,super) 1.isinstance(obj,cls)检查obj是否是类 cls 的对象 class A: pass obj = A() #实例化对象obj isinstance(对象名,类名)#语法 print(isinstance(obj,A)) #isinstance函数返回的是布尔值,True,则obj,是A产生的对象 print(isinstance(object,A)) #同上,反之,为不是. -------…
面向对象定义 把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态分派. 类和对象 简单的说,类是对象的蓝图和模板,而对象是类的实例.这个解释虽然有点像用概念在解释概念,但是从这句话我们至少可以看出,类是抽象的概念,而对象是…
一.__getattribute__ 我们一看见getattribute,就想起来前面学的getattr,好了,我们先回顾一下getattr的用法吧! class foo: def __init__(self,name): self.name = name def __getattr__(self, item): #调用不存在的方法时,会触发它的执行 print("执行了---> getattr") f1 = foo("michael") #实例化对象f1 p…
自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python    1.1 自学Python1.1-简介    1.2 自学Python1.2-环境的搭建:Pycharm及python安装详细教程    1.3 自学Python1.3-centos内python3并与python2共存    1.4 自学Python1.4-Centos内vim中文乱码问题    1.5 自学Python1.5-Centos内python2识别中文    1.6 …
python基础篇之进阶 参考博客:http://www.cnblogs.com/wupeiqi/articles/5115190.html python种类 1. cpython  使用c解释器生产.pyc(字节码),然后转换成机器码,最后到cpu2. javapython java解释器-->字节码-->机器码-->cpu3. IronPython C#解释器-->字节码 --> 机器码--> cpu4. pypy  内部使用自己的解释器编译成字节码-->机器…
python基础_格式化输出(%用法和format用法) 目录 %用法 format用法 %用法 1.整数的输出 %o -- oct 八进制%d -- dec 十进制%x -- hex 十六进制 >>> print('%o' % 20) 24 >>> print('%d' % 20) 20 >>> print('%x' % 20) 14 2.浮点数输出 (1)格式化输出 %f --保留小数点后面六位有效数字 %.3f,保留3位小数位%e --保留小数点…