字符串

字符串:不可变有序序列,在python可使用 "abc" , """abc""" ,'abc' 的形式表示,属于一种字面常量,python3中字符均属于Unicode编码。

字符串可以被迭代,遍历,切片,索引

字符串一旦定义不可增加、删除、修改自身元素。对字符串的修改操作实质是创建一个新的字符串对象重新赋值

# 迭代遍历

s = " this is a string\n"

for i in s:

print(i)

# 索引,切片

print(s[4], s[2:5],s[2,-3])

字符串遍历生成列表,元组

lis = list(s) # 遍历 s 中的每一个元素生成,组成一个列表返回

tp = tuple(s) # 遍历 s 中的每一个元素生成,组成一个元组返回

列表,元组生成字符串

# 列表,元组,拼接为字符串,使用str.join()方法

lis = ['h','e','l','l','o']

# 遍历lis,将lis中的每一个元素拼接为字符串并返回,

# 注:lis中每一个元素必须是字符串,否则不能拼接,可用str()转换

num_list = [1,2,3,4,5]

# s2 = "".join(num_list) ==> 将会报错,无法拼接数值

s1 = "".join(map(str, num_list)) # 将数值全部转化为字符串拼接

s2 = "".join(lis)

# 也可以指定 " ,"作为连接符号进行拼接

s3 = ","join(lis)

print(s1, s2, s3)

字符串的常用方法

字符串的拼接:

返回的是一个全新的字符串对象,s1,s2本身均未发生改变

s3 = s1 + s2

字符串分割

s = "this is a string\n"

s_1 = s.split() # 以连续空白进行分割,返回lis ==> ['this', 'is', 'a', 'string']

s_2 = s.split(" ") # 以空字符进行分割, \n不是空字符 ==> ['this', 'is', 'a', 'string\n']

s_3 = s.rsplit(" ",maxsplit=2) # 右边开始,最大切割次数为 2次 ==> ['this is', 'a', 'string\n']

# 行切割,splitlines()

s = "firstline \n secondline \r\n thirdline \r"

s_4 = s.splitlines() # ==> ['firstline ', ' secondline ', ' thirdline ']

s_5 = s.splitlines(True) # 保留切割符 ==> ['firstline \n', ' secondline \r\n', ' thirdline \r']

# 只切割一次,无论是否切割,返回 3个元素的元组,pre,seq,tail)==>('this', ' ', 'is a string\n')

s_6 = s.partition(" ")

# 从字符串右边开始进行分割 ==> ('firstline \n secondline \r\n thirdline', ' ', '\r')

s_6 = s.rpartition(" ")

其他方法

s = "HEllo world"

print(s.upper()) # ==> HELLO WORLD 全大写

print(s.capitalize()) # ==> Hello world 首部大写

print(s.title()) # ==> Hello world 驼峰原则

print(s.lower()) # ==> hello world 全小写

print(s.swapcase()) # ==> heLLO WORLD 交换大小写

格式化输出

s = "hello"

print(s.center(20, "#")) # #######hello######## 指定宽度和填充字符,居中

print(s.zfill(20)) # 000000000000000hello 右对齐,0填充

print(s.ljust(20, "#")) # hello############### 指定宽度和填充字符,左对齐

print(s.rjust(20, "#")) # ###############hello 指定宽度和填充字符,右对齐

字符替换

s = "heffo worfd"

print(s.replace("f", "l")) # hello world

print(s.replace("f", "l", 2)) # hello worfd

print(s.replace("ff", "l")) # helo worfd

print(s) # heffo worfd 均返回新的字符串,s 未做任何改变

# 批量替换

in_tab = "abxy"

out_tab = "1234"

str_trantab = str.maketrans(in_tab,out_tab) # 创建一个转化表, abcd --> 1234

s = "abcdefghijklmnopqrstuvwxyz"

s.translate(str_trantab) # s将会根据转换表替换对应的字符 ==> 12cdefghijklmnopqrstuvw34z

strip() 删除两端字符

s = " \t hello world \n "

print(s.strip()) # 'hello world'

print(s.strip("\t")) # ' hello world \n '

print(s.strip("\n")) # ' \t hello world \n '

print(s.strip("")) # '\t hello world \n'

print(s.strip(" h\t")) # 'ello world'

s.lstrip() # 只对字符串左边进行操作

s.rstrip() # 只对字符串右边进行操作

字符串查找

# find("",start ,stop) ,# 指定查找的字符,并可以选自查找范围,start -> stop 索引范围

# 找到匹配字符串返回索引,未找到返回 -1

s = "this is a long long long string"

print(s.find("a")) # 返回索引号 8

print(s.find("long")) # 返回第一索引号 10

print(s.find("long", 11, -1)) # 从索引11开始查找,第一个long索引为 15

print(s.count("long", 15, -1)) #从索引15开始查找,只能找到后面两个long

# 字符串的查找都需要对字符串进行遍历,当字符串较长,将会耗费较大的时间

# endswith, startswith 判断字符串是否使用该字符结尾或者开头

# 例如:检查一个文件是否是Python文件格式

file_name = "hello.py"

file_name.endswith(".py") # 是否是.py结尾

"hello".startswith("he") # 是否 he开头

字符检测方法, 返回 True或者 False

# 字符检测方法, 返回 True或者 False

# endswith, startswith 判断字符串是否使用该字符结尾或者开头

# 例如:检查一个文件是否是Python文件格式

file_name = "hello.py"

file_name.endswith(".py") # 是否是.py结尾

"hello".startswith("he") # 是否 he开头

"hell_fa".isidentifier() # 检查是否符合标识符规则,是不是字母和下划线开头,其他都是字母数字、下划线

"abc".isalpha() # 是否全部为字母

"123".isdigit() # 10进制数字

"123".isdecimal() # (0-9)的数字

"123abc".isalnum() # 是否是字母或者数字

"abc".islower() # 全小写

"ABC".isupper() # 全大写

"\n\t\f\r".isspace() # 只包含空白, \t\n\r\f等均为空白字符

# 以结果全部为 True

字符串格式化输出

1. c语言风格格式化输出

s = "hello world"

print("%s,%r" %(s,s)) # %s 调用字符串对象的 __str__方法输出,%r会调用__repr__ 方法,输出不同

# 输出 hello world, 'hello world'

试例:

s = "hello world"

class String(str):

def __str__(self):

return "__str__:{}".format(super().__repr__())

def __repr__(self):

return "__repr__:{}".format(super().__repr__())

string = String(s)

print("%s, %r" %(string,string))

# %s 输出结果: __str__:'hello world', %r 输出结果: __repr__:'hello world'

# %s 调用了对象的 __str__方法,%r 调用了__repr__ 方法

常用输出形式

"%d" %10 #'10'

"%#d" %10 #' 10'

"%-05d" %10 #'10 '

"%d" %10 #'10'

# 可通过以上方式设置对齐方式和宽度等

"%f" %10 #'10.000000'

"%5.3f" %10 #'10.000'

"%10.2f" %10 #' 10.00'

"%-10.2f" %10 #'10.00 '

进制转化

# 无前缀

"%x"%10 # ==> 'a'

"%o"%10 # ==> '12'

# 带前缀

"%#x"%10 # ==> '0xa'

"%#o"%10 # ==> '0o12'

# 对其方式,宽度,显示精度均可设置

# 科学计数法表示

"%-10.2e" %10 #'1.00e+01 '

# 百分数表示

"%-.2f%%" %10 #'10.00%' 在值后面拼接 %, %% ==> 输出一个%

format 格式化函数

# format 格式化函数

a,b,c = 1,2,"tom"

"{}, {name}, {}".format(a,b,name=c) # 位置参数和关键字参数传入 ==> '1, tom, 2'

# 设置填充字符 "#", 对齐方式,宽度

"{}".format(10) #'10'

"{:#<10}".format(10) #'10########'

"{:0>10}".format(10) #'0000000010'

"{:$^10}".format(10) #'$$$$10$$$$'

#进制转化

"{:x}".format(10) #'a' 16进制

"{:o}".format(10) #'12' 8进制

"{:b}".format(10) #'1010' 2进制

#带进制前缀符输出

"{:#b}".format(10) #'0b1010' 0b表示2进制

"{:#x}".format(10) #'0xa' 0x表示16进制

"{:#o}".format(10) #'0o12' 0o表示8进制

# 百分号表示,科学计数

"{:.2%}".format(0.5) #'50.00%' 计算的结果转化为 % 形式表示

"{:.2e}".format(0.5) #'5.00e-01'

"{:.2E}".format(50) #''5.00E+01'

c语言软件幻化,python字符串处理相关推荐

  1. c语言软件幻化,最终幻想14武具投影怎么玩_最终幻想14武具投影全方位解析

    最终幻想14国服2.2版本即将开放了,最新加入的武具投影系统让玩家眼前一亮,是不是跟魔兽世界一眼的幻化系统,还是独有的武具投影,小编现在带大家来看看! 武具投影(幻化系统)简介: 武具投影是让装备幻化 ...

  2. 关于python语言、下列说法不正确的是-关于 Python字符串,下列说法错误的是_学小易找答案...

    [单选题]以下for语句结构中,( )不能完成1~10的累加功能 [单选题]关于 Python字符串,下列说法错误的是 [单选题]Python语句 print(type(12)的输出结果是 [单选题] ...

  3. python语言能干什么-python语言可以干什么

    Python语言是一种典型的脚本语言,简洁,语法约束少,接近人类语言.有丰富的数据结构,例如列表.字典.集合等.具有可移植性,支持面向过程和面向对象编程,并且开源.以下是小编为你整理的python语言 ...

  4. D04——C语言基础学PYTHON

    C语言基础学习PYTHON--基础学习D04         20180810内容纲要: 1 内置函数 2 装饰器 3 生成器 4 迭代器 5 软件目录结构规范 6 小结 1 内置函数 内置函数方法详 ...

  5. c语言api_用C语言来拓展python的功能

    python是一门功能强大的高级脚本语言,它的强大不仅表现在其自身的功能上,而且还表现在其良好的可扩展性上,正因如此,python已经开始受到越来越多人的青睐,并且被屡屡成功地应用于各类大型软件系统的 ...

  6. python的字符串包括哪些_python公开课|Python字符串包含什么,我们应该怎么用

    [摘要]在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是python,也用在各行各业之中,并被大家所熟知,所以也有越来越多的python学习者关注py ...

  7. Python字符串与编码

    Python字符串与编码 计算机对文本进行编码的方式 ASCII码 由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母.数字和一些符号,这个编码表被称为ASCI ...

  8. python字符串分片_Python第六章字符串ppt

    PPT内容 这是Python第六章字符串ppt,包括了概述,通用序列操作,字符串格式化,字符串方法,正则表达式简介等内容,欢迎点击下载. Python语言编程导论 第六章  字符串 内容提要 概述 通 ...

  9. 软件技术部python培训

    软件技术部python培训 1.变量 1.1变量的定义 1.2查看变量的类型 2.输出 2.1简单的使用输出函数 2.2格式化输出 3.输入 3.1input()函数 3.2转换数据类型 4.运算符 ...

最新文章

  1. CentOS 终端显示中文异常解决办法
  2. View 4桌面虚拟化炙手可热 但未熟透
  3. [大数据行业应用发展前景分析] 阿里潘永花报告:大数据产业将成为新的煤和石油介绍...
  4. RK3308(2) --- 上手教程
  5. 数字电路 模拟电路 先学哪个_国外经典电子资料:电子电路分析与设计
  6. linux web接口返回乱码,【bug】测试环境的API接口,返回内容为乱码
  7. 文章发送到多平台软件:融媒宝
  8. 华创e路航固件_华创e路航地图升级
  9. pert计算公式期望值_PERT网络分析法
  10. 有道词典java下载电脑版下载不了_有道词典电脑版
  11. Jmeter——控制器与取样器
  12. DSP与广告位之间的关系
  13. MPSK 通信系统的 Monte Carlo 仿真
  14. 养乐多深耕三线城市加码长、珠三角;欧康维视在港交所主板挂牌上市 | 美通企业日报...
  15. Numpy库的下载及安装(吐血总结)
  16. 自动控制原理7.5---离散系统的稳定性与稳态误差
  17. 艺赛旗(RPA) 【操作列表】
  18. python实现同时显示两条曲线_python matlibplot绘制多条曲线图
  19. python opencv 调用摄像头失败问题的解决 Windows
  20. 原装应广单片机 MCU芯片PMS152 SOP8封装 单片机开发

热门文章

  1. html设置页面的高度和宽度,web显示页面有图像上设置高度和宽度很重要
  2. Three.js制作360度全景图
  3. vue class绑定方式
  4. vue2.0移除或更改的一些东西
  5. voinc vue实现级联选择
  6. localStorage封装借口store.js的使用
  7. Zabbix监控多个JVM进程
  8. appium和selenium不同与相同之处
  9. 将Array、Dictionary等集合类的序列化和反序列化
  10. 解决ios8下coreData没有NSPersistentContainer的问题