3、python数据类型之字符串(str)
字符串是任何计算机语言中最常见的数据类型,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))
3、python数据类型之字符串(str)的更多相关文章
- python数据类型之字符串(str)和其常用方法
字符串是有序的,不可变的. 下面的例子说明了字符串是不可变的 name = 'alex' name = 'Jack' """ 并没有变,只是给name开启了一块新内存,储 ...
- Python基本数据类型之字符串str
字符串 定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串 字符串的结构类型为'...' "..." "' ...
- Python数据类型之字符串
一:概述 Python中的字符串的一些概念 可以看作是字符的集合,在数据类型里没有单个字符的数据类型,可以用单个字符表示的一个字符串数据类型 字符串是一种不可变的序列类型,单个字符从左到右按照顺序排列 ...
- Python数据类型-02.字符串
本文主要记录字符串的相关知识,包括字符串的定义特点,常用方法和 请知悉: 计算机中,一切皆为对象世界万物,皆为对象,一切对象皆可分类 1.什么是字符串? 类似"hello world&quo ...
- Python数据类型(字符串)
文章内容参考了教程:http://www.runoob.com/python/python-basic-syntax.html#commentform Python 字符串 字符串是 Python 中 ...
- python基础【2】——python数据类型之字符串
python数据类型-字符串 一. 字符串的表示方法(str) 作用: 记录文本信息 表示方法:' ' 单引号 " "双引号 ''' '''三单引号 ""&qu ...
- Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之字符串类型(string)
关于Python的字符串处理也如其他语言一样属于重点中的重点,主要是牵扯到的函数和内容较为多和乱一些.关于什么是字符串,Python中的定义是:以单引号或者双引号括起来的任意文本. 1. 字符串的 ...
- Python数据类型之字符串类型
字符串的表示 字符串是Python中最常用的数据类型之一,必须使用成对的引号包围来表示字符串,引号可以是单引号 ' .双引号 " .三引号''' """,格式如 ...
- python数据类型:序列(字符串,元组,列表,字典)
序列通常有2个特点: 1,可以根据索引取值 2,可以切片操作 字符串,元组,列表,字典,都可以看做是序列类型 我的操作环境:Ubuntu16.04+python2.7 一.字符串类型 >按索引获 ...
随机推荐
- 说几个JS优化技巧吧
JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标 ...
- Python 转义字符中没有这个 「\e」 !
问题来源于技术交流群里: 常见的转义字符 \n.\t 之类的我们都知道什么意思,但是这个 \e 是什么意思呢? 抱着一股钻研的精神,我搜了一把. 结果,所有的页面里都是只有一句简单的 \e 代表转义. ...
- ACM学习历程—UESTC 1215 Secrete Master Plan(矩阵旋转)(2015CCPC A)
题目链接:http://acm.uestc.edu.cn/#/problem/show/1215 题目大意就是问一个2*2的矩阵能否通过旋转得到另一个. 代码: #include <iostre ...
- 白话算法(6) 散列表(Hash Table)从理论到实用(上)
处理实际问题的一般数学方法是,首先提炼出问题的本质元素,然后把它看作一个比现实无限宽广的可能性系统,这个系统中的实质关系可以通过一般化的推理来论证理解,并可归纳成一般公式,而这个一般公式适用于任何特殊 ...
- WPF如何更改系统控件的默认高亮颜色 (Highlight brush)
我们在用WPF时, 经常会对系统控件的默认高亮等等颜色进行更改. 以前通常是用controlTemplate来实现. 今天发现一个更合理或者简单的方法: 用系统默认颜色的key, 比如 SystemC ...
- 彻底删除kafka下面的topic
如果只是用kafka-topics.sh的delete命令删除topic,会有两种情况: 如果当前topic没有使用过即没有传输过信息:可以彻底删除 如果当前topic有使用过即有过传输过信息:并没有 ...
- ssh配置免登 Ubuntu环境
配置之前,可能需要修改下每台机器的hostname,修改方法 1.直接修改hostname文件:sudo vi /etc/hostname 2.重启服务器:shutdown -r now Ubuntu ...
- 【转】深刻理解render 和 redirect_to
由于最近老是在表单提交后出现没有反应的现象,发现是在action中的使用render 和 redirect_to的原因,于是就想搞清楚他两真正的区别在哪里,上一遍的blog也谈到了这二者的区别,但是有 ...
- ES6学习之let和const
1.let 基本用法:let声明的变量,只在let命令所在的代码块内有效 { let a = 1; var b = 2; } console.log(a) //a is not defined con ...
- Qt乱码解决办法(常量中有换行符)
用记事本打开源代码,然后点另存为,utf-8,编码覆盖 QStringLiteral("打开相机")