diff --git "a/\347\254\254\344\272\214\346\234\237\351\232\217\345\240\202\347\254\224\350\256\260/.keep" "b/\347\254\254\344\272\214\346\234\237\351\232\217\345\240\202\347\254\224\350\256\260/.keep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/\347\254\254\344\272\214\346\234\237\351\232\217\345\240\202\347\254\224\350\256\260/\347\254\254\344\270\200\345\221\250-Python\345\237\272\347\241\200/.keep" "b/\347\254\254\344\272\214\346\234\237\351\232\217\345\240\202\347\254\224\350\256\260/\347\254\254\344\270\200\345\221\250-Python\345\237\272\347\241\200/.keep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/\347\254\254\344\272\214\346\234\237\351\232\217\345\240\202\347\254\224\350\256\260/\347\254\254\344\270\200\345\221\250-Python\345\237\272\347\241\200/\347\254\254\344\270\200\345\221\250-\347\254\254\344\270\200\350\212\202\350\257\276-\351\232\217\345\240\202\347\254\224\350\256\260.md" "b/\347\254\254\344\272\214\346\234\237\351\232\217\345\240\202\347\254\224\350\256\260/\347\254\254\344\270\200\345\221\250-Python\345\237\272\347\241\200/\347\254\254\344\270\200\345\221\250-\347\254\254\344\270\200\350\212\202\350\257\276-\351\232\217\345\240\202\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..fa12e8753348aa6db68d9b9c43980eb3bb0218a2 --- /dev/null +++ "b/\347\254\254\344\272\214\346\234\237\351\232\217\345\240\202\347\254\224\350\256\260/\347\254\254\344\270\200\345\221\250-Python\345\237\272\347\241\200/\347\254\254\344\270\200\345\221\250-\347\254\254\344\270\200\350\212\202\350\257\276-\351\232\217\345\240\202\347\254\224\350\256\260.md" @@ -0,0 +1,172 @@ +# 第一周-第一节课-随堂笔记 + +## 养成良好的学习习惯 + +- 不要相信自己的记忆力, 做好笔记和文档 + + - `typora` + + ``` + https://typora.io/ + ``` + + - 创建标题 + + ``` + ctrl + 数字 + ``` + + - 创建目录列表结构 + + ``` + - + 空格 + ``` + + - 创建代码块 + + ``` + ctrl+shift+k + ``` + +- 科学的搜索习惯 + + - 官方文档和`github`库 + + ``` + https://docs.python.org/zh-cn/3.6/tutorial/index.html + https://github.com/ + ``` + + - StackOverflow(英语比较好的同学) + + ``` + https://stackoverflow.com/ + ``` + + - 简书和知乎 + + - 百度搜索 + +- 良好的学习心态 + + - 面向需求学习 + - 有效率地学习 + - 自己思索10分钟 + - 不要担心自己的问题太小白, 要及时地询问 + - 尽量在大群中讨论 + + + +## 编程语言的基本概述 + +- 什么是编程语言? + + 相对于人与人之间的沟通, 编程语言是人与计算机之间交互的媒介. + +- 代码的执行流程 + + 代码 -> 机器码 -> 由计算机的处理器来执行 + + - 把代码翻译为机器的翻译就是编译器, 在Python中也可以叫Python解释器 + - 编程语言Python是我们与解释器之间的翻译 + - 解释器是Python与计算机之间的翻译 + +- 编程语言有哪些分类? + + ``` + C + C++ + Java + Python + JavaScript + ``` + + - 编译型语言, 解释性语言和混合型语言 + - 动态语言和静态语言 + - 强类型语言和弱类型语言 + +- 什么是动态语言?什么是静态语言? + + 编译时不知道变量类型的叫做动态语言, 反之, 编译时知道变量类型的就叫做静态语言. + + - 动态语言 + - Python + - javascript + - 静态语言 + - C + - C++ + - Java + +- 什么是强类型语言? 什么是弱类型语言? + + 在使用变量时, 不会自动地改变变量的类型, 反之, 弱类型语言就会隐式帮你转换变量类型 + + - 弱类型语言 + - javascript + - 强类型语言 + - Python + - Java + - C + - C++ + +## Python环境的搭建 + +- Python下载 + + ``` + https://www.python.org/downloads/ + ``` + +- Python的安装 + + - 务必记住自己安装的目录 + - 环境变量的设置 + +- IDE的下载 + + ``` + https://www.jetbrains.com/pycharm/download/#section=windows + ``` + +- IDE的安装 + +## 运行我们第一个Python程序 + +- 使用Pycharm新建第一个项目 + +- 运行我们的第一个python程序 + +- 编辑模式和交互模式 + + - 就是在编辑器中写好代码再运行 + - 交互模式会立刻打印当前对象的值 + +- 可能会遇到的问题 + + - 无法运行, 找不到python + + Pycharm添加Python解释器环境 + + - `SyntaxError: EOL while scanning string literal` + + 单引号和双引号没有正确的关闭 + + - `SyntaxError: invalid character in identifier` + + Python关键词中使用了中文字符 + + - 缩进问题 + + ``` + 一般都是使用tab进行缩进的 + ``` + + ``` + IndentationError: unexpected indent + IndentationError: expected an indented block + ``` + +## 课后作业 + +- Python环境的搭建 +- 练习添加环境变量 \ No newline at end of file diff --git "a/\347\254\254\344\272\214\346\234\237\351\232\217\345\240\202\347\254\224\350\256\260/\347\254\254\344\270\200\345\221\250-Python\345\237\272\347\241\200/\347\254\254\344\270\200\345\221\250-\347\254\254\344\270\211\350\212\202\350\257\276-\351\232\217\345\240\202\347\254\224\350\256\260.md" "b/\347\254\254\344\272\214\346\234\237\351\232\217\345\240\202\347\254\224\350\256\260/\347\254\254\344\270\200\345\221\250-Python\345\237\272\347\241\200/\347\254\254\344\270\200\345\221\250-\347\254\254\344\270\211\350\212\202\350\257\276-\351\232\217\345\240\202\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..d4082f9ade9e85693087179a669285b6229cf0fe --- /dev/null +++ "b/\347\254\254\344\272\214\346\234\237\351\232\217\345\240\202\347\254\224\350\256\260/\347\254\254\344\270\200\345\221\250-Python\345\237\272\347\241\200/\347\254\254\344\270\200\345\221\250-\347\254\254\344\270\211\350\212\202\350\257\276-\351\232\217\345\240\202\347\254\224\350\256\260.md" @@ -0,0 +1,227 @@ +## 第一周-第三节课-随堂笔记 + +## 变量和赋值 + +- 什么是变量 + + - 一个实体的指代 + + - 查看变量的内存地址 + + ``` + id(x) + ``` + + - 可重新赋值 + +- 为变量赋值 + + - 通过`=`来赋值 + + ``` + x = 3 + ``` + + - 被重新赋值之后的值去哪了? + + - 被系统回收了. + +- Python的常量 + + - python没有常量这个数据类型 + - 程序员之间的约定: 如果这个变量的命名都是大写字母, 那么就视为一个常量 + +## Python的六大基本类型 + +``` +*强调基本的原因数据类型和数据结构指向的范围更加广泛, 不要产生错误的认知, 形成思维定式 +``` + +- 通过`type()`函数来查看当前变量的数据类型 + +- `int` (整数) + + ``` + int('1') + ``` + +- `float`(浮点数) + + ``` + float('1.0') + float('INF') + ``` + + - 因为计算机内部只认识1和0, 所以浮点数强调的时小数的表现形式 + +- `string`(字符串, 字符序列) + + ``` + str(2) + ``` + + - 在有些语言中, 单个字符也是一个基本的数据类型(`Char`) + + - 有序的 + + - 如何表示字符串 + + - `''` + - `""` + - `''''''` + - `""""""` + + - 转义字符 + + 告诉python解释器, 我们当前要表示的是一个字符或者是特殊字符 + + - 通过`\`来转义 + + ``` + "2\"" + "2\n" + ``` + +- `boolean`(布尔值) + + ``` + bool(2) + bool(0) + ``` + + 用来表示`True`或者`False` + + - `True` 等价于1 + - `False`等价于0 + +- `bytes`(二进制序列) + + 二进制的表示形式 + +- `None`(空) + + - 有了`False`和`0` 为什么还要有`None` + + 因为`False`和`0`有时候也代表了一种结果 + +## Python的四大基本数据结构 + +- `list`(列表) + + - 什么是列表? + + 用来装载**不同数据类型**的数据集结构 + + - 列表的特点 + + - 有序的 + - 可以装载任意数据类型 + - 可以更改的 + + - 如何表示`list` + + - 通过`list()`新建一个列表 + + ``` + list("hello world") + ``` + + - 通过`[]`声明一个列表 + + ``` + a = [1, 2, 3] + ``` + +- `tuple`(元组) + + - 什么是元组? + + 可以简单地认为, 元组就是不可修改的列表, 常用来表示记录. + + - 元组的特点? + + - 有序的 + - 可以装载任意数据类型 + - 不可更改 + + - 如何表示`tuple` + + - 通过`tuple()`新建一个元组 + + ``` + tuple("hello") + ``` + + - 通过`(,)`来声明一个元组 + + ``` + a = (1, 2, 3) + + #声明单个元素的元组, 要添加逗号 + a = (1, ) + ``` + +- `dict`(字典) + + - 什么是字典? + + 字典也叫`hashtable`, 通过`hash`(散列)函数将传入的`key`值生成地址来查找`value` + + `key` -> `hash`函数 -> 返回了`value`的地址 -> 通过地址返回`value`值 + + - 字典的特点? + + - 无序的 + + `python3.6`是有序的, 无视这一点. + + - 字典中的`key`必须是可`hash`的, 也就是不可更改的, 唯一的 + + - 可以更改的 + + - 如何表示字典 + + - 通过`dict()`来创建字典 + + ``` + dict(a=2) + ``` + + - 通过`{}`来声明一个字典 + + ``` + a = {"a": 2} + ``` + +- `set`(集合) + + - 什么是`set` + + `set`其实是没有`value`的字典 + + - 集合的特点 + + - 无序的 + - 集合中的`key`必须是可`hash`的 + - 可以更改的 + - 元素是唯一的 + + - 如何表示`set` + + - 通过`set()`来创建集合 + + ``` + set([1,2,2]) + ``` + + - 通过`{}`来表示 + + ``` + {1, 2, 3} + ``` + +## 课后作业 + +- 四大基本数据结构中哪些是可变的, 哪些是不可变的? +- 四大基本数据结构中哪些是有序的, 哪些是无序的? +- 创建`set`, `list`, `dict`, `tuple`实例, 每个数据结构的实例需要包括六大基本类型. \ No newline at end of file diff --git "a/\347\254\254\344\272\214\346\234\237\351\232\217\345\240\202\347\254\224\350\256\260/\347\254\254\344\270\200\345\221\250-Python\345\237\272\347\241\200/\347\254\254\344\270\200\345\221\250-\347\254\254\344\272\214\350\212\202\350\257\276-\351\232\217\345\240\202\347\254\224\350\256\260.md" "b/\347\254\254\344\272\214\346\234\237\351\232\217\345\240\202\347\254\224\350\256\260/\347\254\254\344\270\200\345\221\250-Python\345\237\272\347\241\200/\347\254\254\344\270\200\345\221\250-\347\254\254\344\272\214\350\212\202\350\257\276-\351\232\217\345\240\202\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..6c495431405ffdcd034502f7030ceb461a68b116 --- /dev/null +++ "b/\347\254\254\344\272\214\346\234\237\351\232\217\345\240\202\347\254\224\350\256\260/\347\254\254\344\270\200\345\221\250-Python\345\237\272\347\241\200/\347\254\254\344\270\200\345\221\250-\347\254\254\344\272\214\350\212\202\350\257\276-\351\232\217\345\240\202\347\254\224\350\256\260.md" @@ -0,0 +1,175 @@ +# 第一周-第二节课-随堂笔记 + +## 我们如何通过GIT来提交作业 + +### 什么是GIT? + +最强大的**分布式****版本控制**系统 + +- 分布式 + + 分布式的意思就是大家fork之后的库, 就像细胞分裂一样, 彼此之间是平等, 可以互相合并代码. + + 我们`fork`远程库之后, 当前这个库就已经属于我们自己了. + + ``` + * 为了教学方便, 我们人为地设置了码育谷远程库作为我们的主库. + ``` + +- 版本控制 + + 通过分支切换, 来完成对不同版本的代码控制 + +### 我们日常工作中如何使用GIT? + +- 安装git + + ``` + https://git-scm.com/download + ``` + +- 将git添加到环境变量 + + ``` + xxx\Git\cmd + ``` + +- 如何在`Pycharm`中配置git + + ``` + https://jingyan.baidu.com/article/ff42efa9c7bd12c19e22028a.html + ``` + + - 查看安装的路径 + + ``` + - where git + - which git + ``` + +- 如何使用git + + - 本地上传到远程库 + + - 在代码托管平台新建远程库 + + - 配置用户(一个环境只用配置一次) + + - 初始化一个git仓库(本地代码仓库) + + ``` + git init + ``` + + - 配置远程仓库(远程代码仓库) + + ``` + git remote add origin https://gitee.com/tunangit/git_test.git + ``` + + - 新建`.gitignore`文件 + + 用来屏蔽不需要提交到项目的文件和文件夹 + + - 默认要屏蔽的文件和文件夹 + - `.idea` + - `.git` + - `/venv/` + - `/test` + - `*/__pycache__/` + + - 选择要提交的项目文件 + + - 批量全部添加(不建议) + + ``` + git add ./* + ``` + + - 添加单个文件 + + ``` + git add xx/xx + ``` + + - 通过Pycharm手动添加 + + - 提交项目 + + - commit + + 提交到你的本地库 + + - push + + 提交到远程库 + + - commit and push + + 二合一, 提交到本地库和远程库 + + - 远程库同步到本地库 + + ``` + https://gitee.com/xxx/xxxx.git + ``` + + - 更新代码 + + ``` + git pull + ``` + + - 解决代码冲突 + + 当本地代码更新时发现和远程代码有冲突 + + - 左边是本地当前的代码 + - 右边是远程库的代码 + - 中间是最后选取的结果 + + - 历史回滚 + + - 右键目标文件或者文件夹, 点击history + - 回滚部分代码 -> 在弹出矿口右侧进行修改 + - 整个文件回滚 -> 右键revert + + - **注意事项** + + - 一定要先新建`.gitigonre` + - 不要在服务器/生产环境下直接修改代码 + +## python的虚拟环境 + +``` +*新建一个新项目的时候, 一定要先新建一个虚拟环境 +``` + +一个与系统环境隔离的空间 + +- 虚拟环境的好处 + + - 与系统环境隔离, 不会污染正式环境 + - 更新项目方便简洁 + - 通过`requirements.txt`解决不同平台, 不同环境下的环境同步问题 + +- 新建虚拟环境 + + ``` + python -m venv venv + ``` + +- 激活虚拟环境 + + ``` + # windows + venv\Scripts\Activate.bat + + # unix (mac, ubuntu, centos) + source venv/bin/activate + ``` + +## 课后作业 + +- 新建一个项目, 建立虚拟环境, 在Pycharm配置虚拟环境. +- 建立git仓库, 并同步到码云. \ No newline at end of file