python 精简入门
-
数据类型
-
五种数据类型
-
Numbers
- int(long 已被去除)
- float
- complex(复数)
-
String
-
List
-
Tuple
-
Dictionary
-
-
变量使用前必须被赋值,赋值之后才会被创建
-
-
常用容器
-
List
-
初始化
list=[]
list=[item1,item2]
-
运算
- 切割(
list[i:j]
) - 连接(
list+list
) - 重复(
list*2
相当于list+list
)
- 切割(
-
赋值
list[1]=itemx
-
-
Tuple
-
与 List 类似,只是不可二次赋值
-
初始化
tuple=(item1,item2)
-
运算
- 切割(
tuple[i:j]
) - 连接(
tuple+tuple
) - 重复(
tuple*2
)
- 切割(
-
-
Dictionary
-
无序对象集合
-
初始化
dict={}
-
赋值
dict[1]=item1
dict['str']=item2
-
方法
- 获取键:
dict.keys()
- 获取值:
dict.values()
- 获取键:
-
-
-
类
-
定义
class ClassName: '类的帮助信息' #类文档字符串 visited = 0 # 类静态变量 class_suite #类体 def __init__(self): self.__name = "111" # 私有 private self._age = 1 # 保护 protected self.height = 1 # 共有 public
- 类的帮助信息可以通过
ClassName._doc_
查看 - 类体(class_suite)由类成员、方法、数据属性组成
- 类的帮助信息可以通过
-
访问权限
__foo__
:定义的是特殊方法,一般是系统定义名字,类似_init_()
。_foo
:以单下画线开头时表示的是 protected 类型的变量,即保护类型只允许其本身与子类进行访问,不能用于from module import *
。__foo
:以双下画线开头时,表示的是私有类型(private)的变量,即只允许这个类本身进行访问。
-
继承
-
语法
class 派生类名(基类名):类体
-
特点
- 在继承中基类的初始化方法
_init_()
不会被自动调用,它需要在其派生类的构造中亲自专门调用。 - 在调用基类的方法时,需要使用
super()
前缀。 - 先在本类中查找调用的方法,找不到才去基类中找
- 支持多重继承
- 在继承中基类的初始化方法
-
例子
class Father: def __init__(self): print("父类构造函数") class Son(Father): def __init__(self): # 如果不显式调用,则不会被调用(区别于Java) super().__init__() print("子类构造函数") if __name__ == '__main__': s = Son()
-
-
基础重载方法
序号 方法 描述 简单的调用 1 __init__ (self [,args...])
构造函数 obj = className(args)
2 __del__(self)
析构方法,删除一个对象 del obj
3 __repr__(self)
转化为供解释器读取的形式,如默认的可能为 <__main__.Person object at 0x10055555>
repr(obj)
4 __str__(self)
用于将值转化为适于人阅读的形式 str(obj)
5 __cmp__(self, other)
对象比较,是否相等,相等为 0,否则为 1。注意: 在 Python 3 中, __cmp__()
方法已被弃用。建议使用__eq__()
、__lt__()
、__le__()
、__gt__()
和__ge__()
方法来比较对象。cmp(obj, x)
-
UML 精简概述
-
UML 定义
-
Unified Modeling Language 统一建模语言
-
一整套图组成的标准化建模语言,一整套图可以分为两组
-
结构性图
- 类图
- 组件图
- 部署图
- 对象图
- 包图
- 组合结构图
- 轮廓图
-
行为性图
- 用例图
- 活动图(也叫流程图)
- 状态机图
- 序列图
- 通信图
- 交互图
- 时序图
-
-
-
常见的关系
-
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
-
泛化(Generalization)
- 是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。
-
实现(Realization)
- 是一种类与接口的关系,表示类是接口所有特征和行为的实现。
-
组合(Composition)
- 也表示整体与部分的关系,但部分离开整体后无法单独存在。因此,组合与聚合相比是一种更强的关系。
-
聚合(Aggregation)
- 是整体与部分的关系,部分可以离开整体而单独存在。
-
关联(Association)
- 是一种拥有关系,它使一个类知道另一个类的属性和方法。关联可以是双向的,也可以是单向的。
-
依赖(Dependency)
- 是一种使用的关系,即一个类的实现需要另一个类的协助,所以尽量不要使用双向的互相依赖。
-
-