1 写在前面
下定决心掌握一门程序设计语言的时候,你就应该里里外外吃透它,并用在实际的项目中。Python可以用来做许多的事:网络爬虫、数据分析、文本处理、数据可视化、用户图形界面、机器学习、web开发、游戏开发等。
先贴一些学习python3的书籍以及网站,算是比较不错的资源。
- Python3 教程 | 菜鸟教程:http://www.runoob.com/python3/python3-tutorial.html
- Python教程 - 廖雪峰:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
- 《Python Cookbook》3rd Edition:http://python3-cookbook.readthedocs.io/zh_CN/latest/index.html
2 Python启程
2.1 简介
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
特点:通用性;语法简洁;生态高产;平台无关;强制可读;支持中文;模式多样;类库便捷。
2.2 开发环境配置
Anaconda:一个python的发行版,包括了python和很多常见的软件库,和一个包管理器conda。集成了很多关于python科学计算的第三方库,主要是安装方便,如果不使用anaconda,那么安装起来会比较痛苦,各个库之间的依赖性就很难连接的很好。且装了Anaconda就不需要装python了。
安装配置之类的不多说,直接甩链接,读者也可以自行百度,教程很多。
- Anaconda完全入门指南:https://www.jianshu.com/p/eaee1fadc1e9
- 最省心的Python版本和第三方库管理——初探Anaconda:https://zhuanlan.zhihu.com/p/25198543
3 基本语法元素
3.1 语法元素
命名
只能含有数字、字母以及下划线
不能以数字开头(一般用小写英文字母开头)
对大小写敏感
保留字
python3 有33个保留字,下面这条链接是比较详细的解释,对于刚刚学习的同学,可以看一看。
https://weibo.com/ttarticle/p/show?id=2309404215256372118805
3.2 基本输入输出函数
input():获取用户的输入
eval():去掉字符串最外侧的引号。常和input()函数一起使用,用来获取用户输入的数字
print():打印相应的内容
4 基本数据类型
4.1 数值运算
次方表达:
①pow(x, y)
②x**y
取整操作:
①向下取整int(x)
②四舍五入round(x, d) 其中d表示保留的小数位数
③向上取整import math math.ceil(x)
④分别取整数和小数部分import math math.modf(x)
4.2 格式化字符串
在Python中,采用的格式化方式和C语言是一致的,用%实现。举例如下:
>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
常见的占位符有
占位符 | 替换内容 |
%d | 整数 |
%f | 浮点数 |
%s | 字符串 |
%x | 十六进制整数 |
除了以上的方法以外,另一种格式化字符串的方法是使用字符串的format()
方法,下面这个链接也说明得很详细。
5 程序的控制结构
5.1 break与continue的区别
break结束当前循环
continue结束当前循环的当次循环过程
6 组合数据类型
6.1 基本概念
- 集合类型:元素之间无序,相同元素在集合中唯一存在。
集合中元素类型只能是不可变的数据类型。
【不可变数据类型】整数、浮点数、字符串、元组
【可变数据类型】列表、字典、集合
- 序列类型:元素之间存在先后顺序,通过序号访问。典型代表:字符串、列表。
- 映射类型:每个元素是一个键值对。典型代表:字典。
6.2 列表
列表和元组的区别:
①列表是方括号[],可变(可以进行赋值和删除del操作)
②元组是圆括号(),不可变
6.3 字典
访问字典的值:
①通过键获取值(先用in运算符对键进行测试)
②get( )函数:get(key, [default])
7 函数和代码复用
7.1 全局变量
从函数内部修改全局变量:使用关键字global
7.2 全大写的变量名一般有特殊含义:常量constant
8 文件和异常
8.1 文件类型
文本文件和二进制文件,两者最主要的区别在于是否有统一的字符编码。
8.2 文件的打开和关闭
open( )函数:
open(<文件路径及文件名>,<打开模式>)
open(“text.txt”, “r”)
打开模式 | 含义 |
r | 只读模式 |
w | 覆盖写模式 |
x | 创建写模式 |
a | 追加写模式 |
b | 二进制文件模式 |
t | 文本文件模式,默认值 |
+ | 与r/w/x/a一同使用,增加同时读写功能 |
8.3 文件的读写
按字符读取文件:read([size))
按行读取文件:①readline(size);②读取文件中所有行,以每行为元素形成一个列表readlines( )
改变当前文件操作指针的位置,offset值(0为文件开头,2为文件结尾):seek(offset)
将字符串output写入到文件:write(output)
将字符串列表output写入到文件:writelines(output)
8.4 存储复杂数据
pickle模块:
①dump(object, file [,bin])
将object序列化之后写入file。如果bin为true,则object将以二进制格式写入,反之,以false写入。bin默认值为false。
②load(file)
从文件中读取下一个系列化对象,将其反序列化之后返回。
shelve模块:
shelve.open( )函数
8.5 处理异常
try语句及except子句
9 数据格式化
9.1 一维数据
一维数据和二维数据通常用CSV格式进行存储
列表对象->CSV格式文件
f.write(“,”.join(ls)+”\n”)
CSV格式文件->列表对象
ls=f.read().strip(”\n”).split(“,”)
9.2 二维数据
9.3 高维数据
存储的常用格式:HTML、XML、JSON
未完待续。。。。