首页 > 编程语言 >【python】字符串(Str)

【python】字符串(Str)

时间:2024-03-26 12:58:37浏览次数:31  
标签:返回 False python str1 print 摆烂 Str 字符串

字符串是python中最常用的数据类型,在整个变成阶段都起到了关键性的作用。

目录

前言

正文

一、字符串的定义

二、字符编码转换

1、编码的历史(了解即可)

2、字符串的编码转换

        1)、encode()

        2)、 decode()

三、转义字符

四、字符串的基本操作

1、访问字符串的值

        1)、索引/下标取值

        2)、切片[开始索引:结束索引:步长]

        3)、for循环遍历字符串

2、成员运算符

        1、in 在...里面

        2、not in

3、原生字符串  r/R

4、格式化字符串

        1)、使用 % 运算符进行格式化

        2)、使用 str.format() 方法进行格式化

        3)、使用 f-strings 进行格式化(Python 3.6+)

5、字符串长度计算 len函数

6、字符串查找方法

        1)、字符串.find()

        2)、字符串.index()

        3)、字符串.count()

7、字符串判断方法

        1. islower()  判断所有字母是否小写

        2. isupper() 判断所有字母是否大写

        3. isdigit() 判断字符串中的所有字符是否为数字

        4. startswith()  判断字符串是否以...什么开头

        5. endswith()判断是不是以...字符结尾

        6. istitle()判断字符串的首字母是否大写

        7. isalnum() 判断字符串中是否不存在符号,没有返回True,有返回False

        8. isalpha()  判断字符串是否为纯字母

        9. isspace()  

8、字符串修改方法

        1)、split() 字符串分割函数

        2)、replace()  字符串替换函数

        3)、strip()  去除字符串首尾指定的字符串

        4)、lower()  转小写

        5)、upper()  转大写

9、字符串的拼接

        1)、使用‘+’拼接

        2)、使用join函数拼接

 五、内置函数一览

总结


前言

        字符串是python中一种数据类型,用于表示文本数据。字符串是由字符组成的序列,可以包含字母、数字、符号和空格等字符。


正文

一、字符串的定义

        在Python中,你可以使用单引号('),双引号("),三引号(“”“/''')来定义字符串

# 使用单引号和双引号创建单行字符串
str1 = 'Hello World'
str2 = "My name is python"
# 使用三引号创建多行字符串
str3 = """Hello world
My name is python
"""

二、字符编码转换

1、编码的历史(了解即可)

        在计算机的发展中一共出现了以下比较常见的编码,它们各有各的优点,不同的编码方式适用于不同的场景和需求。

         根据上面的表格我们可以发现,计算机的编码经历了以下四个阶段:

阶段一:计算机能识别英文字符 ASCLL可以用来表示127个常见英文字符  8bit=1字节

阶段二:计算机只能识别英文不方便其他国家使用   中国---gb2321    韩国---Euc-kr

                也因此当多国语言混合的文本里就容易出现乱码的情况

阶段三:Unicode把所有语言都编码在一起   内存中固定使用Unicode编码

                一般占两个字节,比较偏僻下4下个字节

阶段四:utf-8  字符编码:把二进制数据和语言文字一一对应

2、字符串的编码转换

        1)、encode()

        作用:将str转换bytes字节类型,让计算机理解,这个过程称之为编码

str1 = '写代码也摆烂'
str2 = str1.encode()
print(str1) # 写代码也摆烂
print(str2)  # b'\xe5\x86\x99\xe4\xbb\xa3\xe7\xa0\x81\xe4\xb9\x9f\xe6\x91\x86\xe7\x83\x82'
        2)、 decode()

        作用:将bytes字节转换成str类型,让人类理解,这个过程称之为解码

# 接编码的代码
str1 = '写代码也摆烂'
str2 = str1.encode()
str3 = str2.decode()
print(str3) # 写代码也摆烂

三、转义字符

         在Python字符串中,转义字符用于表示一些特殊字符或执行特定的操作。转义字符以反斜杠\开始,后面跟着一个或多个字符

四、字符串的基本操作

1、访问字符串的值

        1)、索引/下标取值

                语法:字符串[索引]     需要注意的是python支持正向与负向索引

                正向索引  索引从0开始,从第一个元素开始取值,直到n-1 n为字符串长度

str1 = '写代码也摆烂'  # 长度为6
print(str1[0])  # 取第一个元素
print(str1[1])  # 取第二个元素
print(str1[6 - 1])  # 最大索引值
print(str1[6])  # 报错:IndexError: string index out of range  索引超出范围

                负向索引  索引从-1开始,从最后一个元素开始取值,直到第-n个

str1 = '写代码也摆烂'  # 长度为6
print(str1[-1])  # 取倒数第一个元素   烂
print(str1[-2])  # 取倒数第二个元素   代
print(str1[-6])  # 最小索引值  烂
print(str1[-7])  # 报错:IndexError: string index out of range  索引超出范围

注意:索引不能超过最大值(n-1)和最小值(-n)(n为字符串长度) 

        2)、切片[开始索引:结束索引:步长]

                遵循原则:

                1、取头不取尾不包含结束值本身

                2、步长代表切取的间隔,正负号代表切取的方向,正代表从左往右切----->,负代表从右往左<-----,步长默认为1,即正向切取,间隔为1

str1 = '写代码也摆烂'  # 长度为6
print(str1[1:2])  # 切取下标为1:2的元素,但是因为不包括结束值,使用结果为:代
print(str1[-1:-2])  # 因为步长为1,正向切取-1到-2之间没有相交的元素,固结果为空
print(str1[-1:-2:-1])  # 步长为-1反向切取,-1到-2之间有相交元素,结果为烂str1[-1]
print(str1[-2:-1])  # 步长为1,正向切取,但是包前不包后,固结果为摆==str[-1]
# 比较特殊的用法
print(str1[::])  # 开始索引和结束索引默认从最0开始到最后,步长默认1
print(str1[::-1])  # 设置切取的方向从右往左切,开始和结束默认 这样可以达到反转字符串的目的
# 值得注意的是切片可以超过字符串的索引最大值和最小值
print(str1[0:99])  # 从索引0开始输出,直到索引为n-1, 超过部分不会输出

注意: 切片可以超过字符串的索引最大值和最小值

        3)、for循环遍历字符串

                字符串是可迭代对象,所以我们可以通过for循环来输出字符串中的每一个字符

str1 = '写代码也摆烂'
for s in str1:
    print(s)  # 输出字符串中每一个字符

2、成员运算符

        1、in 在...里面

                作用:判断子字符是否存在字符串里,存在返回布尔值True,否则False

str1 = '写代码也摆烂'
print('写' in str1)  # True
print('xie' in str1)  # False
        2、not in

                 作用:判断子字符是否不存在字符串里,不存在返回布尔值True,否则False

str1 = '写代码也摆烂'
print('写' not in str1)  # False
print('xie' not in str1)  # True

3、原生字符串  r/R

        语法:r'' 或 R''

        作用:表示字符串中只存在普通字符,通常用于文件地址时,防止转义

print(r'C:\Users\kk\Desktop\homework\p')  # \开头为转义字符,加上R/r防止转义

4、格式化字符串

        1)、使用 % 运算符进行格式化
name = "Alice"
age = 30
formatted_string = "My name is %s and I am %d years old." % (name, age)
print(formatted_string)
        2)、使用 str.format() 方法进行格式化
name = "Bob"
age = 25
formatted_string = "My name is {} and I am {} years old.".format(name, age)
print(formatted_string)
        3)、使用 f-strings 进行格式化(Python 3.6+)
name = "Charlie"
age = 35
formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string)

5、字符串长度计算 len函数

        用于计算字符串的长度

str1 = '写代码也摆烂'
print(len(str1))  # 返回整型 6

6、字符串查找方法

        1)、字符串.find()

                语法:str.find('需要查找的字符',查找的开始位置)    查找的开始位置默认从头开始,可以省略

                作用:查找某个子字符串是否存在字符串里,存在则返回查找的子字符串下标,否则返回-1

str1 = '写代码也摆烂'
print(str1.find('码'))  # 返回也的下标  2
print(str1.find('花'))  # 没有找到该字符,返回-1
# 指定查找开始位置
print(str1.find('码',3))  # 表示从下标3开始查找,而码的下标为2,会查找不到,返回-1
        2)、字符串.index()

                语法:str.index('需要查找的字符',查找的开始位置)    查找的开始位置默认从头开始,可以省略

                作用:检测某个子字符串是否存在字符串里,存在返回子字符串下标,找不到报错

str1 = '写代码也摆烂'
print(str1.index('码'))  # 2
print(str1.index('码',1))  # 2
print(str1.index('a'))  # ValueError: substring not found
        3)、字符串.count()

                作用:查找某个子字符串在字符串里出现的总次数,没出现返回0

str1 = '写代码也摆烂烂'
print(str1.count('烂'))  # 2
print(str1.count('a'))  # 0次代表没有出现

        总结: find、index在查找到字符时都返回该字符的下标,但是当没有查找到时find返回-1,index直接报错。count返回子字符串在字符串出现的次数,没有则返回0。

7、字符串判断方法
        1. islower()  判断所有字母是否小写

                作用:判断字符串里面的字母是否都是小写,返回True或False

str1 = 'abc写代码也摆烂defg'
print(str1.islower())  # True
print('Abcd'.islower())  # False
print('写代码也摆烂'.islower())  # False
        2. isupper() 判断所有字母是否大写

                作用:判断字符串里的所有字符是否字母都是大写,返回True或False

str1 = 'ABC写代码也摆烂DEF'
print(str1.isupper())  # True
print('ABCd'.isupper())  # False
print('写代码也摆烂'.isupper())  # False
        3. isdigit() 判断字符串中的所有字符是否为数字

                作用:判断字符串的所有字符是否都是数字组成,返回True或False

str1 = '123写代码也摆烂'
print(str1.isdigit())  # False
print('123'.isdigit())  # True
print('写代码也摆烂'.isdigit())  # False
        4. startswith()  判断字符串是否以...什么开头

                作用:判断字符串是否以...开头

str1 = '写代码也摆烂'
print(str1.startswith('写'))  # True
print(str1.startswith('代'))  # False
        5. endswith()判断是不是以...字符结尾

                作用:判断是不是以...字符结尾

str1 = '写代码也摆烂'
print(str1.endswith('烂'))  # True
print(str1.endswith('摆'))  # False
        6. istitle()判断字符串的首字母是否大写

                作用:判断字符串的首字母是否大写

str1 = 'A写代码也摆烂'
print(str1.istitle()) # True
print('abcd'.istitle())  # False
        7. isalnum() 判断字符串中是否不存在符号,没有返回True,有返回False

                作用:判断字符串中是否没有其他的特殊符号(包括空格、制表符、以及其他的符号),可以包含字母、数字和中文汉字。如果存在其他的符号返回False,否则返回True

str1 = 'Abac21写代码也摆烂'
print(str1.isalnum())  # True
print('abcd-'.isalnum())  # False
print('abc@'.isalnum())  # False
        8. isalpha()  判断字符串是否为纯字母

                作用:判断字符串的所有字符必须是由纯字母组成的

str1 = 'Abac21写代码也摆烂'
print(str1.isalpha())  # False
print('abcd'.isalpha())  # True
        9. isspace()  

                作用:判断字符串是否为空格

str1 = 'Abac21写代码也摆烂'
print(str1.isspace())  # False
print(' '.isspace())  # True

8、字符串修改方法

        在Python中,字符串是不可变类型的,这意味着一旦创建,就不能直接修改字符串的内容,调用修改的方法,修改后返回了一个新的字符串,不会修改原有字符串。

        1)、split() 字符串分割函数

                参数:split('分隔符') 分隔符:指定分割符号,默认是以空格进行切割

                作用:将字符串按指定分隔符进行切分,返回一个列表。

str1 = '写代,码也,摆烂'
print(str1.split(','))  # 返回 ['写代', '码也', '摆烂']
print(str1)  # 写代,码也,摆烂  原字符串不变
        2)、replace()  字符串替换函数

        参数:replace('被替换子字符','新字符')

        作用:替换,把字符串里某个子字符串替换成新内容。

str1 = '写代,码也,摆烂'
print(str1.replace(',', ''))  # 写代码也摆烂  用空字符替换,
print(str1)  # 写代,码也,摆烂  原字符串不变
        3)、strip()  去除字符串首尾指定的字符串

        参数:strip('需要去除的字符串')  

        作用:移除字符串首尾指定的字符串;当没有参数时,默认为空格和换行符。

str1 = '   写代码也摆烂    '
print(str1.strip())  # 写代码也摆烂  默认去除前后的空格
print('+++abc++++++'.strip('+'))  # abc  去除前后的+
print(str1)  # 写代码也摆烂   原字符串不变

运行结果比较直接: 

 

        4)、lower()  转小写
str1 = 'xiedaima'
print(str1.upper())  # XIEDAIMA
        5)、upper()  转大写
str1 = 'xiedaima'
print(str1.upper())  # XIEDAIMA

9、字符串的拼接

        1)、使用‘+’拼接
str1 = '写代码'
str2 = '也摆烂'
print(str1 + str2)  # 写代码也摆烂
print(str1 + ' ' + str2)  # 写代码 也摆烂
        2)、使用join函数拼接

        语法:str1.join(str2)

        作用:在str2各个字符之间添加字符串str1

str1 = '写代码'
str2 = '也摆烂'
print(' '.join(str1))  # 写 代 码
print(str1.join(str2))  # 也写代码摆写代码烂
word = ['hello', 'world']
print(' '.join(word))  # hello world

 五、内置函数一览

方法

描述

capitalize()

返回原字符串的一个副本,将字符串的第一个字符转换为大写,其余字符转换为小写。

casefold()

返回原字符串的一个副本,将字符串中所有字符转换为小写,并且处理更多的特殊字符,使其更适合进行字符串比较。

center(width)

返回原字符串的一个副本,居中对齐,使用空格填充至指定的宽度。

count(sub[, start[, end]])

返回子字符串在字符串中出现的次数。可选参数 start 和 end 指定搜索范围。

encode(encoding=‘utf-8’, errors=‘strict’)

返回字符串的编码版本。可选参数 encoding 指定编码方式,默认为 ‘utf-8’。

endswith(suffix[, start[, end]])

检查字符串是否以指定后缀结束,返回 True 或 False。可选参数 start 和 end 指定搜索范围。

expandtabs(tabsize=8)

返回字符串的副本,其中的制表符(\t)将被空格替代,每个制表符替代为 tabsize 指定的空格数。

find(sub[, start[, end]])

返回子字符串在字符串中第一次出现的位置,找不到返回 -1。可选参数 start 和 end 指定搜索范围。

format(*args, **kwargs)

格式化字符串,使用传递的参数替换占位符。

format_map(mapping)

格式化字符串,使用映射对象中的键值对替换占位符。

index(sub[, start[, end]])

查找子字符串在字符串中第一次出现的位置,找不到会引发 ValueError。可选参数 start 和 end 指定搜索范围。

isalnum()

如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。

isalpha()

如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

isdigit()

如果字符串只包含数字则返回 True,否则返回 False。

isidentifier()

如果字符串是一个合法的Python标识符则返回 True,否则返回 False。

islower()

如果字符串中至少包含一个区分大小写的字符,并且所有这些(区分大小写)字符都是小写,则返回 True;否则返回 False。

isnumeric()

如果字符串中的所有字符都是数字字符,则返回 True,否则返回 False。

isprintable()

如果字符串中的所有字符都是可打印的,则返回 True,否则返回 False。

isspace()

如果字符串只包含空格则返回 True,否则返回 False。

istitle()

如果字符串是标题化的(每个单词的第一个字母大写),则返回 True,否则返回 False。

isupper()

如果字符串中至少包含一个区分大小写的字符,并且所有这些(区分大小写)字符都是大写,则返回 True;否则返回 False。

join(iterable)

返回一个由可迭代对象中的字符串拼接而成的字符串。

ljust(width)

返回原字符串的一个副本,左对齐,并使用空格填充至指定长度。

lower()

返回字符串的一个副本,将所有大写字母转换为小写。

lstrip([chars])

返回原字符串的一个副本,去除左侧指定字符集合 chars 或空白字符。

partition(sep)

根据分隔符 sep 将字符串分割成三部分,返回一个包含头部、分隔符和尾部的元组。

replace(old, new[, count])

返回原字符串的一个副本,将所有出现的子字符串 old 替换为 new。可选参数 count 指定替换次数。

rfind(sub[, start[, end]])

类似于 find() 方法,但是从右边开始查找。可选参数 start 和 end 指定搜索范围。

rindex(sub[, start[, end]])

类似于 index() 方法,但是从右边开始查找。可选参数 start 和 end 指定搜索范围。

rjust(width)

返回原字符串的一个副本,右对齐,并使用空格填充至指定长度。

rpartition(sep)

根据分隔符 sep 将字符串从右边开始分割成三部分,返回一个包含头部、分隔符和尾部的元组。

rstrip([chars])

返回原字符串的一个副本,去除右侧指定字符集合 chars 或空白字符。

split([sep[, maxsplit]])

返回一个由分隔符 sep 拆分原字符串的列表。可选参数 maxsplit 指定拆分次数。

splitlines([keepends])

返回一个包含字符串中的各行作为元素的列表,可选参数 keepends 指定是否保留换行符。

startswith(prefix[, start[, end]])

检查字符串是否以指定前缀开头,返回 True 或 False。可选参数 start 和 end 指定搜索范围。

strip([chars])

返回原字符串的一个副本,去除两侧指定字符集合 chars 或空白字符。

swapcase()

回原字符串的一个副本,将所有大写字母转换为小写,所有小写字母转换为大写。

title()

返回原字符串的一个副本,将每个单词的首字母大写。

upper()

返回字符串的一个副本,将所有小写字母转换为大写。

zfill(width)

返回原字符串的一个副本,在左侧使用零填充至指定的宽度。


总结

        东西太多了,记不住,所有写下来了。

        欢迎指正!

标签:返回,False,python,str1,print,摆烂,Str,字符串
From: https://blog.csdn.net/w3360701048/article/details/137016491

相关文章

  • python多版本安装和导库
    多python版本的pip安装python的库,以及导出python库列表及版本1、同时安装python2和python3时,要进行pip安装python的库:当需要python2的pip时,输入以下命令:py-2-mpipinstallxxx当需要python3的pip时,输入以下命令:py-3-mpipinstallxxx 2、同时安装python2和pytho......
  • Python调用GPT4,GPT3.5,gpt-4-all(全功能模型)
    使用地址:openai-api调用3.5代码#coding=gbkimportopenaiopenai.api_base='https://api.chuanchuan.cloud/v1'openai.api_key='sk-8fNMAI5HqltUroio74A1D72dB2524487B2D59f675940Bd39'messages=[{"role":"user","......
  • python 实现获取与下载网页中图片的四种方案
    方案一利用urlretrieve()函数链接到图片url直接储存图片urlretrieve是urllib库中的一个函数urllib库是python的内置包,不需要下载安装urllib包含了四个模块分别是:request:基本的http请求模块,用来模拟发送请求。error:异常处理模块,捕获请求中的异常,然后进行重试或其他的操作以......
  • python @property的介绍与使用
    python@property的介绍与使用python的@property是python的一种装饰器,是用来修饰方法的。作用:我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同名称的只读属性,可以与所定义的属性配合使用,这样可以防止属性被修改。举例:修饰方法,是方法可以像属性......
  • Python面试题:神秘公司的挑战(3)!
    题目十一:闭包(Closure)的概念和示例:答案:闭包是指在函数内部定义的函数,并且内部函数可以访问外部函数的局部变量。闭包可以捕获并保持外部函数的状态,使得函数具有记忆功能。以下是一个闭包的简单示例:defouter_function(x):definner_function(y):returnx+y......
  • 不用写一行代码!Python最强自动化神器!
    1、Playwright介绍Playwright是一个由Microsoft开发的开源自动化测试工具,它可以用于测试Web应用程序。Playwright支持多种浏览器,包括Chrome、Firefox和WebKit,同时也支持多种编程语言,如JavaScript、TypeScript、Python和C#。2、特点、使用场景Playwright具有以下特点:支持所有......
  • 肖sir__python之函数5.1
    函数:一、什么是函数定义:函数是组织好,可重复使用,用来实现单一,或关联功能的代码段二、pycharm中的表结构项目,包(init)或目录,py文件,py文件包含多个函数或类等    三、函数的有哪些优点?1、降低代码冗余2、增加代码的复用性,提高开发效率3、提高程序的拓展性4、封装:就是......
  • python入门
    注释#1.单行注释'''2.多行注释这些都是注释'''"""3.多行注释"""变量"""1.单个变量赋值a=102.多个变量赋相同的值a=b=c=103.多个变量赋不同的值a,b,c=10,20,30"""age=30prin......
  • Python day02- 数据类型
    --coding:utf-8--Author:Tinky数据类型"""整数int长整型long浮点型float复数complex"""布尔值"""真,假,0、1"""三元运算a,b,c=1,2,3d=aifa>belsecprint(d)进制'''二进制:0,1十进制:0,......
  • 每天30分钟python(第一天)
    1.input1.规则input输入的是字符串2.print打印规则:整数不能与文字一起打印,但是字符串可以,所以将文字转换为字符串即可print("小明今年"+str(5)+"岁了")代码实践:错误代码:#实现BMI=体重/(身高**2)user_weiight=input("请输入体重")user_height=input("请输入身高......