# Python编程语言

## 天池体验

- [Python入门（上）](https://developer.aliyun.com/ai/scenario/0e79900540a44163b17a58f37433dc59)
- [Python入门（中）](https://developer.aliyun.com/ai/scenario/72fd191415564071b57aead45b279856)
- [Python入门（下）](https://developer.aliyun.com/ai/scenario/19041cea290d4cae84b449ad66410a67)

## 基本信息
- 学习周期：17天 2-3h/天
- 学习形式：理论学习 + 练习
- 人群定位：Python小白，对Python语言有兴趣。
- 先修内容：无
- 难度系数：低


## 学习目标

- 了解Python的基础数据类型与运算。
- 掌握Python基础的语言结构与异常判断。
- 掌握列表、元组、字典和字符串等Python数据类型。
- 理解Python函数的概念与相关用法。
- 掌握Python类与对象用法，理解Python面向对象的特性。
- 了解Python处理文件与操作文件系统过程。

## 任务安排

### Task01：变量、运算符、数据类型及位运算(2天)

**理论部分**

- 了解python中基本的变量类型，运算符，及数据类型。
- 了解python的位运算。

**练习部分**

- 课后思考题
- leetcode练习题


### Task02：条件循环结构(1天)

**理论部分**

- 掌握基本的条件，循环语句的使用。
- 掌握assert断言break,continue，pass，等语句的使用。
- 熟悉推导式的用法。

**练习部分**

- 课后思考题
- 龟兔赛跑游戏


### Task03：异常处理(2天)

**理论部分**

- 了解可能会出现的各类异常。
- 熟练掌握`try_except_finally`结构，使用`raise`语句抛出指定的异常。

**练习部分**

- 猜字游戏

### Task04：列表、元组和字符串(3天)

**理论部分**

- 掌握列表的定义与创建。
- 熟练添加、删除和获取列表中的元素。
- 了解列表的常用操作符及其他方法。
- 掌握元组定义，熟悉创建和访问元组。
- 熟悉更新和删除元组。
- 了解元组相关的操作符和内置方法，以及解压元组。
- 掌握字符串的定义。
- 熟悉字符串的切片和拼接。
- 掌握字符串的常用内置方法和格式化。


**练习部分**

- 列表操作练习
- 元组操作练习
- 字符串操作练习
- 实现`isdigit`函数
- leetcode练习题


### Task05：字典、集合和序列(3天)

**理论部分**

- 掌握字典的定义，创建和访问字典。
- 熟悉字典的可变类型和不可变类型。
- 了解字典的内置方法。
- 掌握集合的创建与访问，熟悉集合的内置方法。
- 熟悉集合的转换，了解不可变集合。
- 熟悉针对序列的内置函数

**练习部分**

- 字典操作练习
- 集合操作练习
- 序列内置函数练习


### Task06：函数与Lambda表达式(2天)

**理论部分**

- 掌握函数的定义与调用，熟悉函数灵活的参数形态。
- 熟悉变量的作用域和递归函数。
- 熟悉匿名函数和定义与应用。

**练习部分**

- 课后思考题
- `lambda`表达式应用
- 汉诺塔游戏

### Task07：类、对象与魔法方法(3天)

**理论部分**

- 掌握类、对象和实例对象之间的关系，熟悉类的继承与多态。
- 理解`self`的含义，熟悉类的公有和私有，了解绑定的概念和相关内置函数。
- 了解Python的魔法方法，理解Python面向对象特性的基础。

**练习部分**

- 课后思考题
- 编程实践


### Task08：模块与datetime模块(2天)

**理论部分**

- 了解python的模块定义，理解python的命名空间。
- 熟悉python模块的引用方法与搜索路径。
- 了解并应用datetime模块。

**练习部分**

- 课后思考题
- 编程实践


### Task09： 文件与文件系统(1天)

**理论部分**

- 掌握打开文件的`open`函数,熟练文件对象的操作方法与with语句使用方法。
- 掌握OS模块关于文件/目录常用的函数。
- 了解Python的序列化与反序列化，熟悉`pickle`模块。

**练习部分**

- 课后思考题
- 编程实践

## 参考资料

- 菜鸟教程：https://www.runoob.com/python3/python3-tutorial.html
- 小甲鱼python基础入门：https://www.bilibili.com/video/av4050443



---
## 贡献人员

姓名 | 博客|备注
---|---|---
马燕鹏|[CSDN](https://lsgogroup.blog.csdn.net/)<br>微信公众号：LSGO软件技术团队|华北电力大学
徐韬|[CSDN](https://blog.csdn.net/qq_45019698)|华北电力大学
韩绘锦|[CSDN](https://blog.csdn.net/weixin_45569785)|华北电力大学
任帅|[CSDN](https://blog.csdn.net/qq_45556599)|华北电力大学
何煊||华北电力大学
皮钱超|[Github](https://github.com/pidada)|厦门大学