Python学习记录——구 字符串
输入
使用input()来接收
password = input('请输入您的密码:') print(f'您输入的密码是{password}') print(type(password))
请输入您的密码:123
您输入的密码是123
<class 'str'>
input输入的内容会当做字符串处理
输出
有三种方式,在之前的笔记中提过:
print('hello world')
name = 'SFD'
print('我的名字是%s' % name)
print(f '我的名字是{name}')
表达
python中用单双三引号引起字符串,C语言是双引号。三引号中三个为单为双都可。
对于三引号:
s = '''asd''' print(type(s)) print(s)g = """dfg""" print(type(g)) print(g)
<class 'str'>
asd
<class 'str'>
dfg
而如果改变字符串:
s = '''a sd''' print(type(s)) print(s)g = """d fg""" print(type(g)) print(g)
<class 'str'>
a
sd
<class 'str'>
d
fg
这与单双引号不同
s = 'as' \'d' print(type(s)) print(s)g = "df" \"g" print(type(g)) print(g)
<class 'str'>
asd
<class 'str'>
dfg
如果要输出的字符串含有单引号,用双引号括起来还可以正常用,但是用单引号就会出错
c = "asd'asd" print(c) print(type(c))
asd'asd
<class 'str'>
如果要用单引号,则需求转义字符串中的单引号
c = 'asd\'asd' print(c) print(type(c))
这样就能正常打印。
下标
下标就是索引。print(str[0]),与C语言相同,从0开始。下标用来查找具体的数据
切片则是截取一部分。公式为序列[开始位置下标:结束位置下标:步长],从开始到结束下标是左闭右开。步长默认为1,正负都可
不写开始位置,表示从0开始
不写结束位置。表示截取到最后
开始和结束不写,表示截取所有
步数为负,表示倒叙截取,从右向左。为正则是从左向右
下标-1表示倒数第一个数据,然后向前类推
常用操作方法
查找
查找子串在字符串的位置和出现次数。运用三个函数
find()
检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则返回-1。
语法:字符串序列.find(子串,开始位置下标,结束位置下标),两个下标可省略
rfind()功能相同,查找方向从右侧开始。不过下标还是从左开始。比如print(str.rfind('wart', 10, 11))还是-1
str = "sfasda asdwart gjtyj" print(str.find('wart')) print(str.find('wart', 15, 20)) print(str.find('wart', 2, 11)) print(str.find('wart', 2, 14)) print(str.find('wart', 10, 11)) print(str.find('wart', 10, 14)) print(str.find('wart', 11, 14)) print(str.find('qqq'))
10
-1
-1
10
-1
10
-1
-1
index()
检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则报错。
语法同find
rindex()功能相同,查找方向从右侧开始
str = "sfasda asdwart gjtyj" print(str.index('wart')) print(str.index('wart', 15, 20)) print(str.index('wart', 2, 11)) print(str.index('wart', 2, 14)) print(str.index('wart', 10, 11)) print(str.index('wart', 10, 14)) print(str.index('wart', 11, 14)) print(str.index('qqq'))
find显示-1的行,index会直接报错。
count()
返回某个子串在字符串中出现的次数
str = "sfasda asdwart gjtyj" print(str.count('asd', 2, 12)) print(str.count('asd', 4, 12)) print(str.count('asd', 2, 8)) print(str.count('asd', 5, 9))
2
1
1
0
修改
replace()
语法:字符串序列.replace(旧子串,新子串, 替换次数),如果替换次数不写,则全部替换
str = "sfasda asdwart gjtyj" str1 = str.replace('asd', 'lku') print(str) print(str1)
sfasda asdwart gjtyj
sflkua lkuwart gjtyj
调用replace函数后,原有字符串并没有做到修改,修改后的数据是replace函数的返回值,需要另设变量来存储。这样说明str这个字符串是不可变数据类型。数据可分为可变类型和不可变类型。
替换次数即使多了,也没有关系,会替换完所有对象。
split()
按照指定字符分割字符串
语法:字符串序列.split(分割字符, num)。num表示的是分割字符出现的次数,即将来返回数据个数为num+1个
str = "sfasda asdwart gjtyj asdfgbtyh fghasdfhty" list1 = str.split('asd') print(list1) list2 = str.split('asd', 2) print(list2) list3 = str.split('asd', 3) print(list3)
['sf', 'a ', 'wart gjtyj ', 'fgbtyh fgh', 'fhty']
['sf', 'a ', 'wart file:/E:/codes/gjtyj asdfgbtyh fghasdfhty']
['sf', 'a ', 'wart gjtyj ', 'fgbtyh fghasdfhty']
join()
用一个字符或子串合并字符串,即是将多个字符串合并为一个新的字符串
语法:字符或子串.join(多字符串组成的序列)
list = ['sd', 'tf', 'yh'] new_list = '...'.join(list) print(new_list)
sd...tf...yh
capitalize()
将字符串第一个字符转换为大写。
str = "rygfbhgzs" print(str.capitalize())
Rygfbhgzs
title()
将字符串每个首字母都转换成大写
str = "rygfbhgzs thynhu ukoqlkn" print(str.title())
Rygfbhgzs Thynhu Ukoqlkn
lower()
大写转小写
str = "rYgFbHGzs thynhU ukOQLkn" print(str.lower())
rygfbhgzs thynhu ukoqlkn
upper()
小写转大写
str = "rygfbhgzs thynhu ukoqlkn" print(str.upper())
RYGFBHGZS THYNHU UKOQLKN
lstrip()
删除字符串左侧空白字符
rstrip()
删除字符串右侧空白字符
strip()
删除字符串两侧空白字符
str = " rygfbhgzs thynhu ukoqlkn " str1 = str.lstrip() str2 = str.rstrip() str3 = str.strip() print(str1) print(str2) print(str3)
rygfbhgzs thynhu ukoqlkn
rygfbhgzs thynhu ukoqlkn
rygfbhgzs thynhu ukoqlkn
ljust()
返回一个原字符串左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
语法:字符串序列.ljust(长度,填充字符)
rjust()
返回一个原字符串右对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
center()
返回一个原字符串居中对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
str = 'hello'
str
'hello'
str.ljust(10)
'hello '
str.ljust(10, '.')
'hello.....'
str.rjust(10)
' hello'
str.center(10)
' hello '
str.center(11)
' hello '
str.center(10, '.')
'..hello...'
str.center(11, '.')
'...hello...'
判断
返回的结果是布尔型数据类型:True或False
startswitch()
检查字符串是否以指定子串开头,是则返回True,否则返回False。如果设置开始和结束位置下标,则在指定范围内检查
语法:字符串序列.startswitch(子串,开始位置下标,结束位置下标)
str = "fiwegh2sfv asd kjvbdop sfio" print(str.startswith('f')) print(str.startswith('fiw'))
True
True
endswith()
检查字符串是否以指定子串结尾,是则返回True,否则返回False。如果设置开始和结束位置下标,则在指定范围内检查
str = "fiwegh2sfv asd kjvbdop sfio" print(str.endswith('i')) print(str.endswith('fio'))
False
True
isalpha()
如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False
isdigit()
如果字符串只包含数字则返回True,否则返回False
isalnum()
如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False
isspace()
如果字符串中只包含空白,则返回True,否则返回False
str = "fiwegh2sfvasdkjvbdopsfio" print(str.isalpha()) print(str.isdigit()) print(str.isalnum()) str1 = "" print(str1.isspace()) str2 = " " print(str2.isspace())
False
False
True
False
True
字符串相关部分写完。当然只是简单的说明。
Python学习记录——구 字符串相关推荐
- Python学习记录day3
2019独角兽企业重金招聘Python工程师标准>>> Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个 ...
- Python学习记录——英文名修改成标准格式
Python学习记录--英文名修改成标准格式 功能需求 把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.输入:['adam', 'LISA', 'barT'],输出:['Adam', ...
- python学习记录——容器篇
容器 字符串 下标(索引) # 下表也称为是索引,是一个整型数字,可以是正数,也可以是负数 # 正数下标是从0开始的,表示第一个字符,-1表示最后一个字符 my_str = 'hello'h e l ...
- Python学习记录day6-反射、常用模块
Python学习记录day6-反射.常用模块 @(学习)[python] Python学习记录day6-反射常用模块 反射 常用模块 1 sys System-specific parameters ...
- 【Python学习记录】Numpy广播机制(broadcast)
✨ 博客主页:小小马车夫的主页 ✨ 所属专栏:Python学习记录 文章目录 一.什么是Numpy广播机制 二.Numpy广播应用 三.Numpy广播规则 一.什么是Numpy广播机制 在Numpy. ...
- python学习 day7_字符串、列表的相关操作
python学习day7_字符串的相关函数 字符串的相关操作 (1)字符串的拼接 + (2)字符串的重复 * (3)字符串跨行拼接 \ (4)字符串的索引(复习) (5)字符串的切片:(截取) 对字符 ...
- Opencv+Python学习记录9:掩膜(掩码)的使用(内附详细代码)
一,基本概念 OpenCV中的很多函数都会指定一个掩模,也被称为掩码,例如: 计算结果=cv2.add(参数1,参数2,掩模) 当使用掩模参数时,操作只会在掩模值为非空的像素点上执行,并将其他像素点的 ...
- 蜗牛一步一步地往上爬的Python学习记录
Python学习记录 前言 简介 基础知识 类型变量 高级特性 函数式编程 高阶函数 偏函数 装饰器decorator 匿名函数 前言 第一,绝对不断更: 第二,绝对认真写: 第三,绝对撰写的公正漂亮 ...
- Python学习记录:shapefile.Writer报错
Python学习记录 shapefile.Writer报错 w=shapefile.Writer(r.shapeType)使用时报错 Exception: The target filepath 5 ...
最新文章
- 关于从基于Mult-Org的视图中查询数据的问题(转)
- VBS编程基础教程 (第2篇)
- pytorch 转换onnx_新版PyTorch发布!新增TorchScript API,扩展ONNX导出
- java登录界面命令_Java命令行界面(第5部分):JewelCli
- 移动端html5广告的优势,h5手机端开发的优势都有哪些呢
- Assembler--Error: invalid instruction suffix for `push‘
- 机器学习入门之二:一个故事说明什么是机器学习(转载)
- iOS 限制输入框的字符长度
- 【pytorch图像分类】AlexNet网络结构
- 网络----OSI模型
- ER图向关系模型的转换
- 某一个社会舆情事件发展走势和动态要如何分析的方法
- linux上使用FTP下载远程PTF远程文件
- 2021年1月编程语言排行榜(C语言又第一名)
- KD树详解及KD树最近邻算法
- 在线直播: 在 gTech 工作是一番怎样的体验?
- 用灌水法解NOIP2017提高组D2第一题:奶酪
- 曲线绕x轴旋转曲面方程_曲线C绕y轴旋转所成的旋转曲面的方程为.PPT
- English Learning - Day16 作业打卡 2022.12.22 周四
- 关于QQ 360之战冷思考,我只要我想要的产品!