String的运用和操作方式

字符串

什么是字符串?

字符串是python中最常用的数据类型,我们可以使用引号""来创建字符串,事实上,再python中加了引导的字符都被认为是字符串!

#有四种赋值方式:
name="Changsha"#双引号
age="3000"#只要加双引号就是字符串
age_1=4000#不加,整型
msg=""" I love me """#三双引号
msg_1='''I LOVE YOU TOO'''#三单引号
hometown='Cahngsha'#单引号
print(type(name),type(age),type(age_1),type(msg),type(msg_1),type(hometown))
#结果:<class 'str'> <class 'str'> <class 'int'> <class 'str'> <class 'str'> <class 'str'>

多引号有什么作用呢?作用就是多行字符串必须用多引导。

msg="
轻轻的我走了,
正如我轻轻的来;
我轻轻的招手,
作别西天的云彩。
"
print(msg)

字符串运算及操作

数字可以进行加减乘除运算,字符串呢?只能进行“相加”和“乘除”运算。
(1)拼接(+)

a="Hello"
b="Python"
print(a+b)
#结果:'HelloPython'

注意,字符串的拼接只能是双方都是字符串,不能跟数字或其他类型拼接。

#错误形式:
age=5000
name="ws"
print(age+name)
#Traceback (most recent call last):
#TypeError: unsupported operand type(s) for +: 'int' and 'str'

(2)重复(*)

a="hello"
print(a*5)
#结果:hellohellohellohellohello

(3)字符串索引([]以及切片([::]))

#注意事项:空格也算一个字符
#元素查找:从左往右数从0开始 或者 从右往左数从-1开始
#########0123456789012345678901234567
a="life is short, I use python"
print(len(a))
#索引
print(a[0])
#查找多个元素
print(a[0:4])
#查找间隔元素
print(a[5:13:2])
#从负数开始取值
print(a[::-1])
#切片
print(a[:13])#从索引值为0开始到第十二个元素
print(a[15:])#从索引值15开始到最后的元素
print(dir())#查找当前所有的变量名
#结果:27 
#结果:l  
#结果:life
#结果:i hr
#结果:nohtyp esu I ,trohs si efil
#结果:life is short
#结果:I use python

(4)大小写的转换

  • str.lower():转小写

  • str.upper():转大写

  • str.swapcase():大小写对换

  • str.capitalize():字符串首为大写,其余小写

  • str.title():以分割符法为标记,首字母大写,其余为小写
    例子:

a="life is short, I use python"
#将所有大写字符转换为小写字符
print(a.lower())
#结果:life is short, i use python
#将所有小写字符转换为大写字符
print(a.upper())
#结果:LIFE IS SHORT, I USE PYTHON
#将所有小写字符变成大写,将大写字符变成小写
print(a.swapcase())
#结果:LIFE IS SHORT, i USE PYTHON
#将字符串的第一个字符大写
print(a.capitalize())
#结果:Life is short, i use python
#返回标题化的字符串
print(a.title())
#结果:Life Is Short, I Use Python

应用:

#不区分大小写
 input_str="AbcA"
 aa=input("请输入")
 if aa.lower()==input_str.lower():#都改为小写做为比较
 	print("输入正确")
 else:
 	print("输入错误")

(5)字符串格式输出对齐

  • str.center()

  • str.ljust()

  • str.rjust()

  • str.zfill()

    例子:

a="Life is short,I use python"
print(a.center(35,'*'))#返回一个元字符居中,并使用空格填充长度 width的新字符
#结果:*****Life is short,I use python****
print(a.ljust(35,'*'))#返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
#结果:Life is short,I use python*********
print(a.rjust(35,'*'))#返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
#结果:*********Life is short,I use python
print(a.zfill(35))#返回长度为width 的字符串,原字符串 string 右对齐,前面填充0,只有一个参数
#结果:000000000Life is short,I use python

(6)#删除指定字符串

  • str.lstrip()
  • str.rstrip()
  • str.strip()
a="*****Life is short,I use python****"
print(a.lstrip("*"))
#结果:'Life is short,I use python****'
print(a.rstrip("*"))
#结果:'*****Life is short,I use python'
print(a.strip("*"))
#结果:'Life is short,I use python'

(7)计数

=COUNTIF(B2:B31,">=30")/COUNT(B2:B31)

例子:

a="Life is short,I use python"
print(a.count('i'))# 返回str 在 string 里面出现的次数
#结果:2
print(a.count('i',4,8))# 在索引值为[4,8) 的范围内 str 出现的次数
#结果:1

(8)字符串搜索定位与替换

  • str.find
a="life is short, I use python"
print(a.find('e'))#查找元素并返回第一次出现的元素的索引值
#结果:3
print(a.find('e',18,24))#查找元素在指定索引范围内的索引
#结果:19
print(a.find('w'))#找不到值返回-1
#结果:-1
  • str.index
    • 和find()方法一样,只不过如果str不在string中会报一个异常
a="life is short, I use python"
print(a.index('e'))
#结果:3
print(a.index('e',18))
#结果:19
print(a.index('w'))
#结果:Traceback (most recent call last):
# File "C:\Users\asus\Desktop\pythondemo测试\小巷\one.py", line 121, in <module> #   #print(a.index('w'))
#ValueError: substring not found
  • str.replace
a="life is short, I use python"
print(a.replace('I use','You need'))
#结果:'life is short, You need python'
print(a.replace('t','T'))
#结果:'life is shorT, I use pyThon'
print(a.replace('t','T',1))
#结果:'life is shorT, I use python'

(9)字符串条件判断

  • isalnum(),字符串由字母或数字组成,
  • isalpha(),字符串只由字母组成,
  • isdigit(),字符串只由数字组成
In [1]: a = "abc123"

In [2]: b = "ABC"

In [3]: c = 123

In [4]: a.isalnum()
Out[4]: True

In [5]: a.isalpha()
Out[5]: False

In [6]: a.isdigit()
Out[6]: False

In [7]: b.isalnum()
Out[7]: True

In [8]: b.isalpha()
Out[8]: True

In [9]: b.isdigit()
Out[9]: False>>> str = '01234'
 
>>> str.isalnum()                #是否全是字母和数字,并至少有一个字符
True
>>> str.isdigit()                #是否全是数字,并至少有一个字符
True      
 
>>> str = 'string'
 
>>> str.isalnum()                  #是否全是字母和数字,并至少有一个字符
True
>>> str.isalpha()                  #是否全是字母,并至少有一个字符 
True
>>> str.islower()                  #是否全是小写,当全是小写和数字一起时候,也判断为True
True
 
>>> str = "01234abcd"
 
>>> str.islower()                  #是否全是小写,当全是小写和数字一起时候,也判断为True
True
 
>>> str.isalnum()                  #是否全是字母和数字,并至少有一个字符
True
 
>>> str = ' '
>>> str.isspace()                  #是否全是空白字符,并至少有一个字符
True
>>> str = 'ABC'
 
>>> str.isupper()                  #是否全是大写,当全是大写和数字一起时候,也判断为True
True
>>> str = 'Aaa Bbb'
 
>>> str.istitle()                  #所有单词字首都是大写,标题 
True
 
>>> str = 'string learn'
 
>>> str.startswith('str')                 #判断字符串以'str'开头
True
 
>>> str.endswith('arn')                      #判读字符串以'arn'结尾
True

(10)制表符转化

str.expandtabs()

例子:
a="L\tife is short, I use python"
print(a.expandtabs())#默认将制表符转化为8个空格
#结果:'L       ife is short, I use python'
print(a.expandtabs(4))#加上参数,将制表符转化为对应个数的空格
#结果:'L   ife is short, I use python'

(11)ASCII码和字符的转化

  • chr():用一个范围在range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
  • ord():将一个ASCII字符转换为对应的数字
chr(65)
#结果:'A'
ord('a')
#结果:97
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
应用背景为变电站电力巡检,基于YOLO v4算法模型对常见电力巡检目标进行检测,并充分利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务,并对系统性能做出一定的优化。.zip深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值