Day2

字符串

1.什么是字符串
  • 用引号引起来的一串字符
  • 用引号来创建字符串
    • 单引号
    • 双引号
    • 三单引号
    • 三双引号

单引号和双引号使用是需要注意匹配关系,且不可以换行

如果要换行,三单引号或者三双引号

2.字符串的运算及常见操作
  • 拼接
a = "hello"
b = ", python"
print(a + b)

拼接基于同一种数据类型

  • 重复
sr = "aa"
print(sr*3)  #aaaaaa
  • 索引(偏移) 切片
sr = "python"
print(sr[5])
for i in sr:
    print(i,end = " ")
print()
for j in range(len(sr)):
    print(sr[j], end = " ")
print(sr[::-1])  #反转
  • 大小写转换
sr.lower()       #小写
sr.upper()       #大写
sr.swapcase()    #大小写互换
sr.title()       #转为标题格式
sr.capitalize()  #首字母大写

验证码确认

sr = input("请输入验证码:")
certid = "Python"
if sr.upper() == certid.upper():
    print("True")
else:
    print("False")
  • 字符串的格式输出对齐
sr.center([len],[填充符号])  #居中
sr.ljust([len],[填充符号])   #左对齐
sr.rjust([len],[填充符号])   #右对齐
sr.zfill([len])             #右对齐,默认填充0
sr = "python"
print(sr.center(10,"#"))
  • 删除指定字符
sr.strip()
sr.lstrip()
sr.rstrip()
  • 计数
sr.count()   #计数
  • 字符串搜索定位和替换
sr.find()   #查找元素并返回第一次出现的元素的索引值,找不到返回-1
sr.index()  #查找元素并返回第一次出现的元素的索引值,找不到报错
sr.rindex() #从右往左查找
sr.replace([现有],[替新]) #替换
sr = "Life is short, you need python"
print(sr.find('e',19,25))
print(sr.index('z',19,15))
print(sr.rindex('e'))
print(sr.replace('t','T',1))
  • 字符串条件判断
sr.isalnum()  #判断字符串有字母或者数字组成
sr.isalpha()  #仅有字母
sr.isdigit()  #仅有数字
a = 'abc'
print('a.isalpha()')  #True
  • 制表符的转化
sr.expandtabs()
  • 字符串的分割变换
.join()         #将指定字符插入到元素之间
sr.split()      #将指定字符分割字符串并去除该字符
sr.partition()  #以指定字符分割字符串并保留该字符
sr = "Life is short, you need python"
print('+'.join(sr))      #L+i+f+e+ +i+s+ +s+h+o+r+t+,+ +y+o+u+ +n+e+e+d+ +p+y+t+h+o+n
print(sr.split('o'))     #['Life is sh', 'rt, y', 'u need pyth', 'n']
print(sr.partition('o')) #('Life is sh', 'o', 'rt, you need python')
li = ['I', 'Love', 'Python'] 
print(' '.join(li))     #I Love Python
  • ASCII值和字符的转化
chr()  #digit--->alpha
ord()  #alpha--->digit
for i in  range(ord('a'),ord('z') + 1):
    print(chr(i), end = " ")

  • 扩展

string模块

import string
print(string.ascii_letters)
#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.ascii_lowercase)
#abcdefghijklmnopqrstuvwxyz
print(string.ascii_uppercase)
#ABCDEFGHIJKLMNOPQRSTUVWXYZ
print(dir(string))
['Formatter', 'Template', '_ChainMap', '_TemplateMetaclass', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_re', '_string', 'ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable', 'punctuation', 'whitespace']
for i in range(8):
    print(oct(i), end = ' ')
print()
0o0 0o1 0o2 0o3 0o4 0o5 0o6 0o7

for j in range(16):
    print(hex(j), end = ' ')
print()
0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 

print('%o' % 17)   21  #8进制输出
print('%x' % 17)   11  #16进制输出
【多变量输入超前多步预测】基于CNN-BiLSTM的光伏功率预测研究(Matlab代码实现)内容概要:本文介绍了基于CNN-BiLSTM模型的多变量输入超前多步光伏功率预测方法,并提供了Matlab代码实现。该研究结合卷积神经网络(CNN)强大的特征提取能力与双向长短期记忆网络(BiLSTM)对时间序列前后依赖关系的捕捉能力,构建了一个高效的深度学习预测模型。模型输入包含多个影响光伏发电的气象与环境变量,能够实现对未来多个时间步长的光伏功率进行精确预测,适用于复杂多变的实际应用场景。文中详细阐述了数据预处理、模型结构设计、训练流程及实验验证过程,展示了该方法相较于传统模型在预测精度和稳定性方面的优势。; 适合人群:具备一定机器学习和深度学习基础,熟悉Matlab编程,从事新能源预测、电力系统分析或相关领域研究的研发人员与高校研究生。; 使用场景及目标:①应用于光伏电站功率预测系统,提升电网调度的准确性与稳定性;②为可再生能源并网管理、能量存储规划及电力市场交易提供可靠的数据支持;③作为深度学习在时间序列多步预测中的典型案例,用于科研复现与教学参考。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注数据归一化、CNN特征提取层设计、BiLSTM时序建模及多步预测策略的实现细节,同时可尝试引入更多外部变量或优化网络结构以进一步提升预测性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值