字符串:有序的字符的集合,用于存储和表示基本的文本信息,一对单、双、或三引号中间包含的内容称之为字符串

1.特性:有序,不可变(开辟新地址存储字符串,python解释器会定期清空不用了的已存储的)

>>> a = 'alex'
>>> id(a)
1806635111064
>>> a = 'Jack'
>>> a
'Jack'
>>> id(a)
1806635111232

 2.操作  常用:isdigit  replace  find  count  strip  center  split  format  join 

不常用:(数据)swapcase capitalize casefold center expandtabs ljust rjust zfill marketrans translate partition replace rstrip lstrip rsplit splitliness

              (判断)endswith isalnum isdecimal isnumeric isidentifier islower isupper isprintable isspace istitle

(1)得出数据的操作:

 >>> s = 'Hello World!'
>>> s.swapcase() #大小写反过来
'hELLO wORLD!'
>>> s = 'Hello World!'
>>> s.capitalize() #第一个字母大写,其余全部小写
'Hello world!'
>>> s.casefold() #变成统一的小写字母
'hello world!'
>>> s.center(50,'-') #把s放到中间,两边用'-'填充,总长度为50
'-------------------Hello World!-------------------'
>>> s.count('o') #统计字符'o'的数量
2
>>> s.count('o',0,5) #统计从0到5字符'o'的数量,顾头不顾尾
1
>>> s2 = 'a\tb' #\b是Tab键
>>> s2
'a\tb'
>>> print(s2)
a b
>>> s2.expandtabs()
'a b'
>>> s2.expandtabs(20) #将Tab键的长度扩展到20
'a b'
>>> s.find('o') #查找字符o 找到返回索引值,找不到返回负数
4
>>> s.find('op')
-1
>>> s.find('o',0,3) #从0到3查找字符o,找到返回从左边找到的第一个索引值,找不到返回-1,rfind -> 从右边开始数
-1
>>> s.find('o',0,5) #顾头不顾尾
4
>>> s3 = 'my name is {0}, i am {1} years old.'
>>> s3
'my name is {0}, i am {1} years old.'
>>> s3.format('Alex','') #格式化,用括号里的依次代替{0}{1},有点像列表
'my name is Alex, i am 22 years old.'
>>> s3 = 'my name is {0}, his name is {0}.'
>>> s3.format('Alex') #括号里的第一个就是{0},两个{0}一样
'my name is Alex, his name is Alex.'
>>> s3.format('Alex','Jane')
'my name is Alex, his name is Alex.'
>>> s3 = 'my name is {name}, i am {age} years old.'
>>> s3.format(name = 'Alex',age = '') #根据定义命名来赋值,直接写是不行的
'my name is Alex, i am 22 years old.'
>>> s.index('o') #返回第一个o的索引值,rindex -> 从右边开始数,其余一致
4
>>> s.index('o',5,6) #从5到6返回从左边数第一个o的索引值,没有就报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
>>> names = ['alex','jack','rain']
>>> '-'.join(names) #以 - 来将names里的元素拼接起来,并且进行区分
'alex-jack-rain'
>>> ''.join(names)
'alexjackrain'
>>> ','.join(names)
'alex,jack,rain'
>>> s = 'Hello World'
>>> s.ljust(50) #把字符串的长度变成50,长度不够,就在字符串窜后面用空格来填
'Hello World '
>>> s.ljust(50,'-') #把字符串的长度变成50,长度不够,就在字符串后面用 - 来填,rjust与ljust相反,rjust在左边填 -
'Hello World---------------------------------------'
>>> s.zfill(40) #把s长度变成40,不够的在前面用0y填,一般是底层二进制用到
'00000000000000000000000000000hello world'
>>> s = '\n hello world '
>>> s
'\n hello world '
>>> s.strip() #去掉前后的空格 lstrip ->只去掉左边的空格 rstrip ->只去掉右边的空格
'hello world'
>>> str_in = 'abcdef'
>>> str_out = '!@#$%^' # str_in和str_out的字符数量必须一致,如此才能一一对应
>>> str.maketrans(str_in,str_out) #maketrans生成密码对应表,表中为ASCII码
{97: 33, 98: 64, 99: 35, 100: 36, 101: 37, 102: 94}
>>> table = str.maketrans(str_in,str_out)
>>> table
{97: 33, 98: 64, 99: 35, 100: 36, 101: 37, 102: 94}
>>> s = 'hello world'
>>> s.translate(table) #将s按照table进行翻译
'h%llo worl$'
>>> s.partition('o') #将字符串以从左找到的第一个'o'分成两半,rpartition以从右边找到的第一个'o'分成两半
('hell', 'o', ' world')
>>> s.replace('o','-') #把'o'全部换成'-'
'hell- w-rld'
>>> s.replace('o','-',1) #把'o'换成'-',只换一次
'hell- world'
>>> s.split() #以空格将s分开,放入列表
['hello', 'world']
>>> s.split('o') #以'o'将s分开,放入列表,'o'消失
['hell', ' w', 'rld']
>>> s.split('o',1) #以左边第一个'o'将s分开,放入列表,'o'消失,rsplit -> 从右边开始数 , splitlines -> 以行,即'\n'来分
['hell', ' world']

(2)判断 True or False 的操作

 >>> s.endswith('!') #s是否以!结尾,startswith -> 以...开始
True
>>> s.endswith('!sdf') #s是否以!sdf结尾
False
>>> ''.isalnum() #判断是否是数字和字符,不包括特殊符号
True
>>> '22s'.isalnum()
True
>>> '22s!'.isalnum()
False
>>> ''.isdecimal() #判断是否是整数,用法和isdigit、isnumeric
True
>>> '33s'.isdecimal()
False
>>> '33.3'.isdecimal()
False
>>> ''.isidentifier() #是否是合法的变量名,合法变量名条件:以下划线、字母、数字组成,开头不能是数字,不能纯用数字组合
False
>>> '3asd'.islower() #字母是否都是小写字母
True
>>> '2asd56ER'.islower()
False
>>> ''.isprintable() #能否被打印,只有文本文件,字节格式的能被打印,纯二进制文件之类的不能被打印(Linux中涉及)
True
>>> ' '.isspace() #是否是空格
True
>>> '3de '.isspace()
False
>>> 'Hello World'.istitle() #单词的第一个字符是否都是大写,就像新闻标题一样
True
>>> '45ASD'.isupper() #字母是否都是大写
True
>>> '45sA'.isupper()
False

Python全栈之路---数据类型—字符串的更多相关文章

  1. Python全栈之路----数据类型—列表

    1.列表是一个数据的集合,集合内可以放任何数据类型,可对集合进行方便的增删改查操作.列表里面的数可以重复. L1 = [ ] #定义空列表 L2 = [ 'a' , 'b' , 'c' , 'd' ] ...

  2. Python全栈之路----数据类型—字典

    字典:可变,一种key-value的数据类型 info = { 'stu1101' : 'TengLan Wu' , 'stu1102' : 'LongZe Luola' , 'stu1103' : ...

  3. Python全栈之路----数据类型—元组类型

    元组类型:有序,不可变的,又叫只读列表  names = ("alex","jack","eric") 1.元组本身不可变,但如果元组中有可 ...

  4. Python全栈之路----目录

    Module1 Python基本语法 Python全栈之路----编程基本情况介绍 Python全栈之路----常用数据类型--集合 Module2 数据类型.字符编码.文件操作 Python全栈之路 ...

  5. python 全栈之路

    目录 Python 全栈之路 一. Python 1. Python基础知识部分 2. Python -函数 3. Python - 模块 4. Python - 面对对象 5. Python - 文 ...

  6. Python全栈之路目录结构

    基础 1.Python全栈之路-----基础篇 2.Python全栈之路---运算符与基本的数据结构 3.Python全栈之路3--set集合--三元运算--深浅拷贝--初识函数 4.Python全栈 ...

  7. Python全栈之路----常用模块----hashlib加密模块

    加密算法介绍 HASH       Python全栈之路----hash函数 Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列 ...

  8. Python全栈之路4--内置函数--文件操作

    上节重点回顾: 判断对象是否属于某个类,例如: 列表中有个数字,但是循环列表判断长度,用len会报错;因为int不支持len,所以要先判断属于某个类,然后再进行if判断. # isinstance(对 ...

  9. Python全栈之路----函数----返回值

    函数外部的代码想要获取函数的执行结果,就可以在函数里用return语句,把结果返回. def stu_register(name,age,course='PY',country='CN'): prin ...

随机推荐

  1. dataguard从库删除归档的例子

    deletearchlog.sh #!/bin/sh export PATH TABLE='v$archived_log' sqlplus -silent "/ as sysdba" ...

  2. Spring 学习——Spring AOP——AOP概念篇

    AOP AOP的定义:AOP,Aspect Oriented Programming的缩写,意为面向切面编程,是通过预编译或运行期动态代理实现程序功能处理的统一维护的一种技术 实现方式 预编译 Asp ...

  3. Bootstrap3基础 table-striped 表格实现隔行换色(浅灰色与白色交替)

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  4. IdentityServer4 错误解决方案

    错误 解决方案 Grant types list cannot contain both xx and xx 以下授权类型不能同时存在: Implicit AuthorizationCode Impl ...

  5. LINQ之路14:LINQ Operators之排序和分组(Ordering and Grouping)

    本篇继续LINQ Operators的介绍,这里要讨论的是LINQ中的排序和分组功能.LINQ的排序操作符有:OrderBy, OrderByDescending, ThenBy, 和ThenByDe ...

  6. SOAPdenovo组装软件使用记录

    背景: 1.为什么要从头测序组装基因组? 基因组是不同表型的遗传基础:获得参考基因组是深入研究一个生物体全基因组的第一步也是必须的一步:从头测序组装能够对新的测序物种构建参考基因组: 2.为什么要研究 ...

  7. Vue:(三)路由

    (一)基础介绍 vue-router用来构建SPA <router-link></router-link>或者this.$router.push({path:' '}) < ...

  8. js Infinity 属性

    Infinity 属性用于存放表示正无穷大的数值. 说明 无法使用 for/in 循环来枚举 Infinity 属性,也不能用 delete 运算符来删除它. Infinity 不是常量,可以把它设置 ...

  9. Harbor私有仓库中如何彻底删除镜像释放存储空间?

    简介: Harbor私有仓库运行一段时间后,仓库中存有大量镜像,会占用太多的存储空间.直接通过Harbor界面删除相关镜像,并不会自动删除存储中的文件和镜像.需要停止Harbor服务,执行垃圾回收命令 ...

  10. Python自学:第二章 注释

    #向大家问好 print("Hello Python People") 输出为 Hello Python People