1 Python语言介绍&安装配置
1.1 Python数据相关应用
- 数据采集
Scrapy为代表的各类方式的爬虫;beautiful soup数据解析
- 数据库连接
大量各类数据库的第三方包,方便快速的实现增删改查;MySQL,Oracle,SQLite(python自带,简单易携带)
- 数据清洗
Numpy、Pandas,结构化和非结构化的数据清洗及数据规整化的利器
- 数据分析
Pandas、StatsModels(python内的统计模块)、Scipy(高级运算库),统计分析,科学计算、建模等
- 数据可视化
matplotlib(最基本的库)、延伸bokeh、seaborn、gleam、plotly
- 机器学习和深度学习 – python独树一帜
scikits learn(机器学习的算法)、Keras、theano、pylearn2、caffe、lasagne
1.2 Python特点
- 运行效率不高
- 简单易学
- 面向对象的高层语言
- 解释性
- 免费开源,可移植性
- 可扩展性,可嵌入性
- 丰富的库
1.3 生成配置文件,修改默认路径
- 使用管理员身份运行Anaconda Prompt
(base) C:\Users\C***e>jupyter notebook --generate-config #生成配置文件
Writing default config to: C:\Users\C***e\.jupyter\jupyter_notebook_config.py
- 找到文件,用txt打开,查找notebook_dir
## The directory to use for notebooks and kernels.
#c.NotebookApp.notebook_dir = ''
- 在非系统盘建立新的文件夹,复制路径
- 删除“#”,c.NotebookApp.notebook_dir = 黏贴路径
## The directory to use for notebooks and kernels.
c.NotebookApp.notebook_dir = "D:\CDA\data\python"
- 保存后退出
2 Python基础语法
2.1 关键字(即保留字)
不能用作任何标识符名称
import keyword
print(keyword.kwlist)
2.2 输入和输出
d = input("请输入一个数字:")
type(d)
isinstance(1,float)
d
print(d)
print("输出指定文字")
2.3 声明变量
- 声明变量不能使用数字开头
- 关键字(keyword直接报错),内置函数(赋值后报错,不能使用函数)
- 第一个字符可用字母或"_",对大小写敏感
2.4 自增运算
符号 |
含义 |
解释 |
+= |
加法赋值运算符 |
b += a 等价于b = b + a |
-= |
减法赋值运算符 |
b -= a 等价于b = b - a |
*= |
乘法赋值运算符 |
b *= a 等价于b = b * a |
/= |
除法赋值运算符 |
b /= a 等价于b = b / a |
%= |
取模赋值运算符 |
b %= a 等价于b = b % a |
**= |
幂赋值运算符 |
b **= a 等价于b = b ** a |
//= |
取整除赋值运算符 |
b //= a 等价于b = b // a |
3 标准数据类型
3.1 布尔值bool
- False
0 ; " "空字符串 ; [ ]空列表 ; { }空集合 ; ( )空元组
- True
1 ;其他情况
3.1.1 布尔值的运算符
运算符 |
逻辑表达式 |
描述 |
输入 |
输出 |
and |
x and y |
x为0或false,返回x;x非0或true,返回y |
3 and 0 |
3是True,返回0 |
or |
x or y |
x为0或false,返回y;x非0或true,返回x |
0 or 4 |
0是false,返回4 |
not |
not x |
x为0或false,返回true;x非0或true,返回false |
not(0 and 1) |
0是false,返回0 |
3.2 数字numbers
- 整数int
- 小数float
在python是不精确储存,用decimal进行计算
import decimal # 加载decimal模块
decimal.Decimal('1.1')+decimal.Decimal('1.1')+decimal.Decimal('1.1')
Decimal('3.3')
注: 变量的唯一识别
数值相等,数值为小数,指向不同对象
数值相等,数值为整型且小于256,指向同一个对象,大于256,重新声明,指向不同对象
(2 + 3j).real
>>2.0
(2 + 3j).imag
>>3.0
3.2.1 数字间转换
int(3.99)
>>3
int('44')
>>44
round(4.5)
>>4
complex(1,2)
>>(1+2j)
3.3 字符串 String
- 字符串&列表&元组运算符
符号 |
含义 |
示例 |
+ |
串联字符串 |
‘@$4242#’+‘hahdhalsdk’ |
* |
n个相同的字符串 |
‘324hk’*5 |
- 转义字符
符号 |
含义 |
示例 |
\n |
换行 |
‘67832647\n72394727’ |
\t |
空格 |
‘hfkj\tfasdff\tfadsfda’ |
\n |
第一个\使\n失去含义,变成普通字符串 |
‘67832647\n72394727’ |
r或R |
使字符串里全部的\失去含义 |
r’D:\Baidu\python\python_basic’ |
3.3.1 常用字符串操作
str_1.count('p')
len(str_1)
str_1.upper().lower()
str_2.title()
str_2.split()
str_2.split('h')
"#".join(["fhka","hla","fdak"])
"$".join("fhka")
str_2.replace("y","Y")
str_2.replace("y","Y",2)
str_2.find("p")
str_2.find("p",2)
str_2.find("p",2,5)
for i in range(4):
print ("i的值为{},i的平方为{}".format(i,i**2))
i的值为0,i的平方为0
i的值为1,i的平方为1
i的值为2,i的平方为4
i的值为3,i的平方为9
"pe" in str_2
str_2.startswith("p")
str_2.endswith("t")
str_2[1:9:2]
str_2[9:1:-2]
str_2[::-1]
3.4 列表 List
3.4.1 常用列表操作
len(L)
L = [[1, 2], 'string', {
}]
L = list('spam')
L = list(range(0, 4))
list(map(ord, 'spam'))