《python小白入门系列教程》 专栏 • 第04篇

字符串是 字符的序列 。字符串基本上就是一组单词。我几乎可以保证你在每个Python程序中都要用到字符串,所以请特别留心下面这部分的内容。下面告诉你如何在Python中使用字符串。

1. 字符串定义

**使用单引号 ****'**你可以用单引号指示字符串,就如同'这是一句话'这样。

str = '这是一句话'

print( str )

使用双引号 **"**在双引号中的字符串与单引号中的字符串的使用完全相同,例如"What's your name?"。

str = "What's your name?"

print( str )

使用三引号('''或""") 利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号。

str ='''

这是一个多行文本. 这是第一行.这是第二行.

"你的名字是," 我问到。他会答"我的名字是木木"

'''

print(str)

**转义符 **假设你想要在一个字符串中包含一个单引号('),那么你该怎么指示这个字符串?

例如,这个字符串是What's your name?。

你肯定不会用'What's your name?'来指示它,因为Python会弄不明白这个字符串从何处开始,何处结束。所以,你需要指明单引号而不是字符串的结尾。可以通过 转义符 来完成这个任务。

你用'来指示单引号——注意这个反斜杠。现在你可以把字符串表示为'What's your name?'。

另一个表示这个特别的字符串的方法是"What's your name?",即用双引号

str1 = 'What\'s your name?'

str2 = "What's your name?"

print(str1)

print(str2)

2. 索引(即下标)

s = 'ABCDEFGHIJKLMN'

s1 = s[0]

print('s[0] = ' + s1) #s[0] = A

print('s[3] = '+ s[3]) #s[3] = D

print('倒数第三个数为:' + s[-3]) #倒数第三个数为:L

print('最后一个数为:' + s[-1]) #最后一个数为:N

3. 切片:顾头不顾尾(截取一部分字符串)

s = 'ABCDEFGHIJKLMN'

s2 = s[0:3]

print('s[0:3] = ' + s2)

#s[0:3] = ABC

print('整个字符串如下:' + s[:])

#整个字符串如下:ABCDEFGHIJKLMN

print('整个字符串如下:' + s[0:])

#整个字符串如下:ABCDEFGHIJKLMN

print('前两个字符:' + s[:2])

#前两个字符:AB

4. 跳取 s[首:尾:步长]

s3 = 'ABCDEFGHIJKLMN'

print(s3[0:6:2]) #ACE

print(s3[::2]) #ACEGIKM

print(s3[4:0:-1]) #倒着取:EDCB

print(s3[3::-1]) #DCBA

print(s3[-1::-1]) #NMLKJIHGFEDCBA

5. 字符串的操作

1)首字母大写

s = 'alexWUsir'

s4_1 = s.capitalize() #首字母大写

print(s4_1) #Alexwusir

2)全部大写

s = 'alexWUsir'

s4_2 = s.upper() #全部大写

print(s4_2) #ALEXWUSIR

3)全部小写

s = 'alexWUsir'

s4_3 = s.lower() #全部小写

print(s4_3) #alexwusir

4)大小写互换

s = 'alexWUsir'

s4_4 = s.swapcase() #大小写互换

print(s4_4) #ALEXwuSIR

6. 居中(用空白/其他字符填充)

#center(self, width, fillchar=None)s = 'alexWUsir'

s5_1 = s.center(20,'%') #用%填充

s5_2 = s.center(15,'*') #用*填充

s5_3 = s.center(20) #空白填充

print(s5_1) #%%%%%alexWUsir%%%%%%

print(s5_2)

#***alexWUsir***

print(s5_3) # alexWUsir

7. 每个用特殊字符或数字隔开的单词首字母大写

s = 'xc——gx*zs_shy+hihn9bbklv yiu'

s7 = s.title()

print(s7)

#Xc——Gx*Zs_Shy+Hihn9Bbklv Yiu

应用实例:

print('------------验证码的检验问题(先转化为全部大写,再核对) --------------')

s_str = 'aBcD1s'

you_input = input('请输入验证码,不区分大小写')

while s_str.upper()!= you_input.upper():

print('验证码错误')

you_input = input('请重新输入')

print('输入成功')

运行结果:

8. 查找

#s.find通过元素找索引,找到返回索引,找不到返回-1

#s.index通过元素找索引,找到返回索引,找不到返回error

s = 'alexWUsir'

s8_11 = s.find('W')

s8_12 = s.index('W')

s8_21 = s.find('WU')

s8_22 = s.index('WU')

s8_31 = s.find('A')

s8_32 = s.index('A')

print(s8_11,type(s8_12))

#4

print(s8_21 ,type(s8_22))

#4

print(s8_31 ,type(s8_32))

#报错:ValueError: substring not found----未找到子字符串

应用实例:

print('----------------检验非法(敏感)字符-------------------')

s = 'gcu木木gckhb'

if '木木' in s:

print('您的评论有敏感字符')

9. 删除字符串前后的空格/字符

s = ' alexW%Usir %2% '

s9_1 = s.strip()

#删除字符串前后的空格

print(s9_1)

#alexW%Usir %2%

ss = '% alexW%Usir %2% %'

s9_2 = ss.strip('%')

#删除字符串前后的%

print(s9_2)

# alexW%Usir %2%

应用举例:

username = input('请输入名字:').strip()

if username == '辛辰':

print('你好呀 主人')

运行结果:

10. 计算字符串中某字符/字符串的个数

s = 'alexaa wusirl'

s10 = s.count('a')

print('此字符串中有' + s10 + '个a')

#报错:TypeError: must be str, not int

print('此字符串中有' + str(s10) + '个a')

#此字符串中有3个a

11. 分割:用空格(默认)/固定字符分割字符串(相当于str--->list)

s = 'alex wusir taibai'

s1 = 'ale:x wus:ir :taibai'

s11_1 = s.split()

print(s11_1) #['alex', 'wusir', 'taibai']

s11_2 = s1.split(':')

print(s11_2) #['ale', 'x wus', 'ir ', 'taibai']

12. 三种格式化输出format

s12_1 = '我叫{},今年{}岁,爱好{},再说一下我叫{}'.format('辛辰',23,'学习','辛辰')

print(s12_1)

#我叫辛辰,今年23岁,爱好学习,再说一下我叫辛辰

s12_2 = '我叫{0},今年{1}岁,爱好{2},再说一下我叫{0}'.format('辛辰',23,'学习')

print(s12_2)

我叫辛辰,今年23岁,爱好学习,再说一下我叫辛辰

s12_3 = s1 = '我叫{name},今年{age}岁,爱好{hobby},再说一下我叫{name}'.format(name = '辛辰',age = 23,hobby = '学习')

print(s12_3)

13. replace 字符串的替换

s13_1 = '辛辰,哈喽你好,我是辛辰'

s13_2 = s13_1.replace('辛辰','陈欣')

s13_3 = s13_1.replace('辛辰','陈欣',1)

print(s13_1)

#辛辰,哈喽你好,我是辛辰----原来文本

print(s13_2)

#陈欣,哈喽你好,我是陈欣----全都替换

print(s13_3)

#陈欣,哈喽你好,我是辛辰----只替换第一个

14. is系列

s14 = ''print(s14.isdigit()) #是否由数字组成

print(s14.isalpha()) #是否由字母组成

print(s14.isalnum()) #是否由字母或数字组成

s14_1 = 'zxcs'

s14_2 = '123546'

s14_3 = 'c1d21c4'

print('----------s14_1----------')

print(s14_1.isdigit()) #False

print(s14_1.isalpha()) #True

print(s14_1.isalnum()) #True

print('----------s14_2----------')

print(s14_2.isdigit()) #True

print(s14_2.isalpha()) #False

print(s14_2.isalnum()) #True

print('----------s14_3----------')

print(s14_3.isdigit()) #False

print(s14_3.isalpha()) #False

print(s14_3.isalnum()) #True

判断字符串是否全是空格

s14_4 = ' n '

s14_5 = ''

s14_6 = ' '

print(s14_4.isspace()) #False:有除空格外的其他字符

print(s14_5.isspace()) #False:空

print(s14_6.isspace()) #True:全是空格

15. 有限循环for(while是无限循环)

s = 'xinchen'

for i in s:

print(i)

#举例:

s = 'fhdsklfds'

if 'sk' in s:

print('非法')

print('------------------------')

if 'skk' not in s:

print('合法')

IT入门 感谢关注

python中定义一个空的字符串_04python—15种字符串操作相关推荐

  1. python中定义类的关键字_在Python中,定义一个类使用什么关键字?

    [多选题]技术应用的限制包括 [多选题]关于类和对象,下面说法正确的有? [判断题]温度越高,料液的粘度越小,扩散系数越大,可提高膜通量. [单选题]某企业有10台运货车,已知每台车每运行100小时平 ...

  2. python如何定义一个空变量_如何在python中定义自由变量? - python

    python doc中的本地/全局/自由变量定义: 如果名称绑定在块中,则除非声明为非本地,否则它是该块的局部变量.如果在模块级别绑定了名称,则该名称为全局变量. (模块代码块的变量是局部变量和全局变 ...

  3. python中定义一个学生类_python3 class类 练习题

    """ 一.定义一个学生Student类.有下面的类属性: 1 姓名 name 2 年龄 age 3 成绩 score(语文,数学,英语) [每课成绩的类型为整数] 类方 ...

  4. python调换字符串顺序_04python—15种字符串操作

    <python小白入门系列教程> 专栏 • 第04篇 字符串是 字符的序列 .字符串基本上就是一组单词.我几乎可以保证你在每个Python程序中都要用到字符串,所以请特别留心下面这部分的内 ...

  5. python中定义一个类、实例化时传入的参数如何传递_用实例分析Python中method的参数传递过程...

    什么是method? function就是可以通过名字可以调用的一段代码,我们可以传参数进去,得到返回值.所有的参数都是明确的传递过去的. method是function与对象的结合.我们调用一个方法 ...

  6. python定义一个空数组_在NumPy中如何创建一个空的数组/矩阵?

    如何以我通常使用列表(List)的方式使用Numpy数组或矩阵? 我想创建一个空的数组(或矩阵),然后每次添加一列(或行)到这个数组(或矩阵). 目前能想到的方法是: mat = None for c ...

  7. c++定义一个动态对象数组_如何在Python中自定义一个可被调用的对象实例?

    前言 在关于Python描述符函数的详解三篇中,我们有提到如何基于类创建一个"描述符函数",之所以能够基于类创建这样一个概念,是因为用到了类中的__call__属性,从前述文章中可 ...

  8. 在python中创建一个具有特定大小的空列表

    本文翻译自:Create an empty list in python with certain size I want to create an empty list (or whatever i ...

  9. python如何把数字转化成字符_python 定义一个dictpython如何将数字转化为字符串

    python如何将数字转化为字符串?下面给大家介绍一下基本步骤: 第一步:在菜单栏里输入idle,打开shell; 第二步:新建文件并命名: 相关推荐:<python视频教程> W WW. ...

最新文章

  1. 想学习linux服务器、做运维、部署项目的同学看这,linux部署
  2. 【tensorflow】tf-tf.where(condition, x, y, name)
  3. 第5章 初识JQuery
  4. 关于oracle数据库论文,Oracle数据库研究论文 有关Oracle数据库的论文
  5. oracle11g的tnstimeout,redhat下oracle11g 配置listener.ora
  6. Effective_STL 学习笔记(二)小心对 “容器无关代码” 的幻想
  7. Xbox One:未来的客厅主角
  8. 为什么要进行网络的分层?
  9. Unity实现动态资源加载的5种方式
  10. 推导余弦距离和欧式距离的关系
  11. 双线性插值(超级易懂的)
  12. 利用R语言如何计算出回归分析中的t值和P值
  13. C语言六种方法求素数(质数) 最全 输出2-100以内的所有素数 求1000以内的所有素数
  14. SQL 循环语句 while 介绍 实例
  15. vscode插件remote-ssh安装及ssh错误
  16. 抖音视频社交产品多闪上架各大应用市场
  17. webpack搭建pixi.js开发环境
  18. 音视频入门:H264、H265概念总结
  19. 物联网架构成长之路(35)-利用Netty解析物联网自定义协议
  20. SpringBoot整合华为云OBS

热门文章

  1. 2011年12月份第一周51Aspx源码发布详情
  2. 【转】Visual Studio 2005 上 AJAX(AjaxControlToolkit) 的安装
  3. Python异常:TypeError: a bytes-like object is required, not 'str'
  4. 神经网络训练中的Tricks之高效BP(反向传播算法)
  5. 北林oj-算法设计与分析-Tom palindrome number
  6. 删除数组中的负数,输出结果为正数
  7. shell 清楚空格_Cygwin系列(五):Shell命令行初体验
  8. java虚拟机教程图解_深入拆解JAVA虚拟机学习教程
  9. call() apply() bind()
  10. JavaScript的事件执行机制及异步