指令+代码=程序
数据结构+算法=程序
- 数据结构
- 通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他的数据结构
- Python的最基本数据机构是序列
- 序列中的每个元素被分配一个序号——即元素的位置,也称为索引:索引从0开始编号
- python包含6种内建的数据序列:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象
python关键要素
python中一切皆对象
1、基本数据类型
-
python中的基本数据类型有:
-
Integral类型
1、整型:不可变类型:-257,2331414
2、布尔型:True,False -
浮点类型
1、浮点数:3.141592
2、复数:3+6j
3、十进制数字 -
字符串
“GNU is Not Unix”,”hello”,”world”
2、对象引用(变量)
- 1、python将所有数据存为内存对象
-
2、python中,变量事实上是指向内存对象的引用
-
3、动态类型:在任何时刻,只要需要,某个对象引用都可以重新引用一个不同的对象(可以是不同的数据类型)
-
4、内建函数type()用于返回给定数据项的数据类型
-
5、“=” 用于将变量名与内存中的某对象绑定:如果对象事先存在,就直接进行绑定;否则,则由”=”创建引用的对象
-
6、变量命令规则
只能包含字母、数字和下划线,且不能以数字开头
区分字母大小写
禁止使用保留字—>python2与python3保留字有所不同 -
7、命令惯例
以单一下划线开头变量名(_x)不会被from module import *语句导入
前后由下划线的变量名(x)是系统定义的变量名,对python解释器由特殊意义
以两个下划线开头但结尾没有下划线的变量名(__x)是类的本地变量
交互式模式下,变量名“_”用于保存最好表达式的结果 -
注意:变量名没有类型,对象才有
3、组合数据类型
- 数据结构:通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合
- python常用的组合数据类型
- 序列类型
1.列表:使用[]创建,如[‘Call’,’me’,’Tshmeal’,’.’] 可变对象
2.元组:使用()创建,如(‘one’,’two’) 不可变对象 - 集合类型
集合(set)一堆数据杂乱放在一起,没有次序的概念 - 映射类型
字典不使用下标来引用,使用字集指定的字符来引用。
- 序列类型
- python中,组合数据类型也是对象,因此其可以嵌套
[‘hello’,’world’,[1,2,3]] - 实质上,列表和元组并不真正存储数据,而是存放对象引用
- python对象可以具有其可以被调用的特定“方法(函数)”
- 元组、列表以及字符串等数据类型是“有大小的”,也即,其长度可使用内置函数len()测量
4、逻辑操作符
-
逻辑运算是程序设计语言的基本功能,python提供四组逻辑运算。
-
1.身份操作符
is:判定左端对象引用是否相同于右端对象引用;也可以与None进行; -
2.比较操作符
<,>,<=,>=,!=,== -
3.成员操作符
in或not in:测试成员关系 -
4.逻辑运算符
and,or,not
5、控制流语句
-
控制流语句是过程式编程语言的基本控制机制
常见控制流语句:if while for…in try
6、算术操作符
-
1.python提供完整的算术操作集
2.很多的python数据类型也可以使用增强的赋值操作符,如+=、-=等
3.同样的功能,使用增强型赋值操作符性能较好
4.python的int类型是不可变的,因此增强型赋值的实际过程是创建了一个新对象来存储结果后将变量名执行了重新绑定
7、输入/输出
具备实际功能的程序必须能够读取输入和产生输出,并写入终端或文件中。
- 输出
- python3:print()函数
- python2:print语句
- 输入(与键盘交互)
- input()
-
raw_input()
python解释器提供了3种标准文件对象,分别为标准输入、标准输出和标准错误,它们在sys模块中分别以sys.stdin、sys.stdout和sys.stderr形式提供
python的print语句实现打印
从技术角度,print是把一个或多个对象转换为其文本表达形式,然后发送给标准输出或另一个类似文件的
流
-
1.在python中,打印和文件、流的概念联系紧密
文件写入的方法是把字符串写入任意文件
print默认把对象打印到stdout流,并添加一些自动的格式化2.实质上,print语句只是python的人性特性的具体实现,它提供了sys.stdout.write()的简单接口,再加上些默认格式设置
3.print接受一个逗号分隔的对象列表,并为行尾自动添加一个换行符,若不需要,则在最后个元素后添加逗号
print “String %format1 %format2 …” %(variable1,variable2,…)
字符 | 输出格式 |
---|---|
d,i | 十进制整数或长整数 |
u | 无符号参数或长整数 |
o | 八进制整数或长整数 |
x | 十六进制整数或长整数 |
X | 十六进制整数(大写字母) |
f | 浮点数 |
e | 浮点数 |
E | 浮点数 |
g,G | 指数小于-4或更高精度时用%e或%E,否则使用%f |
s | 字符串或任意对象,格式化代码使用str()生成字符串 |
r | 同repr()生成的字符串 |
c | 单个字符 |
% | 字面量% |