提示:本书定位是专注于数据处理与分析的工具书,不涉及类和面向对象编程等概念
所以作者也推荐了三本进阶书籍:《Python Cookbook》《Fluent Python》《Effective Python》
此处加一个 #待补充 方便以后提醒自己阅读这三本书
1 Python解释器
打开解释器:在终端输入python(没反应请检查一下环境变量配置)
退出解释器:输入exit()或快捷键ctrl+D
执行python脚本:python xxxxx.py
2 IPython基础
交互式编程:在终端输入ipython(可能需要安装ipython包,但anaconda自带)
运行notebook:在终端输入jupyter notebook (可能需要安装,但anaconda自带)
notebook是Jupyter项目的重要组件之一,内置后端服务并基于浏览器进行交互式编程,在数据分析和可视化的时候非常方便,同时也适合在服务器中部署并进行远程访问。
notebook常用技巧:
- tab键自动补全功能
- 变量前后添加问号?显示对象的信息
- 函数前后添加两个问号??显示源码
%run命令在ipython中运行Python脚本%load命令可以将Python脚本内容导入ipython%matplotlib inline设定画图自动显示(否则需要手动执行plt.show())- 除此之外,notebook还有很多快捷键和魔术命令
关于Jupyter项目和notebook技巧的更多细节可参阅7_software/Jupyter/Jupyter 基础知识
3 Python语法基础
Python的语法特点:简洁、清晰、高可读
- 使用空白字符(tab和空格都可以,但个人推荐前者)来组织代码
- 万物皆对象,包括函数、字符串等都有各自的类型和内部数据,非常灵活
- 使用
#进行注释的表示;使用=进行赋值操作 - 函数调用:
obj.some_method(x, y, z) - 参数类型:
result = f(a, b, c, d=5, e=["ok",'hi']) - 动态类型,不需要显式声明类型;可以使用
isinstance检查类型一致性 - 不关注类型而更关注方法:鸭子类型(“走起来像鸭子、叫起来像鸭子,那么它就是鸭子”)
- 使用
from ... import或import进行引用其他文件或模块 - 常见比较运算符;
==是判定值是否相同,is方法判定是否指向同一个对象 - 可变与不可变对象:不可变对象内容不容易被修改,更安全但不灵活
类型相关语法
- 常见标量类型及其类型转换:None、str、bytes、float、bool、int
- 常见数值运算和字符串操作:
//整除、count计数、replace替换、[:2:-2]切片、\转义 - 使用
format进行输出格式规范:{0:.2f} - 编码
encode与解码decode,常见编码格式:ASCII、Unicode、UTF-8 None:空值类型,NoneType的唯一实例,常作为参数的默认值- 字符串与日期间的转换:
datetime、date、time、strptime、strftime
控制流相关语法
- 条件判断:
if、elif、else、pass - 循环:
for、while、continue、break、range