前言
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/
Life is short,you need python!(1)
来源: http://www.bubuko.com/infodetail-2485799.html