Python简介前端
1.1989年圣诞节:Guidao von Rossum开始写Python语言的编译器python
2.1991年2月:第一个Python编译器(同时也是解释器)诞生,他是使用C语言实现的(后续又出现了Java和C# 实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其余实现)。能够调用C语言地库函数。在最先的版本里,Python已经提供了对“类”,“函数”,“异常处理”等构造块的支持,同时提供了“列表”和“字典”等核心数据类型,同时支持以模块为基础地拓展系统。web
3.1994年1月:Python1.0正式发布。编程
4.2000年10月16日:Python2.0发布,增长了实现完整的垃圾回收,提供好了对Unicode地支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢造成。后端
5.2008年12月3日:Python3.0发布,它并不彻底兼容以前的Python代码,不过由于目前还有很多公司在项目和运维中使用Python2.x版本,因此Python3.x的不少新特性后来也被移植到Python2.6/2.7版本中。浏览器
1.简单明确网络
2.学习曲线低,跟其它语言相比更容易上手框架
3.开放源代码,拥有强大的社区和生态圈运维
4.解释型语言,天生具备可移植性机器学习
5.支持两种主流的编程范式(面向对象编程和函数式编程)
6.可扩展性和可嵌入式,能够调用C/C++代码,也能够在C/C++中调用Python
7.代码的规范度高,可读性强,适合有代码洁癖和强迫症的人群
缺点包括:
1.执行效率低,所以计算密集型任务能够由C/C++编写
2.代码没法加密
3.在开发时能够选择的框架太多(web框架有100多个),有选择地地方的错误
目前的Python应用于云基础设施、DevOps、网络爬虫开发、数据分析挖掘、机器学习等领域都有着普遍的应用,所以也产生了Web后端开发、数据接口开发、自动化运维、自动化测试、科学计算和可视化、数据分析、量化交易、机器人开发、图像识别和处理等一系列的职位。
1.在官网上下载Python3.7,根据自身须要,按步骤安装便可。
安装后能够从终端运行Python程序,python --version查看Python的版本,以下图:
也能够先输入python进入交互式界面1,在执行一下代码检查python的版本。
IDLE是安装python环境时自带的集成开发工具,以下图所示:
IPython是一种基于Python的交互式解释器。相较于原生的Python Shell,IPython提供了更为强大的编辑和交互功能。能够经过Python的包管理工具pip安装IPython和Jupyter,具体的操做以下所示。
pip install ipython jupyter
或者
python -m pip install ipython jupyter
安装成功后,能够经过下面的ipython命令启动IPython。固然咱们也能够经过Jupyter运行名为notebook的项目在浏览器窗口中进行交互式操做。
jupyter notebook
首先能够经过官方网站下载安装程序安装Sublime 3或Sublime 2。
安装包管理工具。经过快捷键Ctrl+`或者在View菜单中选择Show Console打开控制台,输入下面的代码。
import urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
Sublime 2
import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos.path.exists(ipp)elseNone;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());print('Please restart Sublime Text to finish installation')
安装插件。经过Preference菜单的Package Control或快捷键Ctrl+Shift+P打开命令面板,在面板中输入Install Package就能够找到安装插件的工具,而后再查找须要的插件。咱们推荐你们安装如下几个插件:
SublimeCodeIntel - 代码自动补全工具插件。
Emmet - 前端开发代码模板插件。
Git - 版本控制工具插件。
Python PEP8 Autoformat - PEP8规范自动格式化插件。
ConvertToUTF8 - 将本地编码转换为UTF-8。
在本次学习中使用的是Anacond,里面包括jupyter。
1.编写打印出“hello world”
print('hello world')
整型:Python中能够处理任意大小的整数(Python 2.x中有int和long两种类型的整数,但这种区分对Python来讲意义不大,所以在Python 3.x中整数只有int这一种了),并且支持二进制(如0b100
,换算成十进制是4)、八进制(如0o100
,换算成十进制是64)、十进制(100
)和十六进制(0x100
,换算成十进制是256)的表示法。
浮点型:浮点数也就是小数,之因此称为浮点数,是由于按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456
)以外还支持科学计数法(如1.23456e2
)。
字符串型:字符串是以单引号或双引号括起来的任意文本,好比'hello'
和"hello"
,字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,并且能够书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。
布尔型:布尔值只有True
、False
两种值,要么是True
,要么是False
,在Python中,能够直接用True
、False
表示布尔值(请注意大小写),也能够经过布尔运算计算出来(例如3 < 5
会产生布尔值True
,而2 == 1
会产生布尔值False
)。
复数型:形如3+5j
,跟数学上的复数表示同样,惟一不一样的是虚部的i
换成了j
。
对于每一个变量咱们须要给它取一个名字,就如同咱们每一个人都有属于本身的响亮的名字同样。在Python中,变量命名须要遵循如下这些必须遵照硬性规则和强烈建议遵照的非硬性规则。
硬性规则:
大小写敏感(大写的a
和小写的A
是两个不一样的变量)。
不要跟关键字(有特殊含义的单词,后面会讲到)和系统保留字(如函数、模块等的名字)冲突。
PEP 8要求:
用小写字母拼写,多个单词用下划线链接。
受保护的实例属性用单个下划线开头(后面会讲到)。
私有的实例属性用两个下划线开头(后面会讲到)。
float():将一个字符串转换成浮点数。
str():将指定的对象转换成字符串形式,能够指定编码。
chr():将整数转换成该编码对应的字符串(一个字符)。
ord():将字符串(一个字符)转换成对应的编码(整数)。
下面经过一些例子来讲明变量的使用。
1.使用变量保存数据并进行算术运算,以下图所示:
2.使用input()函数进行输入,由于input()输入的是字符串,若要进行运算,则须要类型转换,以下图所示
3.可使用type()来查看变量的类型,以下图所示:
4.格式化输出%d,{},以下图所示:
5.使用str(),以下图所示:
6.使用chr(),ord()加密邮箱地址,以下图所示:
7.编写计算器
Python中是支持多种运算符的,以下图所示,根据优先级从高到底的顺序列出全部的运算符。
注:[],[:]是一个前闭后开的一个区间;is是判断的内存地址;除0之外的数都表示True;in是判断某一个字符串是否在这个字符串中,以下图所示:
1.将华氏摄氏度转换成摄氏温度 F = 1.8C + 32
F = input('请输入华氏温度:')
C = (float(F)-32)*1.0/1.8
print('{:.2f} 摄氏度 = {} 华氏度'.format(C,F))
运行结果:
2.输入圆的半径计算圆的面积和周长
import math
r = float(input('请输入圆的半径:'))
area = r ** 2 * math.pi
per = 2 * r * math.pi
print('半径为%f,面积为%f,周长为%f'% (r,area,per))
运行结果:
3.判断输入的年份是否为闰年
year = int(input('请输入年份:'))
if (year % 4 == 0 )and (year % 100 != 0 )or(year % 400 == 0):
print('闰年')
else:
print('平年')
运行结果:
4.判断是否为水仙花数
第一种:
num = input("请输入一个三位数:")
if len(num) > 3:
print('输入有误')
else:
num_1=int(num)
a = int(num_1 % 100)
b = a % 10 # 百位数
c = int(a / 10) # 十位数
d = int(num_1 / 100) # 个位数
if (d ** 3)+(c ** 3)+(b ** 3) == num_1:
print('水仙花数')
else:
print('不是水仙花数')
运行结果:
第二种:
num = input("请输入一个三位数:")
if len(num) > 3:
print('输入有误')
else:
b = int(num[0]) # 百位数
c = int(num[1]) # 十位数
d = int(num[2]) # 个位数
if (d ** 3)+(c ** 3)+(b ** 3) == int(num):
print('水仙花数')
else:
print('不是水仙花数')
运行结果:
5.实现一个正方形
for i in range(10):
print('* ',end='')
print()
for k in range(8):
print('* ',' '*14,'*',sep=" ")
for j in range(10):
print('* ',end='')
运行结果:
-