test

发布时间 2023-10-07 15:03:48作者: Mang001

 

## for in循环


`for x in range(101):`

![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922093902476-1522672448.png)


## 构建程序逻辑
编程练习,百钱买百鸡
## 函数和模块
python对函数参数的处理:

1. 对参数设施默认值;
2. 可变参数 “ *参数名 ”

## 字符串和常用数据结构
#### 字符串
![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922095027352-143974536.png)

#### 列表
![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922094946527-1080334608.png)
![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922095056305-2037022700.png)
![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922095114157-1255532412.png)
## 元组
![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922095152462-811063177.png)

元组在创建时间和存储空间上都优于列表
## 集合
![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922095328762-946434249.png)
![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922095356501-1003225496.png)
## 字典
![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922095426862-1428491225.png)

## 面向对象编程

![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922095933181-45404680.png)
**__init__()**函数是特殊函数,用于初始化对象。

在Python下,属性名前面加一个下划线_是一种约定,用于表示该属性是类的内部使用属性,不建议直接从外部访问。![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922100850205-1127227972.png)

**@statucmethod**装饰器用于定义静态方法。

其中静态方法没有默认的第一个参数指向实例或类,因此在静态方法内部不能访问类属性或实例属性。
![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922101901199-972688531.png)

**@classmethod**装饰器用于定义类方法。

它与类相关并且可以通过类或者实例进行调用类方法的第一个参数(通常被定义为cls表示类本身)

类方法可以访问类属性、调用其他类方法,并且可以在子类中进行继承和覆盖。![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922102254673-2133363052.png)

#### 类和类的关系有三种:is-a、has-a、use-a

1. is-a代表继承和泛化:比如学生和人的关系、手机和电子产品的关系都属于继承关系;
2. has-a代表关联,比如部门和员工的关系 (进而有聚合关系和合成关系);![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922102713770-2000660094.png)
![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922102729857-1609920259.png)

3. use-a代表依赖:![](https://img2023.cnblogs.com/blog/2846022/202309/2846022-20230922102831152-615270989.png)

## 继承和多态
继承:子类在继承父类的方法后可以选择对父类已有的方法给出新的修改,这被称为override(方法重写)。
多态(ABCmeta和abstarctclassmethod):被定义为元类的父类,其下定义的多态方法(abstractmethod)要求,子类在继承元类之后,必须实现其元类的多态方法同样的方法做了不同的事情;

## 进程和线程
进程是指操作系统中执行的一个程序;
1. 每个进程都有自己的一个地址空间、数据栈;
2. 进程间的通信方式:IPC Inter-Process Communication (比如说管道、信号、套接字以及共享内存区等)
3. 一个进程可以拥有多个并发执行线索(**线程**)