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.7\Lib\site-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