编程:程序员根据需求把自己的思想流程按照某种编程语言的语法风格编写下来,产出的结果就是包含一堆字符的文件。
编程的目的:是为了用机器取代人力
编程语言:计算机所识别的表达方式即编程语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质。
Python语言
Python语言,创始人龟叔Guido van Rossum(1956 -- ?), 他在开发PYTHON语言之前曾使用过几年的ABC语言,ABC是一门主要用于教学目的语言(教计算机系的学生如何设计一门开发语言),Guido 在开发PYTHON时借鉴了很多ABC语言的特性,所以后来人们包括Guido自己也认为,PYTHON语言的前身就是ABC语言。
计算机语言分为三大类
机器语言
汇编语言
高级语言
一般我们常用的都是高级语言,高级语言又分为编译型和解释型。编译型与解释型,两者各有利弊。前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)、VB等基本都可视为编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如Java、JavaScript、VBScript、Perl、Python等等。
动态语言和静态语言
通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。
(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。
(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。
对于动态语言与静态语言的区分,套用一句流行的话就是:Static typing when possible, dynamic typing when needed。
强类型定义语言和弱类型定义语言
(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。
(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。
变量
变量即变化的量,也就是变化的一种状态。
变量名=变量值,而被赋予了变量的值都会在内存中占据一个空间。
注释
代码注释的原则:1.不用全部加注释,只要自己觉得不好理解或重要的地方加注释即可。
2.注释可以用中文或英文,但不要用拼音。
常量
常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量:
PI = 3.14159265359
但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。
python语言支持以下几种运算
算术运算
比较运算
Assignment Operators
二进制运算
关系运算
验证运算
二进制运算:
Python的变量及数据类型
Python的基本数据类型有5种: 整型(int), 浮点型(float), 字符型(string), 布尔型(bool),空值(None).
整数
Python可处理任意大小的整数,在程序中的表示方法和数学上的写法完全一样。
浮点数
浮点数也就是小数,之所以称为浮点数,浮点数可以用数学写法,如3.2,4.1,-7.2,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9
,或者12.3e8
,0.000012可以写成1.2e-5
,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
字符串
字符串是以''或""括起来的任意文本,比如'abc'
,"xyz"
等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'
只有a
,b
,c
这3个字符。如果'
本身也是一个字符,那就可以用""括起来,比如"I'm OK"
包含的字符是I
,'
,m
,空格,O
,K
这6个字符。
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True
、False
两种值,要么是True
,要么是False
,在Python中,可以直接用True
、False
表示布尔值(请注意大小写),也可以通过布尔运算计算出来:
>>> True True >>> False False >>> 3 > 2 True >>> 3 > 5 False
布尔值可以用and
、or
和not
运算。
and
运算是与运算,只有所有都为True
,and
运算结果才是True
or
运算是或运算,只要其中有一个为True
,or
运算结果就是True
not
运算是非运算,它是一个单目运算符,把True
变成False
,False
变成True
#所有数据类型都自带布尔值
1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
2、其余均为真
空值
空值是Python里一个特殊的值,用None
表示。None
不能理解为0
,因为0
是有意义的,而None
是一个特殊的空值。
列表
#在[ ]内用逗号分隔,可以存放n个任意类型的值
字典
字典里带有索引的方式查找位置,从0开始,这是在我们已知的情况下。
#在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型,用于标识:存储多个值的情况,每个值都有唯一一个对应的key,可以更为方便高效地取值。
占位符,如:%s(既可以接收字符串也可以接收数字)、%d(只能接收数字)
流程控制if...else
意思上理解就是 如果.......不然.......这种的语法模式
while循环
while语法条件
循环体
如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判决条件
如果条件为假,那么循环体不执行,循环终止
程序员根据需求把自己的思想流程按照某种编程语言的语法风格编写下来,产出的结果就是包含一堆字符的文件。