Python

作者: saoraozhe3hao | 来源:发表于2019-08-12 17:30 被阅读0次

特征:解释型语言,代码精简

显卡与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()方法

相关文章

网友评论

      本文标题:Python

      本文链接:https://www.haomeiwen.com/subject/getpjctx.html