Python + 大数据-Python 学习(一)

1. Python 概述

Python是一种跨平台的计算机程序设计语⾔。 是一个高层次的结合了解释性、编译性、互动性和面向对象的语⾔。最初被设计用于编写⾃动化脚本Shell(适用于Linux操作系统),随着版本的不断更新和语言新功能的添加,逐渐被⽤于独立的、大型项目的开发。
  
其实⽬前很多知名的机器学习、⼈⼯智能以及深度学习框架也都是基于Python语⾔进⾏开发的:
	Google开源机器学习框架:TensorFlow
	开源社区主推学习框架:Scikit-learn
	百度开源深度学习框架:Paddle

1.1 Python版本对比

差异点

Python2

Python3

输出方式

用print关键字,如print “hello”

用print()函数,如print(“hello”)

输入方式

用raw_input()函数

用input()函数

字符串编码格式

默认采用ASCII

默认使用Unicode

格式化字符串方式

用%百分号,如”Hello, %s” % (“World”)

用format()函数,如”Hello, {}”.format(“World”)

源文件的编码格式

默认采用 ASCII ,因此使用中文时要在源文件开头加上一行# --coding: utf-8 - -

默认采用utf-8

1.2 Python在大数据领域运用

大数据更像是一个大的技术生态,从最底层数据采集、数据存储与冗余备份,数据处理,数据分析,数据建模,可视化以及机器学习,深度学习等等一系列。构成大数据体系。而PYTHON在上诉的每一个方面都有不同应用。
    1.数据采集领域: python 的优越性体现在python 背后有很多强大的爬虫框架支持,可以更加高效快速爬取数据。最后一点,爬虫有法律风险。
	2.数据处理领域:不管是数据的格式转换还是数据科学计算,PYTHON 表项无比优秀,PYTHON 有很多这类框架就是做这种处理,Pandas,Numpy等等。
	3.数据分析及数据可视化领域: Pandas, seaborn, pyecharts等可视化框架的出现,让Python在数据数据分析及数据可视化领域也起这举足轻重的作用。
	4.实时计算:传统的spark框架和新兴的flink框架都添加了PythonAPI,使Python在实时计算领域的地位也水涨船高。
	5.数据建模领域:机器学习的很多框架也是PYTHON 编写,比如sklearn,深度学习领域的明星框架tensorflow 也是由Python编写。通过python 进行机器学习,深度学习高效,方便。

2. Python 解析器

python 打造数据中心 python大数据系统_python

下载地址:https://www.python.org/downloads/release/python-379/
[单击上述链接] -- 查找⽬目标⽂文件:Windows x86-64 executable installer -- 单
击即可下载

2.1 修改解释器

python 打造数据中心 python大数据系统_python 打造数据中心_02

3.Python 注释

单行注释
# 注释内容

多行注释
"""
  第一行注释
  第二行注释
  第三行注释
"""

'''
  第一行注释
  第二行注释
  第三行注释
'''

Ctrl + /`来快速生成代码注释

4. Python变量

4.1 引入变量

① 变量是存储数据的容器
② 变量在程序运行过程中是可以发生改变的量
③ 变量存储的数据是临时的

4.2 变量的作用

python 打造数据中心 python大数据系统_python_03

4.3 变量的定义

- 定义:变量名 = 值
- 调用:函数(变量名)   或者    使用变量名进行运算  变量名1 + 变量名2
- 变量必须先定义后调用

=等号两边都要保留一个空格 !变量名可以自定义,但是要满⾜`标识符`命名规则。


命名习惯
① 变量命名一定要做到见名知义。
② 大驼峰:即每个单词首字母都大写,例如: MyName 。
③ 小驼峰:第二个(含)以后的单词首字母大写,例例如: myName 。
④ 下划线:例如: my_name

python 内置关键字

python 打造数据中心 python大数据系统_学习_04

4.4 变量数据类型

python 打造数据中心 python大数据系统_Python_05

# 数据类型查看的函数 type(数据/变量名)
# 基础数据类型:int  float  bool
# 容器类型: str  list tuple  set dict

# 代码格式化的快捷键:ctrl + alt + L

5. debug

Debug工具使⽤二步走:① 打断点  ② Debug调试
☆ 断点位置
断点要定位在要调试Python代码段的第一行即可

☆ 打断点的方法
在需要调试代码行的行号位置右侧的空白处单击即可

断点打好后,在文件内部任意位置 -- 右键 -- Debug文件名 -- 即可调出Debug工具面板 -- 单击StepOver/F8,即可按步执⾏代码。

右键debug进入调试模式,代码执行暂停到断点位置代码执行之前

 debugger :查看参数及变量在执行过程中的变化情况
	 console:查看控制台输出内容
	 step over:单步执行代码
	 resume :执行到下一次断点位置或者程序结束
	 stop:让程序终止

6. 格式化输出

格式符号

转换

%s

字符串

%d

有符号的十进制整数

%f

浮点数

%c

字符

%u

无符号十进制整数

%o

八进制整数

%x

十六进制整数(小写ox)

%X

十六进制整数(大写OX)

%e

科学计数法(小写’e’)

%E

科学计数法(大写’E’)

%g

%f和%e的简写

%G

%f和%E的简写

\n :换⾏符。
\t  :制表符,一个tab键(4个空格)的距离
%%:在字符串格式化拼接时输出%

- 单占位符:'要书写的内容,占位符' % 变量名
- 多占位符: '要书写的内容,占位符1, 占位符2, 。。。。' % (变量1, 变量2,。。。。)
  - %之前的占位符数量要和%之后的变量数量相匹配,一一对应否则会报错

7. Python 输入 -input

input('提示信息')

当程序执行到`input`,等待用户输入,输入完成之后才能继续向下执行。
在Python中,`input`接收用户输入后,一般存储到变量,方便使用。
在Python中,`input`会把接收到的任意用户输入的数据都当做字符串处理。

7.1 f-string

f-string是Python3.6之后出现的格式化语法
- 格式:f'要输出的字符串{要拼接的变量}'
  - f可以是大写,也可以是小写,
  - 引号可以是单引号,也可以是双引号
  - 精度控制
    - {浮点型变量:.nf} 保留n位小数,四舍五入
    - {整型变量:0nd} 保留n位,不足位用0补齐,如果超出则原样显示
    - %可以单独输出
  
  在写复杂的字符串的时候,外层使用的符合不能在内层也使用
  
  f-string不能使用嵌套式格式化(不能用大括号嵌套大括号的形式)

8.数据类型转换

函数

说明

int(x [,base ])

将x转换为一个整数

float(x)

将x转换为一个浮点数

complex(real [,imag ])

创建一个复数,real为实部,imag为虚部

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

chr(x)

将一个整数转换为一个Unicode字符

ord(x)

将一个字符转换为它的ASCII整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串

bin(x)

将一个整数转换为一个二进制字符串

  • 数据类型转换总结
数据类型转换是为了不同类型数据之间可以进行拼接或运算
格式:数据类型(要转化类型的变量或值)
	 int和float类型直接可以随意转换
     float转换为int类型只保留整数部分
     int转换为float类型在末尾添加。0

如果数值型转换为str类型,可以随意转换
- 如果str类型转换为数值型
  - float  必须保证str引号内部是浮点型数据或整型数据
  - int  必须保证str引号内部是整型数据

9. 运算符的使用

9.1 算数运算符

  • + - * / // % **
  • //取商
  • %取余
  • **幂次运算
算数运算符优先级可以使用小括号控制,  先乘除后加减,同级运算从左至右依次运算
- 结论算数运算符优先级: + - < * / // % < **
- 如果忘记了也没关系使用()提高运算符优先级即可

9.2赋值符号

= :将等号右侧的值赋值给等号左侧的变量
 可以给单个变量赋值: 变量= 值
 可以给多个变量赋不同的值 : 变量1, 变量2. 变量3 = 值1, 值2, 值3
 可以给多个变量赋相同的值:变量1 = 变量2 = 变量3 = 值

9.2.1复合赋值运算符

- 复合赋值运算符等号左侧一定是已经被定义的变量
- 复合赋值运算符右侧是已经被定义的变量或者值

python 打造数据中心 python大数据系统_Python_06

9.2.2比较运算符

`< > <= >= == !=`
比较运算就是比较数据值的大小
比较运算可以连续使用
比较运算中比较相等使用==  而 不能使用 = (赋值运算符)

python 打造数据中心 python大数据系统_Python_07

9.2.3逻辑运算符

- and 同真即真
- or 同假即假
- not  真变假  假变真

python 打造数据中心 python大数据系统_大数据_08

9.2.4 短路运算

Python把0、空字符串”和None看成 False,其他数值和非空字符串都看成 True,
当逻辑运算的第一个表达式已经可以决定整个逻辑运算的值的时候,后边的表达式将不会被运

例如: