特征:解释型语言,代码精简
显卡与GPU
显卡:显示适配器
GPU:图形处理器
CUDA:Compute Unified Device Architecture,NVIDIA推出的并行计算架构
集显:CPU就是显卡的处理器
核显:显卡的处理器(GPU)是CPU的一部分
独显:显卡有专门的处理器(GPU)和显存
总结:有GPU的机子不一定有独立显卡,可以通过判断 GPU发行商 或者 是否支持CUDA 来判断是否是独立显卡
Windows 环境搭建
1、安装Anaconda(Python包管理工具),里面的Jupyter Notebook是python编辑器
2、设置环境变量PATH:anaconda/、anaconda/Scripts、anaconda/Library/bin
3、环境操作:Anaconda图形界面-> Enviroments,查看环境列表(conda env list),创建新环境(conda create --name newEnv),切换到新环境(activate newEnv)
4、添加镜像源:Anaconda图形界面-> Channels (conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/)(此为清华TUNA镜像源)
5、安装python包:Anaconda图形界面-> Not Installed -> Apply(pip install tensorflow)
安装时指定源: pip install tensorflow -i https://mirrors.aliyun.com/pypi/simple/
安装时指定版本:pip install numpy==1.16.4
卸载:pip uninstall numpy
查看已安装包:conda list
6、安装pycharm(JetBrains 出品的 Python IDE)
7、在pycharm中新建项目
8、给pycharm指定3中创建的环境,File -> Settings -> Project -> Project Interpreter -> 齿轮 -> Add -> Virtualenv Enviroment -> Existing enviroment -> Interpreter 选择环境目录中的python.exe
9、python交互式环境:命令行 -> python
10、执行python:pycharm -> 右键 -> run(python xx.py),py文件里的main()函数会被执行
python 语法
布尔值:True False
空值:None
注释:#
list操作:L.append('Paul') L.insert(0, 'Paul') L.pop(2)
list切片:L[0:3](从0取到3),L[::2](每2个元素取一个) # 字符串也可以切片
元组tuple:t = ('Adam', 'Lisa', 'Bart') # 不能修改的数组
if语句:
if age >= 18:
print 'adult' # 以缩进来区分代码块
elif age >= 6:
print 'teenager'
else:
print 'teenager'
for语句:
for name in L:
print name
continue
while语句:
while x < N:
print x
x = x + 1
break
dict:
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
d['Paul'] = 72
d.get('Bart')
遍历dict:for key in d: 或 for key in d.values(): 或 for key, value in d.items():
set:
s = set(['A', 'B', 'C', 'C'])
s.add(4)
s.remove(4)
if 'A' in s:
定义函数
def my_abs(x, n=2): # 参数默认值
if x >= 0:
return x, 1 # 可以返回多个值
else:
return -x
函数调用:x, y = move(100, 100, 60, math.pi / 6)
可变参数
def fn(*args): # 接收任意个数的参数
print args
生成列表: [x * x for x in range(1, 11)]
函数式编程
高阶函数:参数为函数 的函数
map(f, list):类似于 [].map(f)
reduce(f, list):取连个元素进行f计算,结果再与下个元素计算,最终返回一个结果
filter(f, list):类似于 [].filter(f)
sorted(list, f):排序
闭包:函数中返回函数,调用外层函数时,产生闭包
匿名函数:lambda x: x * x 即 def f(x): return x * x
装饰器函数
目的:在不改原函数的情况下对原函数进行了增强
在装饰器函数中定义一个新函数,在新函数中调用原函数,装饰器函数返回新函数
装饰器函数调用:f = decorator(f) # 新函数名与原函数名相同,从而隐藏了原函数
python内置的调用装饰器函数的写法
@decorator # 用decorator装饰f,装饰后 函数名不变
def f(x):
return x
偏函数:f1 = functools.partial(f, base=2) # f2 即 f 的柯里化
模块
包:有一个 init.py 的目录
模块:即一个py文件
导入模块:import math
导入模块里的函数:from math import pow, sin, log
导入python新版本的特性:
from __future__ import division # 会覆盖当前python版本division
类
类定义
class Person(object,A): # 继承 object 和 A
def __init__(self, name): # 构造函数
self.name = name
self.__job = 'Student' # 私有属性
address = 'Earth' # 类属性
def get_name(self): # 成员方法
return self.__name
@classmethod
def how_many(cls): # 类方法
return cls.count
创建实例:xiaoming = Person()
设置实例属性:xiaoming.name = 'Xiao Ming'
类属判断:isinstance(p, Person)、type(s)
获取对象的所有属性:dir(s)
类的特殊方法:str(用于print函数),len(用于len函数),cmp(用于cmp函数)等
with as语法:
with session as sess:
print ""
session对象的enter()方法的返回值赋值给sess,代码块执行完之后,调用session的exit()方法
网友评论