复习1次课(11月28日)
1.3 python的文件类型
源代码
- Python源代码文件以”py”为扩展名,由Python程序解释,不需要编译,第一行#!/usr/bin/python
字节代码
- Python源码文件经编译后生成的扩展名为”pyc”的文件
- 编译方法:
import py_compile
py_compile.compile(‘hello.py’) //hello.py可以写绝对路径
运行后会生成hello.pyc 文件
优化代码
- 经过优化的源码文件,扩展名为”pyo”
- python –O –m py_compile hello.py
1.4 python的变量
定义
变量是计算机内存中的一块区域,变量可以存储规定范围内的值,而且值可以改变。 C中更改变量时,内存区域不变,更改数据;而python中是更改更改内存区域。
Python下变量是对一个数据的引用
变量的命名
- 变量名由字母、数字、下划线组成。
- 变量不能以数字开头
- 不可以使用关键字
- a a1 _a
变量的赋值
- 是变量的声明和定义的过程
a = 1
id(a)
Python运算符包括
- 赋值运算符
- 算术运算符
- 关系运算符
- 逻辑运算符
表达式是将不同的数据(包括变量、函数)用运算符号按一定规则连接起来的一种式子。
赋值运算符
= x = 3, y = 'abcd'
+= x += 2
-= x -= 2
*= x *= 2
/= x /= 2
%= x %= 2
算数运算符
+ 加,两个字符串相加是将两个字符串合并
- 减
* 乘
/ 除
// 只取整数
% 取余
** 次方
关系运算符
关系运算符返回布尔值,True或者False
> :1 > 2
< :2 < 3
>=:1 >= 1
<=:2 <= 2
==:2 == 2
!=: 1 != 2
逻辑运算符
and逻辑与: True and False
or逻辑或: False or True
not逻辑非: not True
优先级
从上到下,从左到右 优先级越来越高
写一个四则运算器
- 要求从键盘读取数字
input()与raw_input()区别
1.5 python的数值和字符串
python数据类型分类
数值
字符串
列表
元组
字典
数值类型
- 整型int
- 长整型long //长整型后面会有一个L
- 浮点型float //带小数点,科学计数法也属于浮点型
- 复数型complex //后面带一个j
字符串类型
有三种方法定义字符串类型
- str = ‘this is a string’
- str = “this is a string” //python下,单双引号没有区别
- str = ”’this is a string”’
三重引号(docstring)除了能定义字符串还可以用作注释。
a = “abcde” 字符串是一个序列,可用索引取值
a[起始下标 : 终止下标 : 步长]
a[0]=”a” //取第一个值
a[-1]=”e” //取最后一个
a[0:3]=”abc” //取下标0到下标2
1.6 元组
字符串、列表和元组都是序列
序列的两个主要特点是索引操作符和切片操作符
- 索引操作符让我们可以从序列中抓取一个特定项目
- 切片操作符让我们能够获取序列的一个切片,即一部分序列。
序列的基本操作
len(): 求序列的长度
+: 连接2个序列
*: 重复序列元素
in: 判断元素是否在序列中
max(): 返回最大值
min(): 返回最小值
cmp(x, y):比较两个序列是否相等
元组tuple
元组和列表十分相似
元组和字符串一样是不可变的
- 元组可以存储一系列的值
- 元组通常用在用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。
t = ('a',2,(3,))
t = (1,) //元组中只有一个元素的时候,要加 “,”
元组的操作
- 元组和字符串一样属于序列类型,可以通过索引和切片操作
- 元组值不可变
元组的拆分
- t = (1,2,3)
a, b, c = t //a,b,c三个变量可以分别赋予元组的值
元组有两个方法
count() //统计元组数据个数
index() //输出数据下标
1.7 列表
列表(list)是处理一组有序项目的数据结构,即可以在列表中存储一个序列的项目。
列表是可变类型的数据
创建列表
- list1 = []
- list2 = list()
- list3 = [‘a’,1,2]
列表操作
- 取值
切片和索引
- 添加
list.append()
- 删除
del list[]
list.remove(list[]) //删除第一个出现的value
- 修改
list[] = x
- 查找
var in list
· -插入
list.insert(value,object) //在对象前插入值
-排序
list.sort()
-反序
list.reverse()
1.8 字典
字典是python中的唯一的映射类型(哈希表)
字典对象是可变的,但是字典的键必须使用不可变对象,一个字典中可以使用不同类型的键值。
字典是无序的
字典的方法:
- keys() //以list的形式返回所有key
- values()
- items()
- get() //返回key对应的value
- pop() //返回k对应value,并删除这组数据
- update() //D.update(E,**F) 将E,**F加入D中
创建字典
- dic = {}
- dic = dict()
help(dict)
dict((['a',1],['b',2]))
dict(a=1, b=2)
字典中可以是数字,字符串,元组,但不能是list
- fromkeys(),字典元素有相同的值,默认为None。
ddict = {}.fromkeys((‘x’,’y’), 100)
访问字典
- 直接使用key访问:key不存在会报错,可以使用has_key()或者in和not in判断。
- 循环遍历:
例:for k in dic.keys():
for k in dic:
for k, v in dic.items():