python学习&CNN实例

这篇博客主要介绍了Python的环境配置,包括Anaconda的安装与常用命令,以及Jupyter Notebook的使用。接着深入讲解了Python的基础操作,如数值运算、字符串处理、列表、字典、集合和异常处理等。在CNN实例部分,博主探讨了图像的基本操作,包括读取、显示和保存图片,以及如何处理彩色和灰度图像。
摘要由CSDN通过智能技术生成

python

一.环境配置

一.python环境配置安装

1.下载anaconda(库)
2.anaconda prompt
1)常用命令

  • conda list:查anaconda中现有的库。(库名+版本+安装方式)
  • pip install 包名:安装anaconda中还未有的库(以及包括库需要的依赖)。若装库遇到问题 此网站有python的外部包,ctrl+f搜寻,eg:xgboost‑1.3.1‑cp36‑cp36m‑win_amd64.whl:名称+版本+python版本+位数+whl(pip安装)。再用pip install安装。
  • conda install 与pip下载源可能不一样,建议pip。

3.jupyter-notebook(可以注释+可视化+代码+方便查看中间信息)

  • shift+enter:执行
  • import os
    print(os.path.abspath(’.’))显示当前路径,可新建文件夹然后将代码放进去。

4.安装opencv
1)pip install python-opencv
2)查看是否安装成功
python(环境名)
import cv2 (不报错即安装成功)
cv2.version(打印版本号)
exit()(退出)
同理,安装pip install opencv-contrib-python==(版本号与opencv一致):是opencv的扩展包

二.python操作

1.数值运算

  • notebook只打印最后一行;
  • 2 3 2^3 23:2**3
  • x=3(赋值操作);type(x):打印类型;类型转换:float(x);y=‘123’,int(y)(数值才能转换);
  • abs:绝对值;round:四舍五入;min;max;1.3e2=130:e2为10的幂数
  • a=True(bool类型)

2字符串操作

  • ‘x’+‘y’:字符串拼接; x=‘a’,x*3:三倍字符串的字符串;len(x):字符串长度(包括空格);
  • 分割:x=‘1,2,2’ x.split(’,’):以’,'为分隔符切割,不写默认空格切割,切割的东西放在list中;
  • 合并:x=‘a’,x.join(y):以x的字符串的方式合并y;
  • 替换:x.replace(‘a’,‘b’):把x中的a替换成b;
  • 大小写转换:x.upper();x.lower();
  • 去空格: x=’ sad sda ',x.strip():去x得前后空格;x.lstrip():左空格,同理有空格;
  • 传值:’{} {} {}’.format(‘a’,‘b’,‘c’) 输出:‘a b c’;按位置传值:’{2} {0} {1}’.format(‘a’,‘b’,‘c’) 输出:‘c a b’;按参数传值:’{a},{b} {c}’.format(a=1,b=4,c=3) 输出:‘1,4 3’
  • 传值方式2:
x='a'
b=123
c=2.67
result='%s,%d %f'%(x,b,c)
result

结果:‘a,123 2.670000’

3.索引

  • x为字符串,x[0],x[-1]:从后往前数从-1开始;数字表示位置,正数时从左到右从0开始,负数是从右到左从-1开始;
  • 切片:取中间 x[0:4]:取从0到4,左闭右开;x[5:]:从5位置往后都取;x[:7]:左边全要;x[:]:全要;x[::2]:每隔两个取一个值。

4.list(元组?)

  • list以[]来创建,里面不限类型,不限长度;x = [1,‘a’,56.0];
  • len(x);
  • a为list,b为list,a+b为拼接;a*3:复制三遍;a[0],a[-1]:索引;a[0] = 22:单个替换;a[:] = [‘a’,‘b’]:全部替换,注意个数;
  • list操作与索引操作基本一样;
  • 删除:del a[0]:注意:多次执行会改变内容;del a[3:]:删除3后面的所有;
  • 判断list是否有某元素:8 in a;3 not in a;同样也可以判断字符串;
  • list里面可以镶嵌list:多维数组;
  • 计数:a.count(计数内容);
  • 找某元素得索引:a.index(某元素);
  • 添加:a.append(需添加得元素):一次只能加一个;插入:a.insert(插入位置,插入元素);a.remove(被remove得元素):如果有多个,默认第一个;弹出:a.pop(弹出位置):返回弹出得元素,弹出以后,a里面被弹出得元素已经不存在;
  • 排序:a.sort():输出是排序后得结果,并且a中的元素已经被排序;若不想a发生变化,则b = sorted(a):a顺序未变,b内容被排序了;掉序:a.reverse():a的内容已经被掉序;

5.字典(key-value)

  • 字典用{}定义,字符串用’’,list用[];
  • 赋值:x[‘asd’]=594,key要唯一;a ={‘c’:1,‘b’:5}:字典之中无顺序:故只能用key去索引;
  • 取值:x[‘key’]:通过key找value;x.get(‘key’);x.get(‘key’,‘do not exist’):当查询的key值不存在时,输出后面的信息(无论什么)
  • 改:x[‘asd’]=345
  • 删:del x[‘key’]
  • 查:‘key’ in x
  • key一般为字符串,value可以为任意的类型
  • 弹出,x.pop(‘key’)与list一样
  • 更新:x1,x2为两个字典,x1.update(x2):将x1中没有,x2有的增加;x1有,x2有的更新
  • 打印所有的key:x.keys();打印所有的value:x.values();都打印:x.items()

6.集合(元素具有唯一性,一般用于去重)

  • 赋值:x = {1,23,4,4,4}会自动去掉重复
  • 并:a,b为集合,a.union(b)或者a|b
  • 交:a.intersection(b)或者a & b
  • 差:a.difference(b)或者a-b;b.dirrerence(a)=b-a;
  • 包含:b.issubset(a):b是否包含于a 或者 b<=a(子集),b<a (真子集)
  • 加:a.add(5)
  • 删:a.remove(5)
  • 更新:a.update([5,6,7])
  • 弹出:a.pop():集合无序,故不能加参数

7.赋值机制

  • x=10 y=x :则x、y指向同一个内存空间,查内存空间:id(x),判断内存空间是否相等:x is y
  • x=1000,y=1000:它们的内存空间不一样
  • x=1,y=1:在数值比较小的时候,x与y的内存空间可能一样

8.判断结构

  • 以缩进来控制结构
x = 0
if x<0:
    print('x<0')
elif x>0:
    print('x>0')
else:
    print('x=0')

9.循环结构

  • while
x = 5
while x<7:
    print(x)
    x+=1
x=['a','b',5]
while x:
    y=x.pop();
    print(y)
  • for
x={
   'a','b','c',5}
for y in x:
    print(y)
x='zhou er'
for i in range(len(x)):
    print(x[i])

range 相当于给出索引

x 
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值