-
pycharm 全注释: 选中多行文本,按Ctrl+/ pycharm取消全注释: 选中多行已被注释的文本,按Ctrl+/查看全部
-
吧对象转换成字符串的魔术方法 __str__ 把对象转换成适合人看的字符串 __repr__ 把对象转换成适合机器看的字符串 __unicode__ 展现对象属性魔术方法 __dir__查看全部
-
判断两个对象是否相等 1.首先判断传进来的对象是不是同样的类型,isinstance(other,Programer) 2.判断他们的属性是否相等查看全部
-
实例化过程分为2步: 1.创建类的对象 def __new__(cls),在__init__ 之前调用,返回一个类的初始对象 2.初始化对象 def __init__(self) 由__init__ 对初始对象进行设置 回收对象: __del()__ 由 python 的回收机制来调用查看全部
-
多态: 子类重写父类 A()方法,实例化父类对象调用 A()时调用的是父类的 A()方法,用子类的实例化对象调用 A()方法时调用的是子类的 A()方法查看全部
-
子类的类型判断: isinstance(对象名, 类名) 或 isinstance(对象名, (类名1, 类名2, 类名3, ...)):判断子类是不是父类类型 issubclass(类名, 类名) 或 issubclass(类名, (类名1, 类名2, 类名3, ...)):判断是否是子类 继承以及用super()调用父类的方法: py2: class A(object): def __init__(self,name): self.name=name class B(A): def method(self,arg): super(子类名 B,self).__init__(name) py3: class A(): def __init__(self,name): self.name=name class B(A): def __init__(self,weight): super().__init__(name) #super()让子类和父类关联起来,使子类包含父类的所有属性查看全部
-
函数和方法: 函数是直接用函数名调用的,而方法是类的一部分,必须和对象结合一起使用 类的方法也是类的属性,是 method 类型的属性 @classmethod 调用的时候用类名,而不是某个对象。也就是 类名.方法 @property 像访问属性一样调用方法,也就是 对象.方法名 ,而不加括号查看全部
-
其实 python 没有访问控制,没有提供私有属性的功能 定义类的属性: 1:直接在类里定义 class Programer(object): sex = 'male' 2:在构造函数里定义 class Programer(object): def __init__(self,name,age): self.name = name #可以公开访问 self._age = age #私有属性 self.__weight = weight#部分私有属性,类可访问,实例无法直接访问 #可通过实例名._类名__weight访问 .__dict__#查看对象属性的情况 programer=Programer('Albert',25,80) print programer.__dict__ 打印对象属性发现是{'_age':25,'_Programer__weight':70,'name':'Albert'} 就会发现: 1.给属性age在前面加 "_" 变成私有属性从而不能通过 programer.age 访问 age,实际上只是给属性起了另外一个名字而已,仍然可以通过 programer._age 访问到 age 属性,这并不是严格意义上的私有属性。 2.给属性 weight 加 "__" 从而不能通过 programer.__weight 访问__weight 同样是是因为对象属性名变成了 _Programer__weight,这个变化是自动的。因此还是可以通过 programer._Programer__weight 访问,并没有提供严格意义上的访问控制,并不是严格意义上的私有属性查看全部
-
python的两个内建函数 dir() 查看对象的属性 type() 返回对象的类型查看全部
-
函数和方法的不同,函数可直接调用,方法从属类查看全部
-
Python中的函数和方法是不同的两个概念 函数: 定义在类的外部, 直接通过函数名来调用 方法: 定义在类中,通过类或对象来进行调用查看全部
-
object.__new__只传递对象自身,不传递参数查看全部
-
object.__new__只传递对象自身,不传递参数查看全部
-
Python的类中实现__dir__()方法,可以自定义对对象使用dir方法时返回的属性: 1. dir(p): 返回对象p所有的属性 2. p.__dict__: 返回对象p的所有自定义属性的dict, 如{'name': 'Adam', 'age': 20} 3. p.__dict__.keys(): 则可以返回对象p的所有自定义属性的列表, 如['name', 'age'] 4, 重写__dir__()方法, 只对外暴露自己想暴露出去的属性, 如: ------------------------------- def __dir__(self): return self.__dict__.keys() #只对外展现自定义的属性 -------------------------------查看全部
-
在python的类中实现__eq__(), __lt__(), __gt__()方法后,就可以进行<, >, ==, !=运算了, 例: class employee(object): def __init__(self, age): self.age = age def __eq__(self, other): if isinstance(other, employee): return self.age == other.age else: raise Exception("Error of type") def __lt__(self, other): if isinstance(other, employee): return self.age < other.age else: raise Exception("Error of type") def __gt__(self, other): if isinstance(other, employee): return self.age > other.age else: raise Exception("Error of type") p1 = employee(20) p2 = employee(30) p3 = employee(30) 那么: >>> print p1 < p2 True >>> print p1 > p2 False >>> print p1 == p2 False >>> print p2 == p3 True查看全部
举报
0/150
提交
取消