Python介绍
Python的由来
Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。
Python的创始人是吉多 ·范罗苏姆(Guido van Rossum),人称龟叔
1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器。Python这个名字,来自Guido
所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。 Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
发展历程
自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。
Python的创始人为荷兰人吉多·范罗苏姆 (Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》(Monty Python’s Flying Circus)。
ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。
Python 已经成为最受欢迎的程序设计语言之一。自从2004年以后,python的使用率呈线性增长。Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完全兼容Python 2。 2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。
由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。
2018年3月,该语言作者在邮件列表上宣布Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。
应用领域
Python是一种解释型脚本语言,可以应用于以下领域:
- Web 和 Internet开发
- 科学计算和统计
- 教育
- 桌面界面开发
- 软件开发
- 后端开发
下载Python
在您开始之前,在你的计算机将需要Python,但您可能不需要下载它。首先检查(在命令行窗口输入python)有没有安装Python!如果你看到了一个Python解释器的响应,那么就能在它的显示窗口中得到一个版本号。通常较新的版本都可以做到Python的向前兼容。
如果您需要安装, 您不妨下载最近稳定的版本。 就是那个以没有被标记作为alpha或Beta发行的最高的版本。目前最稳定的版本是Python3.0以上
如果你使用的操作系统是Windows:当前最稳定的Windows版本下载是"Python 3.9.1 for Windows"
如果你使用的是Mac,MacOS 10.2 (Jaguar), 10.3 (Panther) and 10.4 (Tiger)已经集成安装了Python,但是你大概需要安装最近通用的构架(build)。
对于Red Hat,安装python2和python2-devel包。
对于Debian,安装python2.5和python2.5-dev包。
执行操作
Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。基于C的Python编译出的字节码文件,通常是.pyc格式。除此之外,Python还可以以交互模式运行,比如主流操作系统Unix/Linux、Mac、Windows都可以直接在命令模式下直接运行Python交互环境。直接下达操作指令即可实现交互操作。
1.Python的开发环境
前期:使用记事本工具(editplus、sublime、VS code、Notepad++)
中期后期:集成开发环境(IDE):pycharm工具
2.第一个python程序
3.变量
3.1 变量的定义
变量名 = 值
python是一门若数据类型语言
a = 10
a = 20
a = "hahhh"
Java是一门强数据类型语言
int a = 10;
a = 20;
a = "hahhhhh" //报错
print() ---------- 打印输出
type() ----------查看类型
3.2 变量的命名规范
1.只能由有效的字符组成(数字 大小写字母 下划线)
2.不能以数字开头
3.不能是关键字或者保留字
4.变量命名的时候一定有意义
小驼峰 userName
下划线 user_name(推荐)
import keyword
keyword.kwlist
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await',
'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally',
'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not',
'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
4.数据类型和数据类型的转换
4.1 数据类型
python弱数据类型语言 --------并不等价于 python没有数据类型
1.数值型
整型 int
浮点数 float
复数(虚数)-------- 一般不用
2.布尔类型(bool)
python要注意字母的大小写 True False
3. 字符型(str)如果是强数据类型语言,字符是一个对象,弱数据类型语言是一种数据类型
字符串内可以包含各种语言
ord() ------- 获取字符的整数的表示
chr()--------把编码转换为对应的字符串
如果字符串内包含引号怎么转换?
“I’m ok”
转义符
\n------换行
字符串本身就是多行显示:
复合数据类型(引用数据类型)
字典 列表 元组 集合
写一段代码,输入一个数,判断数据类型
全局函数:input()-------标准的输入函数,默认的返回值字符串
#输入一个数,判断数据类型
num = input("输入一个数:")
print(type(num))
思考:如何转换成int类型?
4.2 数据类型的转换
将字符型转换数值型-------Int()
前提条件: 输入的字符是可以转换成int类型
如果传入的是小数 20.3?
将字符型转换成float-------float()
字符型只能和字符型进行拼接
str()-------把其他类型转换成字符型
第一种拼接字符串的方式:
print("此时a的值:" + str(a))
5. 常见运算符
5.1 算术运算符
±---------加 减-------- -
乘 -------- *
除 -------- / Java C c++ 作为整除运算
// ------- 整除 只取整数的部分
% ------ 取余 取余数 模
幂次方 ------- **
5.2 比较(关系)运算符
返回值是boolean类型
大于 -------- >
小于--------- <
大于等于 -------- >=
小于等于 --------- <=
等于 ------ ==
不等于 -------!=
例:输入两个数,判断两个数之间的所有的关系
#输入两个数,判断两个数之间的所有关系
a = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))
print(a > b) print(a >= b)
print(a < b) print(a <= b)
print(a == b) print(a != b)
print("a>b的结果是:"+str(a>b))
print("%s > %s的结果是:%s"%(a,b,(a>b)))
第二种字符串拼接的方式:占位符
print("%s > %s 的结果是:%s"%(a,b,(a>b)))
5.3 逻辑运算符
比较的两者的关系 与 或 非 返回结果是True或者False
and ------ 与 且 一假则假
or --------- 或 一真则真
not ------- 非 一般与in关键字连用
注释:a是容器
5.4 赋值运算符
python里没有自加自减
= 等于 a =10
+= a += 10 --------a = a + 10
-=
*=
/=
**=