提示:本书定位是专注于数据处理与分析的工具书,不涉及类和面向对象编程等概念
所以作者也推荐了三本进阶书籍:《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