前言

Python是一种什么语言呢?

首先,我们先了解一下编程语言的基本知识:用任何编程语言来开发程序都是让计算机为我们所用,比如开发一款APP、编写一篇文档等等。而计算机干活的CPU只听得懂机器指令,所以尽管不同的编译语言差异很大最后都得翻译成CPU可以执行的机器指令。

而不同的编译语言,干同一个活,编写的代码量差异也很大。比如,做同一个游戏,C语言要写1000行代码,C++要写300行,而Python也许只要30行。

所以Python是一种非常高级的语言。


【1】Python与其他语言对比


整理得不好请指正

综上所述,Python是一种解释型(没有编译环节)、交互式(可以在一个Python提示符下直接互动执行你写的程序)、面向对象(支持面向对象的风格或代码封装在对象的编程技术)、动态数据类型的高级程序语言。

【2】准备阶段

(以下是2.X版本)

1)IDE

①PYCharm(https://www.jetbrains.com/pycharm/download/)

带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。

②Cpython

官方版本,下载时自带。

2)文本编辑器

在python的交互式命令行写程序,虽然能立即得到结果,但是无法保存。所以实际开发时总是使用一个文本编辑器来写代码,写完保存成一个文件后就可以反复运行程序了。

Notepad++

我用的是下载自带的Untitled


难点



小结

【3】基础要打好!

1)输入和输出


输出

print会依次打印每个字符串,遇到“,”会输出一个空格。


输入

任何计算机程序都是为了执行一个特定任务,有了输入用户才能告诉计算机程序所需的信息;有了输出,程序运行后才能告诉用户任务的结果。

raw_input和print是在命令行下最基本的输入和输出。

2)数据类型

在Python中,能直接处理的数据类型有:

①整数:和数学上一样,如110、-666等;用十六进制(0x前缀)较方便,如0xff00等。包括有长整型long(用L表示)和符号整型int。

②浮点数(float):就是小数,可用数学写法,如1.23、-6.54;对很大或很小的浮点数必须用科学记数法,把十用e替代,2.34*10^9就是2.34e9或23.4e8.整数和浮点数在计算机内部存储方式不同,整数运算永远精确,而浮点数运算可能有四舍五入的误差。

③复数(complex):复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型

④字符串(string)是以单引号' '或双引号" "括起来的数字、字母、下划线组成的任意文本

python的字串列表有2种取值顺序:一种是从左到右索引默认0开始的,最大范围是字符串长度少1;另一种是从右到左索引默认-1开始的,最大范围是字符串开头。

从字符串中获取一段子字符串,可以使用变量 [头下标:尾下标]截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾当使用以冒号分隔的字符串,python返回一个新的对象,结果包含了以这对偏移标识的连续的内容,左边的开始包含下边界,但取到的最大范围不包括上边界;加号(+)是字符串连接运算符星号(*)是重复操作

看个例子都明白了:


截取各类子字符串

【转义字符\可以转义许多字符,比如\n表示转行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\。

若字符串里面有很多字符都需要字符都需要转义,就需要加很多\。为了简化,Python允许用r' '表示' '内部的字符串默认不转义。

如果字符串内部有很多换行,Pyhon允许用'''(前后三个单引号)的格式表示多行内容】

⑤布尔值(bool):只有True和False两种值(注意大小写),可以用and、or和not运算,常用在条件判断中。

⑥空值(None):是Python里面一个特殊的值,不能理解为0,因为0是有意义的,而None是一个特殊的空值。

⑦列表(list)用 [ ] 标识,可以完成大多数集合类的复合数据结构实现,支持字符,数字,字符串甚至可以包含列表(即嵌套)。

类似截取子字符串,用变量 [头下标:尾下标] 就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始下标可以为空表示取到头或尾;加号 + 是列表连接运算符,星号 * 是重复操作


截取各类子列表

⑧元组(tuple):用()标识,内部元素用逗号隔开。


 截取各类子元组

注意!!!!元组是不允许更新的。而列表是允许更新的。就是说元组不能二次赋值,相当于只读列表。看下面:


错错错,是元组的错

⑨字典(dictionary):用"{ }"标识,由索引(key)和它对应的值value组成。除列表以外python之中最灵活的内置数据结构类型列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取

定义: d = ["key1":value1, "key2":value2]    一个key只能对应一个value 。如果key不存在,就会报错 ,可以通过 key in dict 来判断dict中是否有这个key ,要删除一个key,可以用pop(key)来删除,相对应的value也会被删除 ,dict内部存放的顺序和key放入的顺序是没有关系的

和list比较,dict有以下几个特点:查找和插入的速度极快,不会随着key的增加而增加;需要占用大量的内存,内存浪费多。而list相反:查找和插入的时间随着元素的增加而增加;占用空间小,浪费内存很少。 所以,dict是用空间来换取时间的一种方法。


存取字典元素

⑩集合(set)

和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。要创建一个set,需要提供一个list作为输入集合.

set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集( & )、并集( | )等操作。通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果;通过remove(key)方法可以删除元素 

此外,还允许数据类型转换、创建自定义数据类型等等,待补充。

3)变量和常量

①变量

变量在程序中用一个变量名表示,变量名必须是英文、数字和_的组合,且不能以数字开头

Python 中的变量赋值不需要类型声明,但每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建,每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。等号(=)就用来给变量赋值,左边是一个变量名,等号(=)运算符右边是存储在变量中的值。

Python允许多个变量同时赋值。如a = b = c = 1就创建了一个值为1的整型对象,三个变量被分配到相同的内存空间上(一个对象指定多个变量);又如:a, b, c = 1, 2, "john"将两个整型对象1和2的分配给变量 a 和 b,字符串对象 "john" 分配给变量 c(多个对象指定多个变量)。

常量

Python中常用全部大写的变量名表示常量,如PI(圆周率)

4) 运算符

Python语言支持以下类型的运算符:

①算术运算符:加(+)减(-)乘(*)除(/)取模(%)取整除(//)幂(**)

【取模 - 返回除法的余数;幂 - 返回x的y次幂;取整除 - 返回商的整数部分】注意:Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。

②比较运算符:等于(==)不等于(!=)不等于(<>)大于(>)小于(<)大于等于(>=)小于等于(<=)

③赋值运算符


赋值运算符

④位运算符:&(按位与) |(按位或) ^(按位异或) ~(按位取反) <<(左移动运算符) >>(右移动运算符)

⑤逻辑运算符:and(与)or(或)not(非)

⑥成员运算符:in(x 在 y 序列中 , 如果 x 在 y 序列中返回 True);not in(在指定的序列中没有找到值返回 True,否则返回 False)

⑦身份运算符:is(x is y, 类似 id(x) == id(y) , 如果这两个标识符引用的是同一个对象则返回 True,否则返回 False);is not (x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False)

⑧运算符优先级


从高到低

【4】下载与资料

1)最新源码,二进制文档,新闻资讯可以在Python官网看到:http://www.python.org/

2)Python文档(支持HTML、PDF、PostScript等格式)下载地址:www.python.org/doc/