Python
Python的历史
1.1989年圣诞节:Guido von Rossum开始写Python语言的编译器。
2.1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面又出现了Java和C#实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他实现),可以调用C语言的库函数。在最早的版本中,Python已经提供了对“类”,“函数”,“异常处理”等构造块的支持,同时提供了“列表”和“字典”等核心数据类型,同时支持以模块为基础的拓展系统。
3.1994年1月:Python 1.0正式发布。
4.2000年10月16日:Python 2.0发布,增加了实现完整的垃圾回收,提供了对Unicode的支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。
5.2008年12月3日:Python 3.0发布,它并不完全兼容之前的Python代码,不过因为目前还有不少公司在项目和运维中使用Python 2.x版本,所以Python 3.x的很多新特性后来也被移植到Python 2.6/2.7版本中。
目前我们使用的Python 3.7.x的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(如修复了某个Bug),只要有修改就增加C。如果对Python的历史感兴趣,可以查看一篇名为《Python简史》的博文。
Python的优缺点
Python的优点很多,简单的可以总结为以下几点。
1.简单和明确,做一件事只有一种方法。
2.学习曲线低,跟其他很多语言相比,Python更容易上手。
3.开放源代码,拥有强大的社区和生态圈。
4.解释型语言,天生具有平台可移植性。
5.支持两种主流的编程范式(面向对象编程和函数式编程)都提供了支持。
6.可扩展性和可嵌入性,可以调用C/C++代码,也可以在C/C++中调用Python。
7.代码规范程度高,可读性强,适合有代码洁癖和强迫症的人群。
Python的缺点主要集中在以下几点。
1.执行效率稍低,因此计算密集型任务可以由C/C++编写。
2.代码无法加密,但是现在的公司很多都不是卖软件而是卖服务,这个问题会被淡化。
3.在开发时可以选择的框架太多(如Web框架就有100多个),有选择的地方就有错误。
Python的应用领域
目前Python在云基础设施、DevOps、网络爬虫开发、数据分析挖掘、机器学习等领域都有着广泛的应用,因此也产生了Web后端开发、数据接口开发、自动化运维、自动化测试、科学计算和可视化、数据分析、量化交易、机器人开发、图像识别和处理等一系列的职位。
变量和类型
在程序设计中,变量是一种存储数据的载体。计算机中的变量是实际存在的数据或者说是存储器中存储数据的一块内存空间,变量的值可以被读取和修改,这是所有计算和控制的基础。计算机能处理的数据有很多中类型,除了数值之外还可以处理文本、图形、音频、视频等各种各样的数据,那么不同的数据就需要定义不同的存储类型。Python中的数据类型很多,而且也允许我们自定义新的数据类型(这一点在后面会讲到),我们先介绍几种常用的数据类型。
1.整型:Python中可以处理任意大小的整数(Python 2.x中有int和long两种类型的整数,但这种区分对Python来说意义不大,因此在Python 3.x中整数只有int这一种了),而且支持二进制(如0b100
,换算成十进制是4)、八进制(如0o100
,换算成十进制是64)、十进制(100
)和十六进制(0x100
,换算成十进制是256)的表示法。
2.浮点型:浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456
)之外还支持科学计数法(如1.23456e2
)。
3.字符串型:字符串是以单引号或双引号括起来的任意文本,比如'hello'
和"hello"
,字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。
4.布尔型:布尔值只有True
、False
两种值,要么是True
,要么是False
,在Python中,可以直接用True
、False
表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如3 < 5
会产生布尔值True
,而2 == 1
会产生布尔值False
)。
5.复数型:形如3+5j
,跟数学上的复数表示一样,唯一不同的是虚部的i
换成了j
。
变量命名
1.对于每个变量我们需要给它取一个名字,就如同我们每个人都有属于自己的响亮的名字一样。在Python中,变量命名需要遵循以下这些必须遵守硬性规则和强烈建议遵守的非硬性规则。
硬性规则:
2.变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,数字不能开头。
3.大小写敏感(大写的a
和小写的A
是两个不同的变量)。
4。不要跟关键字(有特殊含义的单词,后面会讲到)和系统保留字(如函数、模块等的名字)冲突。
PEP 8要求:
1.用小写字母拼写,多个单词用下划线连接。
2.私有的实例属性用两个下划线开头。
-
c = float(input()) f = (9 / 5) * c + 32 print("摄氏度{}转华氏度为{}".format(c,f))import math r,h = map(float,input("Enter the r and h").split()) dmj = r * r * math.pi tj = dmj * h print("The area is :%f"%dmj) print("The volume is :%f"%tj)
a = float(input("Enter a value for feet: ")) m = a * 0.305 print("%f"%m)
sl = float(input("Enter the amount of water in kilograms is :")) cs = float(input("Enter the initial temperature is :")) zz = float(input("Enter the final temperature is :")) Q = sl * (zz - cs) * 4184 print("The energy needed is : %.1f"%Q)
ce,year = map(float,input("Enter balance and interest rate (e.g., 3 for 3%):").split()) lx = ce * (year / 1200) print("The interest is : %f"%lx)
cs,m,time = map(float,input("Enter v0, v1, and t :").split()) a = (m - cs) / time print("The average acceleration is : %.4f"%a)
m = float(input("Enter the monthly saving amount : ")) sum = 0 for i in range(6): sum = sum * (1 + 0.00417) + m * (1 + 0.00417) print("After the sixth month, the account value is : %.2f"%sum)
number = float(input("Enter a number between 0 and 1000 : ")) baiwei = number // 100 shiwei = number //10 % 10 gewei = number % 10 sum = baiwei + shiwei + gewei print("The sum of the digits is : %f"%sum)