字符串是python非常重要的数据类型,它是一个序列(列表和元组也是序列),有下标,可以通过下标遍历字符串序列;同时字符串也是一个不可变数据类型,每次使用"+"拼接字符串时都会产生一个新的字符串付给变量

一.字符串的定义

(1)使用引号包含的都是字符串,单引号,双引号,三引号

name1 = 'hehe'
name2 = "hehe"
name3 = '''hehe'''
print(type(name1))
print(type(name2))
print(type(name3)) 输出结果
<class 'str'>
<class 'str'>
<class 'str'>

(2)input()函数输入的为字符串类型

name = input("pls input your name:")
print(type(name)) 输出i结果如下(输入yangbuhui)
pls input your name:yangbuhui
<class 'str'>

(3)str()转换的为字符串类型

age = 19
print(type(age))
print(type(str(age))) 输出结果如下:
<class 'int'>
<class 'str'>

二.使用下标遍历字符串

0,1,2,3,4即为该字符串的下标,使用str1[0]可以获得a,str1[1]可以获得b,...

for i in "abcde":
print(i, end="") 输出结果如下
abcde # enumerate可以让下标和元素对应
print()
for i, j in enumerate("abcde"):
print(i, j) # 打印:下标i 元素j 输出结果如下
0 a
1 b
2 c
3 d
4 e

三.字符串的切片和倒序

str1 = "abcdefg"
# 切片
print(str1[2:5]) # cde
print(str1[0:2]) # ab
print(str1[0:-1]) # abcdef
print(str1[2:-2]) # cde
print(str1[:]) # abcdefg
print(str1[:3]) # abc
print(str1[3:]) # defg
print(str1[1:5:2]) # bd
print(str1[:3:-1]) # gfe
print(str1[::-2]) # geca print("================")
# 倒序
str2 = ""
print(str2[::-1]) # 输出结果如下
cde
ab
abcdef
cde
abcdefg
abc
defg
bd
gfe
geca
================
987654321

四.字符串的常见操作

# 字符串的常见操作

str1 = "abcdefg"
# 字符串的长度
str1.__len__()
len(str1) # 固定10个字符,不够的补*
str1.center(10, '*') # 一共10个字符,str1居中,不够位补"*"
str1.ljust(10, '*') # 一共10个字符,str1居左,不够位补"*"
str1.rjust(10, '*') # 一共10个字符,str1居右,不够位补"*" # 判断字符串是否以"xxx"结尾或开头,"xxx"表示任务字符串
str1.startswith("abc")
str1.endswith("bbc") # 判断字符'a'在字符串里共出现了多少次
str1.count('a')

其他字符串方法

abc = "abcdefg"

print(abc.capitalize()) # 整个字符串的首字母大写
print(abc.title())   # 每个单词的首字母大写
print(abc.upper())   # 全大写
print(abc.lower())   # 全小写
print("HAHAhehe".swapcase()) # 字符串里大小写互换 print(" haha\n".strip()) # 删除字符串左边和右边的空格或换行 (常用,处理文件的换行符很有用)
print(" haha\n".lstrip()) # 删除字符串左边的空格或换行
print(" haha\n".rstrip()) # 删除字符串右边的空格或换行 print(abc.find("nice")) # 找出nice在字符串的第1个下标,找不到会返回-1
print(abc.rfind("e")) # 找出最后一个e字符在字符串的下标,找不到会返回-1
print(abc.index("nice")) # 与find类似,区别是找不到会有异常(报错)
print(abc.rindex("e")) # 与rfind类似,区别是找不到会有异常(报错)
print(abc.isalnum()) # 判断是否为数字字母混合(可以有大写字母,小写字母,数字任意混合)
print(abc.isalpha()) # 判断是否全为字母(分为纯大写,纯小写,大小写混合三种情况)
print(abc.isdigit()) # 判断是否为纯数字
print(abc.islower()) # 判断是否为纯小写字母
print(abc.isspace()) # 判断是否为全空格
print(abc.upper().isupper()) # 先把abc字符串全转为大写,再判断是否为全大写字母,结果为Tru

五.字符串习题

# 1. 输入一行字符,统计其中有多少个单词,每两个单词之间以空格隔开。
# 如输入: This is a python program. 输出:There are 5 words in the line. string = input("pls input a string:") str_list = string.split(' ')  
print("There are {} words in the line.".format(str_list.__len__()))

python之str字符串的更多相关文章

  1. python 打印 str 字符串的实际内容 repr(str)

    python 打印 str 字符串的实际内容 repr(str) s = 'aa' print(repr(s))

  2. python之str 字符串

    str,字符串,有序的,存储多个字符,不可修改,通过下标值访问快捷方式 1, 定义一个空字符串 2,定义一个非空字符串 3,索引,又名下标值 4,切片与延长 5,转义字符 6, python 属于面向 ...

  3. Python中str字符串的功能介绍

    Str字符串的功能介绍 1. 字符串的操作 字符串的连接操作 符号: + 格式:str1 + str2 例如:str1 = 'I Love' str2 = 'You!' print(str1 + st ...

  4. python的str()字符串类型的方法详解

    字符串一旦创建,不可修改,一旦修改或者拼接,都会造成重新生成字符串,因为内存存数据是一个挨着一个存的,如果增加一个字符串的话,之前的老位置只有一个地方,不够,这是原理性的东西,在其他语言里面也一样 7 ...

  5. python 中str字符串 和list列表基本操作总结

    s = '#afsfdf222#' print(s.capitalize()) # 首字母大写其他字母小写 print(s.center(20, '%')) # 居中并在空白处添加指定字符 print ...

  6. Python数据类型的内置函数之str(字符串)

    Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) str(字符串)的一些操作 - 字符串相连方法 # 字符串的 ...

  7. Python 中的字符串(str)、字典(dict)详解及操作方法

    一.字符串 在python中字符串是一种重要数据类型.其他数据类型分别为: 数字-number -------- int.long.float.complex这几种 字符串-string ------ ...

  8. Python基础类型(二) str 字符串

    字符串str ' ' 字符串+ 都是字符串的时候才能相加 a = 'alex' b = 'wusir' print(a+b) #字符串拼接 字符串* 字符串和数字相乘 a = 6 b = 'alex' ...

  9. Python中关于字符串的问题

    在Python里面,字符串相加经常会出现'ascii' codec can't decode byte 0xe7 in position 0: ordinal not in range(128)这样的 ...

随机推荐

  1. TIME_WAIT 太多的解决办法

    TIME_WAIT 客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口状态为TIME_WAIT.主动关闭的一方在发送最后一个 ack 后 就会进入 TIME_WAIT 状态  ...

  2. linux中epoll模型

    epoll是linux内核为处理大批量文件描述符而作了改进的poll,是linux下IO复用select/poll的增强版本. 一.epoll的主要接口是: 1.创建 (1)int epoll_cre ...

  3. 【原创】大数据基础之Mesos+Marathon+Docker部署nginx

    一 安装 安装docker:https://www.cnblogs.com/barneywill/p/10343091.html安装mesos:https://www.cnblogs.com/barn ...

  4. Linux超级守护进程——xinetd

    Linux超级守护进程--xinetd 一 Linux守护进程 Linux 服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户.提供这些服务 ...

  5. ionic3 验证比特币,以太坊,莱特币和其他流行的加密货币地址

    Install ❯❯❯ npm install cryptaddress-validatorionic3 中的引入 import * as cryptaddress from 'cryptaddres ...

  6. sass创建web项目环境步骤

    1)npm创建web前端项目环境步骤 1.新建文件夹,在该文件下进入cmd控制台2.输入命令 npm init 回车3.name:名字只支持小写,不支持大写,将大写的名字改为小写即可4.version ...

  7. java设计模式自我总结---代理模式

    代理模式是给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用,通俗的来讲代理模式就是我们生活中常见的中介. Spring 的AOP面向切面就是使用动态代理模式来实现的: 打个比方说:我要买房 ...

  8. 课堂小记---JavaScript(1)

    day01 1.数据类型  number string boolean undefined object function 加号具有两种功能,数字相加 和 字符串拼接.加号两边只要碰见字符串,则执行字 ...

  9. Fiddler工具使用介绍

    Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改. 代理就是在 ...

  10. webpack4的总结

    1. https://juejin.im/post/5c1fa158f265da613c09cb36