小白如何成为Python数据分析师
第二天–命中注定的python(初遇)
人生苦短,我选Python !
1.Python由来
是由荷兰人吉多·范罗苏姆(Guido von Rossum,后面称呼为Guido,“龟叔”)发明的一种编程语言,是目前世界上最受欢迎和拥有最多用户群体的编程语言。
2.发展过程
-
1989年圣诞节:Guido开始写Python语言的编译器。
-
1991年2月:第一个Python解释器诞生,它是用C语言实现的,可以调用C语言的库函数。
解释器
Python是一门跨平台的脚本语言,Python规定了一个Python语法规则,实现了Python语法的解释程序就成为了Python的解释器。
-
CPython(ClassicPython,也就是原始的Python实现,需要区别于其他实现的时候才以CPython称呼;或解作C语言实现的Python)。这是最常用的Python版本。
-
Jython(原名JPython;Java语言实现的Python,现已正式发布)。Jython可以直接调用Java的各种函数库。
-
PyPy(使用Python语言写的Python)
-
IronPython(面向.NET和ECMA CLI的Python实现)。IronPython能够直接调用.net平台的各种函数库。可以将Python程序编译成.net程序。
-
ZhPy(周蟒)(支持使用繁/简中文语句编写程序的Python语言)
-
-
1994年1月:Python 1.0正式发布。
-
2000年10月:Python 2.0发布,Python的整个开发过程更加透明,生态圈开始慢慢形成。
-
2008年12月:Python 3.0发布,引入了诸多现代编程语言的新特性,但并不完全兼容之前的Python代码。
-
2020年1月:在Python 2和Python 3共存了11年之后,官方停止了对Python 2的更新和维护,希望用户尽快过渡到Python 3。
说明:大多数软件的版本号一般分为三段,形如A.B.C,其中A表示大版本号,当软件整体重写升级或出现不向后兼容的改变时,才会增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(例如:修复了某个Bug),只要有修改就增加C。
3.python优缺点
-
简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
-
易学:Python极其容易上手,对小白很友好。
-
免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
-
可移植性(跨平台):由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。
-
开放源代码,拥有强大的社区和生态圈
-
丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
-
**较好可读性:**Python采用强制缩进的方式使得代码具有较好可读性。
-
等等…
缺点
运行速度慢:这里是指与C和C++相比。解释性语言执行都比较慢。
4.应用方向
目前Python在Web服务器应用开发、云基础设施开发、网络数据采集(爬虫)、数据分析、量化交易、机器学习、深度学习、自动化测试、自动化运维等领域都有用武之地。
5.自己的第一个程序
1.编写代码的地方
-
交互式环境:(提示命令符窗口):打开Windows的“命令提示符”工具,输入命令
python
然后回车就可以进入到Python的交互式环境中。所谓交互式环境,就是我们输入一行代码回车,代码马上会被执行,如果代码有产出结果,那么结果会被显示在窗口中。 -
更好的交式互环境(IPython):Python默认的交互式环境用户体验并不怎么好,我们可以用IPython来替换掉它,因为IPython提供了更为强大的编辑和交互功能。我们可以使用Python的包管理工具
pip
来安装IPython,如下所示。pip install ipython
可以使用下面的命令启动IPython,进入交互式环境。
-
文本编辑器:电脑自带记事本,或者其他编辑器.编写python程序,建立.py文件,再到交互式环境中执行.
-
集成开发环境 - PyCharm (强大好用,推荐)
2.程序猿的第一个程序
- 按照行业惯例,我们学习任何一门编程语言写的第一个程序都是输出
hello, world
, - 在开发环境中写下print('hello, world`) ,执行,好了,恭喜你来到程序猿的世界.
6.了解程序
- 程序是指令的集合,写程序就是用指令控制计算机做我们想让它做的事情。
- 目前,我们使用的计算机基本都是“冯·诺依曼体系结构”的计算机,这种计算机有两个关键点:一是要将存储设备与中央处理器分开;二是将数据以二进制方式编码。
- 我们必须要知道计算机是使用二进制计数的,不管什么数据到了计算机内存中都是以二进制形式存在的。
7.变量和类型
变量是数据的载体,简单的说就是一块用来保存数据的内存空间,变量的值可以被读取和修改,这是所有计算和控制的基础。
- 几种常用的数据类型。
- 整型(
int
):Python中可以处理任意大小的整数,而且支持二进制(如0b100
,换算成十进制是4)、八进制(如0o100
,换算成十进制是64)、十进制(100
)和十六进制(0x100
,换算成十进制是256)的表示法。 - 浮点型(
float
):浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456
)之外还支持科学计数法(如1.23456e2
)。 - 字符串型(
str
):字符串是以单引号或双引号括起来的任意文本,比如'hello'
和"hello"
。 - 布尔型(
bool
):布尔值只有True
、False
两种值,要么是True
,要么是False
。
- 整型(
8.变量命名
硬性规则:
-
变量名由字母、数字和下划线构成,数字不能开头;
-
大小写敏感,简单的说就是大写的
A
和小写的a
是两个不同的变量; -
变量名不要跟Python语言的关键字(有特殊含义的单词,后面会讲到)和保留字(如函数、模块等的名字)发生重名的冲突。
非硬性规则:
- 变量名通常使用小写英文字母,多个单词用下划线进行连接。
- 受保护的变量用单个下划线开头(后面会讲到)。
- 私有的变量用两个下划线开头(后面会讲到)。
给变量(事实上应该是所有的标识符)命名时做到见名知意也非常重要。(命名具有意义容易理解)
9.变量实操
-
变量赋值
-
在Python中可以使用
type
函数对变量的类型进行检查。
3 -
不同类型的变量可以相互转换,这一点可以通过Python的内置函数来实现。
int()
:将一个数值或字符串转换成整数,可以指定进制。float()
:将一个字符串转换成浮点数。str()
:将指定的对象转换成字符串形式,可以指定编码。chr()
:将整数转换成该编码对应的字符串(一个字符)。ord()
:将字符串(一个字符)转换成对应的编码(整数)。
10.运算符
说明: 上面这个表格实际上是按照运算符的优先级从上到下列出了各种运算符。所谓优先级就是在一个运算的表达式中,如果出现了多个运算符,应该先执行哪个运算再执行哪个运算的顺序。在实际开发中,如果搞不清楚运算符的优先级,可以使用圆括号来确保运算的执行顺序。
-
算术运算符
-
赋值运算符
-
比较运算符
比较运算符有的地方也称为关系运算符,包括
==
、!=
、<
、>
、<=
、>=
,需要提醒的是比较相等用的是==
,请注意这里是两个等号,因为=
是赋值运算符,==
才是比较相等的运算符;比较不相等用的是!=
,这不同于数学上的不等号,Python 2中曾经使用过<>
来表示不等关系,大家知道就可以了。比较运算符会产生布尔值,要么是True
要么是False
。 -
逻辑运算符
逻辑运算符有三个,分别是
and
(且)、or(或)
和not(相反)
说明:比较运算符的优先级高于赋值运算符,所以
flag0 = 1 == 1
先做1 == 1
产生布尔值True
,再将这个值赋值给变量flag0
。,
进行分隔,输出的内容之间默认以空格分开。