Python学习笔记

本文涵盖Python基本语法、字符串与列表操作、数学与数组处理、图像处理及PyCharm使用技巧,深入探讨常用方法如upper(), count(), index(), append(), reverse()及math.radians。并介绍随机数组生成、图像平移、cv2安装与使用,适合Python初学者和进阶者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本语法

字符串操作

upper() 方法

将某个字符串变为大写
place.upper()

count()方法

计算某个字符串、列表里某个特定字符、字符串或数字的数目
place.count('o')

ASCII编码值获取

字符串中的每个字符占据一个字节。如果由字符串创建8bit整数数组,则刚好得到其ASCII编码值。
e.g. s='abcd' np.fromstring(s,dtype=np.int8)

列表操作

index()方法

查找列表中某个元素的下标
num.index(20)

append方法

在列表后添加元素

reverse()方法

将列表顺序倒排

数学公式

角度转弧度: math.radians

数组操作

  • 数组可以使用reshape()方法,创建指定形状的新数组,而原数组的形状保持不变。e.g. d=a.reshape((2,2)) # same as a.reshape(2,2)
    此时d和a共享数据存储空间。其中一个变量的变化会引起另一个变量的变化!!
  • Logspace()与linspace()类似,但logspace()创建的是等比数列,同样可以通过参数endpoint指定是否包含终值。可以通过参数base指定底数,默认为10。e.g. np.logspace(0,2,5) 注意:这里起始值为 1 0 0 10^0 100,终值为 1 0 2 10^2 102
  • 可以先定义一个从下标计算数值的函数,然后用fromfunction()通过此函数创建数组。
  • 切片a[1:-1:2]表示从第二个元素到最后一个元素,每间隔一个元素取值。
    注意:由切片得到的新数组,与原始数据的一块内存共享存储空间。
  • 对于数组计算,np.sin比math.sin快10倍,这得益于np.sin在C语言级别的循环计算。但是由于要同时支持数组和单个值的计算,对单个数值的计算np.sin比math.sin慢很多,因为其内部实现比math.sin复杂很多。
  • 对于类似“x=ab+c”的复杂运算,实际上会产生一个中间变量用来表示ab,因此建议将表达式分解为下面两行语句,以减少一次内存分配:
x = a*b
x +=c
  • 对两个布尔数组使用and等布尔运算时,将跑出ValueError异常。因为布尔数组中有True也有False,所以numpy无法确定用户的运算目的。此时可以使用any()或all()方法。e.g. np.any(a==b) and np.any(a>b)

生成随机数组

random包中的方法生成的随机数都只能生成单个随机数。可以使用numpy.random中的随机数生成方法。

图像处理

图像平移

需要对图像平移来进行图像增强,增加训练样本。我使用的是cv2包中的warpAffine函数。使用方法如下。

def translate_image(img, x, y):
    move = np.float32([[1, 0, x], [0, 1, y]])
    return cv2.warpAffine(img, move, (img.shape[1], img.shape[0]))

其它

无法安装cv2

安装opencv,使用命令“pip install opencv-python”。使用时,使用“import cv2”。类似的还有scikit-learn等。

PyCharm小技巧:断点调试时在控制台中运行命令。

按快捷键“Shift+Alt+F9”进行调试。程序暂停后,打开Console面板,将“Show Python Prompt”图标点亮,就可运行啦。
演示:如何进行断电调试

“python不是内部或外部命令…”的解决方法

如果安装python后,如果在cmd里输入python命令时出现这个错误,一般是因为没有将python目录添加到环境变量中。添加到环境变量后就好了。同理,还有在cmd中输入pip …时报同样的错误,这是因为没有将python目录下的Scripts文件夹加入到环境变量中。

基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明,该项目是个人毕设项目,答辩评审分达到98分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习、进阶。该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。 基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明基于pytorch实现中国交通警察指挥8种手势识别源码+数据集+模型+详细项目说明基于pytorch实现中国交通警察指
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值