python数据类型:(按特征划分)
数字类型:
1. ×××:布尔形、长整型L、标准×××
2. 非×××:双精度型、复数、decimal(不是内建类型)
序列类型:
1. 字符串(str)
2. 元组(tuple)
3. 列表(list)
映像类型:
1. 字典(dict)
集合类型:
1. 可变集合(set)
2. 不可变集合(frozenset)
python数据类型(按可变性划分)
可哈希的,不可变数据类型:
1. 数字类型
2. 不可变集合(frozenset)
3. 字符串(str)
4. 元组(tuple)
可变数据类型:
1. 字典(dict)
2. 列表(list)
3. 可变集合(set)
python中引号的作用:
1. ‘ ‘
2. “ “
3. ‘’’ ‘’’
单引号和双引号基本没区别,同样的作用;双引号可以内嵌单引号。三引号作为大段文字的注释。
python的编解码
1. ASCII
2. Unicode
3. UTF-8
python模块
1. import moduleName:导入一个模块
2. from module import functionName:从一个模块中导入一个方法
3. import moduleName as newModuleName:把一个模块重新命名
python用户交互:
使用内置函数:raw_input(),该函数接收一个字符串。
input(),该函数接收一个数字类型
python流程控制:
if … else …
1. split
2. strip
3. len()
for variable in range(1, 10):
while True:
1. break
2. continue
python第一天作业:编写登陆接口
要求:输入用户名密码;认证成功后显示欢迎信息;输错三次后锁定
回顾第一天的主要内容:
python的基本语法、数据类型、导入模块、流程控制。
python文件处理:
读文件:代码展示
f = file(‘filename.txt’, ‘r’)
for line in f.readlines():
line = line.strip(‘\n’).split(‘:’)
print line
文件处理模式:
r:以只读模式打开文件
w:以只写模式打开文件
a:以追加模式打开文件
r+b:以读写模式打开
w+b:以写读模式打开
a+b:以追加及读模式打开
python字符串处理:
str.find(substring, [start [,end]]) #可指范围查找子串,返回索引值,否则返回-1
str.rfind(substring, [start [,end]]) #反向查找
str.index(substring, [start [,end]]) #同find,只是找不到产生valueerror异常
str.rindex(substring, [start [,end]]) #同上反向查找
str.count(substring, [start [,end]]) #返回找到子串的个数
str.lowercase()
str.capitalize()首字母大写
str.lower()转小写
str.upper()转大写
str.swapcase()大小写互换
str.split(str, ‘ ‘)将string转list,以空格分割
str.join(list, ’ ’)将list转string, 以空格分割
len(str)字符串长度
cmp(“my friend”, str) 字符串比较。第一个大返回1
max(‘abcxyz’) 寻找字符串中最大的字符
min(‘abcxyz’) 寻找字符串中最小的字符
python中的列表:
list的方法:
list.append(var) 追加元素
list.insert(index, var)
list.pop(var) 返回最后一个元素,并从list中删除
list.remove(var) 删除第一次出现的该元素
list.count(var) 该元素在列表中出现的个数
list.index(var) 该元素的位置,无则抛异常
list.extend(list2) 追加list2,到list上。合并
list.sort() 排序
list.reverse() 元素顺序反转
list[1:] 片段操作符,用于子list的提取
[1,2]+[3,4] 为[1,2,3,4]。同extend()
[2]*4 为[2,2,2,2]
del list[1] 删除指定下标的元素
del list[1:3] 删除指定下表范围的元素
list = list1 list是list1的别名,内存地址相同,对list操作就是对list1的操作
list = list2[:] 生成list2的一个copy
python元组:
tuple:常量数组
tuple = (‘a’, ‘b’, ‘c’, ‘d’)
可以用list的[],:操作符提取元素,就是不能直接修改元素
一个小案例:购物车程序
要求用户输入工资,然后打印购物菜单;用户可以不断的购买商品,直到钱不够为止;退出时格式化打印用户已购买的商品和剩余金额。
开发文件替换小程序:
使用方法:
./pythonFile.py ‘source string’ ‘replace string’ filename.txt
./pythonFile.py ‘source string’ ‘replace string’ filename.txt --bak filename.txt.bak
python字典DICT:
dict.get(key, 0) 同dict[key], 多了个没有则返回默认值,0。[]没有则抛出异常
dict.has_key(key) 有该键返回True, 否则False
dict.keys() 返回字典键的列表
dict.values() 以列表的形式返回字典中的值, 返回值的列表中可包含重复元素
dict.items() 将所有的字典项以列表方式返回,这些列表中的每一项都来自于(键,值), 但是项在返回时并没有特殊的顺序
dict.update(dict2) 增加合并字典
dict.popitem() 得到一个pair,并从字典中删除它,已空则抛出异常
dict.clear() 清空字典,同del dict
dict.copy() 拷贝字典
dict.cmp(dict1, dict2) 比较字典,(优先级为元素个数、键大小、键值大小
dict1 = dict2 给dict2取个dict1的别名
dict2 = dict.copy() 克隆,另一个拷贝
python中列表与字典的比较:
dict:
1. 查找和插入的速度极快,不会随着key的增加而速度变慢
2. 需要占用大量的内存,内存浪费多。
3. key不可变
4. 默认无序
list:
1. 查找和插入的时间随着元素的增加而增加
2. 占用空间小,内存浪费少。
3. 通过下标查询
4. 有序
python SET集合
特点:无序;元素不重复
功能:关系测试;去重
set集合运算:
a = set([1, 2, 3, 4])
b = set([3, 4, 5, 6])
a & b 求交集 a.intersection(b)
a | b 求并集 a.union(b)
a – b 求差集 a.difference(b)
a ^ b 求对称差集 a.symmetric_difference(b)
a.issubset(b) a是b的子集
a.issuperset(b) a是否包含b
python第二天作业:员工信息表
用户可以模糊查询员工信息
显示匹配了多少条,匹配字符需要高亮显示
回顾第二天的主要内容:
python的文件处理、字符串、列表、元组、字典、集合。
Python第三天主要内容:
1. IDE的使用
2. 模块和模块的常用方法
3. 函数式编程
4. Yield
5. 三元运算
6. Lambda表达式
7. 内置函数
8. 常用模块
9. 装饰器
python中模块和模块的常用方法:
__init__.py文件:在一个目录下面必须要有这个文件才能把该目录下的py文件作为模块导入到另一个py文件里面。
是否为主文件:__name__ if __name__ == ‘__main__’
当前文件路径:__file__
当前文件描述:__doc__
python的函数式编程
参数: def fun(arg, *args, **kargs):
默认参数: print arg
可变参数: print args
返回值: return ‘success’
内置函数:
help() dir() vars() type() import temp reload(temp) id()