2.《Python数据分析》Python基础、IPython与Jupyter

提示:本书定位是专注于数据处理与分析的工具书,不涉及类和面向对象编程等概念

所以作者也推荐了三本进阶书籍:《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 ... importimport进行引用其他文件或模块
  • 常见比较运算符;==是判定值是否相同,is方法判定是否指向同一个对象
  • 可变与不可变对象:不可变对象内容不容易被修改,更安全但不灵活

类型相关语法

  • 常见标量类型及其类型转换:None、str、bytes、float、bool、int
  • 常见数值运算和字符串操作://整除、count计数、replace替换、[:2:-2]切片、\转义
  • 使用format进行输出格式规范:{0:.2f}
  • 编码encode与解码decode,常见编码格式:ASCII、Unicode、UTF-8
  • None:空值类型,NoneType的唯一实例,常作为参数的默认值
  • 字符串与日期间的转换:datetimedatetimestrptimestrftime

控制流相关语法

  • 条件判断:ifelifelsepass
  • 循环:forwhilecontinuebreakrange

往年同期文章