python mpl_toolkits

from mpl_toolkits.mplot3d import Axes3D
提示:
ImportError: No module named mpl_toolkits.mplot3d

import matplotlib不会提示错误

修改方法是:升级matplotlib版本,修改python包路径权限,之前是700,修改为777
/Users//Library/Python/2.7/lib/python/site-packages

之前没有升级mac系统时,代码运行没有问题
升级macOS到Sierra 10.12,运行代码提示以上错误。

升级系统之后,文件夹权限发生变化。
类似的问题也在apache上出现过apache forbidden,升级系统之后原来搭载在mac上的服务不能启动
同样是文件夹权限问题。

python format函数

通过{}:来代替%。字符串的format函数可接受不限参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以。传list/tuple/dict给format函数,非常方便。

通过位置:

>>> '{},{}'.format('dora',17)

'dora,17'

>>> '{0},{1}'.format('dora',17)

'dora,17'

>>> '{1},{0},{1}'.format('dora',17)

'17,dora,17'

通过关键字:

>>> '{name},{age}'.format(name='dora',age=17)

'dora,17'

通过对象属性:

>>> class Person:

... def __init__(self,name,age):

... self.name,self.age = name,age

... def __str__(self):

... print 'This guy is {self.name},is {self.age} old'.format(self=self)

通过下标:

>>> p = ['dora', 17]

>>> '{0[1]},{0[0]}'.format(p)

'17,dora'

格式限定符

语法是{}中带:号,填充常跟对齐一起使用
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,默认是用空格填充

>>> '{:>8}'.format(17)

' 17'

>>> '{:0>8}'.format(17)

'00000017'

>>> '{:0a>8}'.format(17)

>>> >>> '{:a>8}'.format(17)

'aaaaaa17'

精度常跟类型f一起使用

>>> '{:.2f}'.format(17.1234567)

'17.12'

b、d、o、x分别是二进制、十进制、八进制、十六进制

>>> '{:b}'.format(17)

'10001'

>>> '{:d}'.format(17)

'17'

>>> '{:o}'.format(17)

'21'

>>> '{:x}'.format(17)

'11'

用,号金额的千位分隔符

>>> '{:,}'.format(171234567)

'171,234,567'

ipython 20151218

try: … except: … else: … finally:

python web开发:

架构:flask

pip install flask

from flask import Flask

app = Flask(__name__)

@app.route(‘/’)

def helloword():

return ‘Hello World’

if __name__ = ‘__main__’:

app.run(‘127.0.0.1’,234) #ip,port

flask.extension, 后台管理flask-admin(默认模板),模板jinjia

flask-alchemy

配置flask后台管理系统

等同于scp: python -mSimpleHTTPServer port

request(website)  测试

 

map,reduce,filter

collection.defaultdict

itertools.product,   itertools.combination

unittest testcase

 

邓梁:maven ppt