python 中的类
2021-07-04 14:07
标签:构造 特殊方法 sort 方法 一个 需要 访问 封装 color 1.1 类里面包括:类的属性、方法 OO的特征(Object Oriented) 封装:信息隐蔽技术 继承:继承是子类自动共享父类之间数据和方法的机制 多态:不同对象对同一方法响应不同的行为 OOA:面对对象分析 OOP:面对对象编程 OOD:面对对象设计 对象的方法中都有一个self的参数,相等于C++的this 指针 由一个类可以生成无数的对象,这些对象都长的基本一样,当一个对象的方法被调用的时候,对象会将自身(self)作为第一个参数,接收到这一个参数的时候,Python的类就知道是哪一个对象在调用方法了 执行之后的结果: 1.2 python中的魔法方法: python的对象天生拥有一些神奇的方法,他们是面对对象的python的一切,他们是可以给你的类增加魔力的特殊方法,如果你的对象实现了这些方法中的某一个,这个方法就会在特殊的情况下被python所调用,而这一切都是自动发生的。 这些具有魔力的方法都是以双下划线定义: __init__(self):构造方法 ,该方法的魔力在于,实例化一个对象的时候,那么这个方法会在这个对象创建的时候调用(c++中的构造函数,)进行初始化操作 1.2.1 公有和私有 默认的情况下类中的属性和方法都是公有的,都是可以通过点操作符来进行访问 为了实现类似私有变量的特征,python内部中采用一种name mangling(名字改编,名字重整) 在Python中定义私有变量只需要在变量名或函数名前加上“__”两个下划线,那么这个函数或变量就会私有的了。 可以通过类内的方法来进行访问 实际上是对变量作了手脚 将变量名改成了 _类名__变量名 所有上面的person类中的私有变量可以通过以下方法访问到: python 中的类 标签:构造 特殊方法 sort 方法 一个 需要 访问 封装 color 原文地址:https://www.cnblogs.com/hai5111/p/9612990.html>>> class MyClass(list):
pass
>>> list1.append(4)
>>> list1.append(3)
>>> list1.append(7)
>>> list1
[4, 3, 7]
>>> list1.sort()
>>> list1
[3, 4, 7]
class Ball:
def SetName(self,name):
self.name = name
def kick(self):
print(‘我是%s,你踢我干嘛!‘,self.name)
>>> a.Kick()
我是球A,你踢我干嘛!
>>> b.Kick()
我是球B,你踢我干嘛!
>>> c.Kick()
我是球C,你踢我干嘛!
class Person:
_name = ‘小甲鱼‘
>>> p = Person()
>>> p._Person__name
‘小甲鱼‘
>>>