文|Seraph
00 | 绪论和环境配置
- 通常学员机器学习实战过程中的问题:写的代码不够简洁、高效、强壮。
- Python是解释型动态语言,与编译型静态语言(C++等)的区别是:静态语言编译的时候就已经知道数据类型,而动态语言执行的时候需要判断数据是什么类型,所以相对来说,动态语言会比静态语言会执行速度更慢一些。
之所以使用Python的原因:简单易用,提升开发速度,更加专注于问题本身。生态丰富。 - 对于性能差异问题解决:硬件的提升使语言带来的性能影响越来越小;性能瓶颈用C/C++开发,并提供Python接口。
- JupyterNotebook(Anaconda)
- 修改快捷方式,修改运行主目录
Ctrl + Enter
执行快捷键
01 | Python基本语法元素
- 变量名规则:
- 大小写字母、数字、下划线、汉字
- 区分大小写
- 首字符不能是数字
- 不能有空格
- 不能是保留字
- 常量名约定为全部大写字母
-
赋值
打包赋值:
x, y = 1 , 2
可以利用打包赋值进行互换:x, y = y, x
-
循环
从可迭代的对象,依次取出元素。 -
交互输入
input()的结果是字符串类型。
eval()能去掉数字字符串的引号 -
输出
print()默认是自动换行。其实是end参数为换行字符。
可以将end参数替换其他非换行字符。
print()函数本身没有类似c++格式化的操作。 -
格式化字符串format
整体格式
"字符{0:修饰}字符{1:修饰}字符".format(v1,v2)"
其中修饰
格式
: | <填充> | <对齐> | <宽度> | <, > | <.精度> | <类型> |
---|---|---|---|---|---|---|
引导符号 | 用于默认填充的字符 | < 左对齐;> 右对齐; ^居中对齐 | 设定输出的宽度 | 数字千分位分隔符,适用于整数和浮点数 | 浮点数:小数部分进度;字符串:最大输出长度 | 整数类型:b,cd,o,x,X;浮点类型:e,E,f,% |
- 普通格式化
print("PI={0}, E={1}".format(PI, E))
- 填充格式化
PI = 3.1415926
print("{0:_^20}".format(PI))
:
后面,第一个字符表示默认填充的字符
第二个字符表示对齐方式,^
表示居中,<
表示左对齐,>
表示右对齐。
- 千分位分隔符
print("{0:,}".format(10000000))
- 小数位
print("{0:.2f}".format(PI))
- 百分比输出
print("{0:.1%}".format(0.255))
- 科学计数法
print("{0:.1e}".format(0.255))
- 整数进制转化
"二进制{0:b}, Unicode码{0:c}, 十进制{0:d}, 八进制{0:o}, 十六进制{0:x}".format(456)
- 行最大字符数为79
- 运算符空格(不要使用一个以上的空格)
- 二元运算符两边加空格
- 使用不同优先级的运算符,最低级优先运算符添加空格
- 逗号后面加空格
- 在制定关键字参数或默认参数时,不要在=周围加空格
def fun(n=1, n=2)
- PEP8格式指南(只是建议)
- 注释
"""
多行注释
x
x
"""
02 | 基本数量类型
- 进制转换