1.正则表达式
ret = re.findall('[a-z]+', 'eva egon yuan')## 返回所有满足匹配条件的结果,放在列表里#
print(ret) # #
ret = re.search('a', 'eva egon yuan')
if ret:
print(ret.group())
# 从前往后,找到一个就返回,返回的变量需要调用group才能拿到结果# 如果没有找到,那么返回None,调用group会报错# #
ret = re.match('[a-z]+', 'eva egon yuan')
if ret:
print(ret.group())# match是从头开始匹配,如果正则规则从头开始可以匹配上,就返回一个变量。# 匹配的内容需要用group才能显示# 如果没匹配上,就返回None,调用group会报错
map
循环每个元素(第二个参数),然后让每个元素执行函数(第一个参数),将每个函数执行的结果保存到新的列表中,并返回。
v1 = [11,22,33,44]
result = map(lambda x:x+100,v1)
print(list(result)) # 特殊 这里不会改变V的值,只是新生成了一个变量列表保存结果
让python pip使用国内镜像
-
国内源:
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
note:新版ubuntu要求使用https源,要注意。
-
临时使用:
可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple 例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider,这样就会从清华这边的镜像去安装pyspider库。
-
永久修改,一劳永逸:
Linux下,修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)
内容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
windows下,直接在user目录中创建一个pip目录,再新建文件pip.ini。(例如:C:\Users\WQP\pip\pip.ini)内容同上。
引用:http://www.cnblogs.com/microman/p/6107879.html
迭代器与可迭代
可迭代:含有__ iter __方法 ,可迭代的一定可以被for循环
迭代器:同时含有__ iter __ 方法和 __ next __方法
迭代器一定可迭代,但是反过来则不一定成立,可迭代的对象可以通过使用iter()方法来获得一个迭代器
生成器
# def generator():
# print(123)
# content = yield 1
# print('=======',content)
# print(456)
# arg = yield 2
# ''''''
# yield
# g1 = generator()
# g2 = generator()
# g1.__next__()
# g2.__next__()
# print('***',generator().__next__())
# print('***',generator().__next__())
# g = generator()
# ret = g.__next__()
# print('***',ret)
# ret = g.send('hello') #send的效果和next一样
# print('***',ret)
#send 获取下一个值的效果和next基本一致
#只是在获取下一个值的时候,给上一yield的位置传递一个数据
#使用send的注意事项
# 第一次使用生成器的时候 是用next获取下一个值
# 最后一个yield不能接受外部的值
匿名函数
#普通函数
def calc:
return n**n
#匿名函数 即 lambda函数
calc = lambda n:n**n #冒号前面的为参数,冒号后面的是函数返回值