字符串是任何计算机语言中最常见的数据类型,python中也不例外,因此熟练掌握字符串是学习python的必备技能。

python中字符串三种定义方式

str = 'wang'

str = "wang"

str = """wang"""

字符串所有方法如下:

['capitalize', 'casefold', 'center', 'count', 'encode', 'endswith',

'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum',

'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric',

'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower',

'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust',

'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith',

'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

字符串常见的操作,需要熟练掌握

1、按照索引取值,正向取、反向取

2、切片(切片操作顾头不顾尾,可以按照步长进行切片)

3、长度len (str)

4、成员运算 in  not in

5、移除空白strip

6、切分split

7、循环

1、按照索引取值,正向取、反向取(索引每次只能取一个元素)

str1 = 'wang'

#正向取出索引为1的字符

print(str1[1])

#反向取出索引为-1的字符,即最后一个字符

print(str1[-1])

2、切片(切片操作顾头不顾尾,可以按照步长进行切片)可以取多个元素

str2='wangchengliang'

#正向取切片取出出索引为0到1的字符,[0:2]不含2

print(str2[0:2])

3、长度len (str3)

str3='wang'

#len(str3)获取str3的长度

print(len(str3))

4、成员运算 in  not in

str4 = 'wangw'

#判断'wa','q'是否是str4的成员

print('wa'in str4)

print('q' not in str4)

5、移除空格strip,lstrip去掉左边空格, rstrip去掉右边空格

#将字符串两端空格移除,返回字符串'wang5'

str5=' wang5 '

print(str5.strip())

#将字符串两端'#'移除,返回字符串'wang5'

str5_1='##wang5##'

print(str5_1.strip('#'))

6、切分split

str6="12343242354361254368634"

#以2位切割符,切割字符串str2,并返回一个列表

print(str6.split('2'))

name='root:x:0:0::/root:/bin/bash'

#默认分隔符为空格

print(name.split(':'))

name='C:/a/b/c/d.txt'

#只想拿到顶级目录

print(name.split('/',1))

7、循环

str7='wang'

for i in str7:

print(i)

常见方法

strip lstrip rstrip

lower upper

startswith endswiht

format 三种玩法

split rsplit

replace

isdigit

capitalize

将字符串首字母变成大写

name = 'my \tname is wanganchengliang'

print(name.capitalize())

count

统计字符串中某个字符出现的次数或某个子字符串出现的次数

name = 'my \tname is wanganchengliang'

print(name.count('an'))

center

打印50个字符,不够50个,用-补充,并把字符串放在中间

name = 'my \tname is wanganchengliang'

print(name.center(50,"-"))

encode

把字符串转换成二进制

name = 'my \tname is wanganchengliang'

print(name.encode())

endswith

判断字符串以什么结尾

name = 'my \tname is wanganchengliang'

print(name.endswith("ng"))

str1 = '#swangchengliang'

#判断是否以'#'开头

print(str1.startswith('#'))

expandtabs

将字符串中已有的空格扩大多少倍

name = 'my \tname is wanganchengliang'

print(name.expandtabs(tabsize=20))

find

返回字符串中子符或子字符串的索引位置

name = 'my \tname is wanganchengliang'

print(name.find("name"))

format

格式化字符串输出

name1="my name is {name} and I am {years} old"

print(name1.format(name='wang',years=22))

format_map

字典方式格式化字符串输出

print(name1.format_map({'name':'wang','years':22}))

isalnum

确认字符串中是纯英文字符,真返回True

print("123abc".isalnum())

isalpha

确认字符串中是否包含阿拉伯数字和字符,真返回True

print("abc".isalpha())

isdecimal

是否是十进制

print("123".isdecimal())

isdigit

是否是一个整数

print("123".isdigit())

isidentifier

判断是否是一个合法的变量名

print("a23".isidentifier())

islower

判断字母是否都小写

print("Aa123".islower())

isupper

判断字母是否都大写

print("Aa123".isupper())

isnumeric

判断是否是只有数字

print("123".isnumeric())

isspace

判断是否是空格

print(" 123".isspace())

istitle

判断每个子字符是否是大写

print("My Name Is".istitle())

isprintable

是否可以打印,linux中终端设备文件不可以打印,返回假

print("123".isprintable())

join

字符串拼接join,该方法很重要

#将列表中元素拼接在一起,可以在中间指定特定字符串

print( ','.join(['1','2','3']))

name = ' '

print(name.join(['wang','cheng','liang'])) #可迭代对象必须都是字符串

#将列表中各个元素通过__连接成字符串

name1 = ['wang','cheng','liang']

newname='__'.join(name1)

print(newname)

ljust

打印字符串长度为50 不够再后面以指定字符填充

print("My Name Is".ljust(50,'w'))

rjust

打印字符串长度为50 不够再前面以指定字符填充

print("My Name Is".rjust(50,'w'))

upper

小写变大写

print("abc".upper())

lower

大写变小写

print("ABCD".lower())

lstrip

去掉左边的回车或空格

print(" \nerf".lstrip())

rstrip

去掉右边的回车或空格

print("fgh\n ".rstrip())

strip

去掉左右两边的空格和回车

print(" \ntt\n ".strip())

translate

加密字符串

p = str.maketrans('qwert','12345')

print("wanger".translate(p))

print(p)

replace

字符串中子字符替换

#替换指定的字符或字符串

print("abc".replace('a','1'))

name='wangchengliang'

#替换所有位置ng为'王'

print(name.replace('ng','王'))

#替换第一次出现的'ng'为王

print(name.replace('ng','王',1))

rfind

找到最右边的字符或字符串的下标

print("qweer12".rfind('e'))

split

按照指定的条件分割形成列表

print("qwew qe13".split(' '))

print("qwewqe13".split('e'))

print("1+2+3+4+5+6".split('+'))

splitlines

按照换行符分割成列表

print("1234\nwerew".splitlines())

startswith

判断字符串是否以某个子字符或字符串开头

str1 = '#swangchengliang'

#判断是否以#开头

print(str1.startswith('#'))

swapcase

大写变小写 小写变大写

print("qeeWwW".swapcase())

zfill

输出指定的字符串,不够以0填充

print("weqwe".zfill(10))

补充:

输出自己名字的二进制、十进制、十六进制

说明:

python3.5中,for循环字符串时,循环的每一个元素是字符

utf-8中一个字符等于3个字节

gbk 中一个字符等于3个字节

字符--->字节转换方式(bytes to str  str to bytes)

name="王成亮"

byte_list= bytes(name,encoding='utf-8')

将字符串转换成字节

b1 =bytes(name,encoding='utf-8')

b2 =bytes(name,encoding='gbk')

print(b1)

print(b2)

将字节转换成字符串

b3 = str(b1,encoding='utf-8')

b4 = str(b2,encoding='gbk')

print(b3)

print(b4)

将名字的二进制,十进制,十六进制方式输出

name = "王成亮"

for n in name:

#utf-8中一个汉字3个字节,默认打印每个汉字

print(n)

#将字符转换为byte类型,输出16进制

byte_list_n= bytes(n,encoding='utf-8')

print(byte_list_n)

#循环字符类型输出十进制,使用bin()方法输出二进制

for b in byte_list_n:

print(b,bin(b))

str在python中是什么数据类型_3、python数据类型之字符串(str)相关推荐

  1. python中遍历结构可以是哪些数据类型_全!Python基础之原生数据类型、判断和循环、函数和文件操作合集...

    长文预警! Python基础系列会将基础内容大致分为三到五个板块,每块着重讲一方面,知识不会很难,主要是以小例子的形式解读,如果你已经入门Python,希望可以帮你温习一下:如果你想入门Python, ...

  2. Python中的list/tuple/dict/set数据类型详解

    Python中的list/tuple/dict/set数据类型详解 Python内部内置了一些数据类型与结构,可以方便在编程时候的使用. list List存储一系列的有序集合,并且元素内容可变(可更 ...

  3. python中一共有多少个关键字-Python中所有的关键字

    在python中若想查询python中有哪些关键字可以先导入keyword模块 import keyword #导入关键字模块 print(keyword.kwlist) #查询所有关键字 查询结果: ...

  4. 详解Python中的JSON以及在Python中使用JSON

    首先什么是JSON? JSON(JavaScript Object Notation, JS 对象简谱,即JavaScript对象表示法) 是一种用于表示结构化数据的流行数据格式.      在服务器 ...

  5. float在python_如何在python中读取.float文件? - python

    Improve this question 我正在处理大脑MRI数据,它是.float数据. 您知道如何在python中使用它吗? 与 with open('[43x25520].float') as ...

  6. Python 中的 repr (关键词:Python/repr)

    描述 函数str() 用于将值转化为适于人阅读的形式, repr() 函数将对象转化为供解释器读取的形式. repr()函数得到的字符串通常可以用来重新获得该对象,repr()的输入对python比较 ...

  7. python中一共有多少个关键字-Python中关键字有多少个?

    Python中关键词有多少个?Python中关键词目前有31个,可以利用Python的内置的keyword模块进行输出查看. keyword模块Help on module keyword: NAME ...

  8. python中一共有多少个关键字-Python中有几个关键字

    Python中关键词有多少个?Python中关键词目前有31个,可以利用Python的内置的keyword模块进行输出查看. keyword模块 Help on module keyword: NAM ...

  9. linux 移除python_第16 p,PYthon中的用户交互,Python GUI编程

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第16篇文章,第二阶段的课程:Python基础知识:PYthon中的用户交互.Python GUI编程实现方式介绍. 学习本课程,建 ...

  10. 如何在Python中获取图片分辨率?——Python实现获取图片分辨率的代码及详解。

    如何在Python中获取图片分辨率?--Python实现获取图片分辨率的代码及详解. 在进行图片处理或者图片分析的时候,获取图片的分辨率信息是必不可少的.Python提供了许多库可以方便地获取图片的分 ...

最新文章

  1. python多项式运算_python – 用于计算“多项式系数”的numpy / scipy函数
  2. 工业3D打印:一场仍处在初级阶段的技术革命
  3. vivo U1正式亮相
  4. 别再乱用 Prometheus 联邦了,分享一个 Prometheus 高可用新方案
  5. .NET Core开发实战(第14课:自定义配置数据源:低成本实现定制化配置方案)--学习笔记...
  6. typeof和instanceof
  7. [状压dp] 洛谷 P1879 玉米田
  8. 【辨异】relation, relationship
  9. Hbase面试 描述 Hbase 中 scan 和 get 的功能以及实现的异同.
  10. 灵活地横向扩展:从文件系统到分布式文件系统
  11. leetcode讲解--937. Reorder Log Files
  12. 课改 计算机 论文,计算机论文 计算机应用课改分析
  13. allatori混淆工具_Java 代码混淆工具 Allatori
  14. VS Code 运行时会弹出Unins000.Exe目标目录创建文件错误
  15. python关于二手房的课程论文_python 爬虫基础-二手房信息获取为例
  16. 【python中级】通过ISAPI协议接口获得海康IPC云台的PTZ
  17. 运动目标检测之光流法(1):入门级了解
  18. Python 分位数回归
  19. vue公式编辑器 加强版(简化版)
  20. (实测有用)登录Github显示“您的连接不是专用连接”和”GitHub.com拒绝了我们的连接请求“解决办法!!!

热门文章

  1. oracle获取系统时间上一个月
  2. 某啦外卖H5使用snsapi_userinfo授权不规范,微信默认打开网页快照页模式进行基础浏览
  3. Android 系统应用-文档计划
  4. 全球与中国道路检测系统市场深度研究分析报告
  5. dedecm教程:生成栏目列表页排序多样化pubdate,click等排序格式
  6. 老男孩mysql备份脚本_老男孩-标杆班级-MySQL-lesson07-备份恢复
  7. 关于QQ空间相册功能的构想与简单实现
  8. 关于ViewPager嵌套ViewPager左右滑动冲突解决方法
  9. sci-hub下载不了的文献怎么下载
  10. 新一代大学英语(发展篇综合教程)