http://cs231n.github.io/python-numpy-tutorial/
Python is a great general-purpose programming language on its own, but with the help of a few popular libraries (numpy, scipy, matplotlib) it becomes a powerful environment for scientific computing.
#PYTHON基础
数据类型
特殊:list,dictionary,set,tuples
运算符
字符串操作
x ** 2 平方
流程控制语句
if,while,for
使用缩进表示语言结构
函数
定义和使用
类定义和使用
默认参数self的理解
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。self指向对象(instance)本身
#python如何安装第三方软件包
1 下载源码包
在github 或者 pypi上找到源码。找到源码格式大概都是 zip、tar.zip、tar格式的压缩包。解压这些包,进入解压好的文件夹,通常会看见一个 setup.py 的文件。打开命令行,进入该文件夹。运行
python setup.py install
这个命令,就能把这个第三库安装到系统里,也就是你的 Python 路径,windows大概是在 C:Python2.7Libsite-packages。
Linux会在 /usr/local/lib/python2.7/dist-packages。
Mac 应该在 /Library/Python/2.7/site-packages
2 使用pip or easy_install
pip install flask
pip uninstall flask
pip intall flask-master.zip 使用pip安装下载的zip文件的源码包
#附录
Python2.6不支持 set的列举定义 animals={'cat','dog'} 会有语法错误。
3与2.7的版本有较大的不同,不能向下兼容。
Somewhat confusingly, Python 3.0 introduced many backwards-incompatible changes to the language, so code written for 2.7 may not work under 3.4 and vice versa.
遇到问题,请多使用documentation
https://docs.python.org/2/
python字符集的问题
存储统一使用unicode字符集
#PYSTROM
更改pystrom使用的python版本
Project>Interpreter
如果要使用中文注释,使用#coding=utf-8
在run中执行py文件
可以选中语句,然后右键run the selection in the console
可以单步调试
# coding=utf-8 # variables' types # list tmp2 = [1, 2, 3, "myItem"] # you can use negative value for indexing print tmp2[-1] tmp2.append(234) for item in tmp2: print item # dictionary tmp3 = {1: "nice", "key2": "bad"} print tmp3[1] tmp3["3"] = "test" del tmp3[1] for item in tmp3: print item print tmp3[item] # set animals = {'cat', 'dog'} animals.add('erer') animals.add("cat") animals.remove("dog") print 12 in animals # tuple tuple5 = (1, 2) tmp6 = {tuple5, 12} print (1, 2) in tmp6 # operator tmp = 2**4 print tmp # string name = "rex" print 'Hello, %s' % name # control structure # condition if tmp == 12: print "yes" elif tmp < 0: print 'Hello, %d' % tmp else: print "no" # loop count = 0 while count < 9: print 'The count is:', count count += 1 # define a function def sign(x): name1 = "rex" if x > 0: return 'positive' elif x < 0: print 'Hello, %s' % name1 return 'negative' else: return 'zero' # defining classes class Greeter(object): # Constructor def __init__(self, name1): self.name = name1 # Create an instance variable # Instance method def greet(self, loud=False): if loud: print 'HELLO, %s!' % self.name.upper() else: print 'Hello, %s' % self.name # create an instance of a class tmpClass = Greeter("rex") # 所以加点访问的,可能是包名/也可能是类的某个instance名
# coding=utf-8 # numpy import numpy as np tmp = np.array([1, 2, 3]) print tmp[1] tmp2 = np.random.random((1, 2)) # 比 matlab 要繁琐的多,创建矩阵,要使用tuple print tmp2 a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) # get a row print a[1,:] print a[0,:] print a[:, 1] print np.arange(3) # 0 1 2 # calculate the items # Mutate one element from each row of a using the indices in b b = np.array([1, 2, 3]) a[np.arange(3), b] += 10 print a