----------------------------------------------------------------------------------------------------
前期回顾:
一、python基础
二、基本数据类型:str、dict、list
三、函数式编程
函数定义
内置函数
文件处理
注意:
li = [11,22,33,44,]
def f1(arg):
arg.append(55)
li = f1(li)
print(li)
函数默认返回None
引用
四、其他
三元运算
lambda表达式
----------------------------------------------------------------------------------------------------
本期内容:
一、作业
二、内置函数
三、装饰器
四、其他
五、作业
----------------------------------------------------------------------------------------------------
一、作业讲解
用到的知识点:
1、文件操作
2、for循环
3、confinue,break
4、json
5、os
http://www.cnblogs.com/wupeiqi/articles/5539371.html
----------------------------------------------------------------------------------------------------
二、内置函数
callable()
chr()
—针对ascii码转换
ord()
针对ascii码转换

random()
—生成随机数字
import random
i = random.randrange
(1,5)print(i)

随机生成六位验证码
#!/usr/bin/env python
# -.- coding: utf-8 -.-
# By sandler
import random
li = []
for i in range(6):
temp = random.randrange(65,91)
c = chr(temp)
li.append(c)
result = "".join(li)
print(result)
#!/usr/bin/env python
# -.- coding: utf-8 -.-
# By sandler
# 完整的随机验证码程序
import random
li = []
for i in range(6):
r = random.randrange(0,5)
if r == 2 or r == 4:
num = random.randrange(0,10)
li.append(str(num))
else:
temp = random.randrange(65,91)
c = chr(temp)
li.append(c)
result = "".join(li)
print(result)
classmethod()
忘记他吧,面向对象时会用到。
compile()
把字符串编译成python代码
single,eval,exec
exec()
用来执行编译的代码,

exec没有返回值
eval()
编译成表达式

eval有返回值
complex()
处理复数
欠:
反射,delattr(),getattr(),setattr(),hasattr()
dict()
字典
dir()
获取模块的功能
help()
查看帮助
divmod()
enumerate()
枚举
isinstance()
判断某个对象是谁的实例

filter()


#!/usr/bin/env python
# -.- coding: utf-8 -.-
# By sandler
# filter(函数,可迭代的对象)
def f2(a):
if a>22:
return True
li = [11,22,33,44,55,]
ret = filter(f2,li)
print(list(ret))
# filter内部,循环第二个参数
# for item in 第二个参数:
# r = 执行第一个参数(item)
# if r:
# result(item)
# return result
# filter 循环第二个参数,让每个循环元素执行函数,如果函数的返回值是True,表示元素合法
#!/usr/bin/env python
# -.- coding: utf-8 -.-
# By sandler
li = [11,22,33,44,55,]
result = filter(lambda a: a > 33 ,li)
print(list(result))

map()
#!/usr/bin/env python
# -.- coding: utf-8 -.-
# By sandler
# map(函数,可迭代的对象(可以for循环的东西))
li = [11,22,33,44,55,]
def f2(a):
return a + 100
result = map(f2,li)
print(list(result))
#!/usr/bin/env python
# -.- coding: utf-8 -.-
# By sandler
li = [11,22,33,44,55,]
result = map(lambda a: a +100,li)
print(list(result))
float()
转换成浮点型
format()
frozenset()
globals()
全局变量
locals()
局部变量
hash()
传入参数生成hash值,一般用于字典的key的保存
issubclass()
查看某个类是不是子类
iter()
创建迭代器
len()
查看长度

max()
最大值
min()
最小值
sum()
求和
memoryview()
和内存地址相关的类
next()
类
object()
所有类的父类
property()
特性,面向对象里的
repr()
面向对象里的
reversed()
反转,
round()
四舍五入
set()
集合
slice()
切片设置步长
sorted()
排序
staticmethod()
面向对象
super()
面向对象
zip()
棕色框中需要记住,画勾为重点
----------------------------------------------------------------------------------------------------
三、装饰器

@符号加上函数名“@ + 函数名”
功能:
1、自动执行outer函数,并且将其下面的函数名f1当作参数传递
2、将outer函数的返回值,重新赋值给f1
----------------------------------------------------------------------------------------------------
三、其他
鸡汤
推荐书籍《林达看美国》
----------------------------------------------------------------------------------------------------
四、本节作业
用户管理程序:
普通用户:登录,注册,修改密码,查看本用户信息
管理员用户:登录,注册,修改密码,查看本用户信息,查看所有普通用户,
按照指定关键字搜索用户信息:
删除、添加普通用户,修改普通用户密码,提供普通用户权限
用户信息存放到文件
用户名|密码|邮箱|电话|用户类型|
权限使用装饰器实现
----------------------------------------------------------------------------------------------------