龙空技术网

Python 3 基础教程 - 字符串

逸剑听潮 259

前言:

目前小伙伴们对“python逆序输出三位数最简单”可能比较注重,我们都需要知道一些“python逆序输出三位数最简单”的相关知识。那么小编也在网上汇集了一些有关“python逆序输出三位数最简单””的相关文章,希望同学们能喜欢,朋友们一起来学习一下吧!

字符串是 Python 中最流行的类型之一。可以简单地通过将字符括在引号中来创建它们。Python 将单引号视为与双引号相同。创建字符串就像为变量赋值一样简单。例如:

var1 = 'Hello World!'var2 = "Python Programming"
访问字符串中的值

Python 不支持字符类型;这些被视为长度为 1 的字符串,因此也被视为子字符串。

要访问子字符串,请使用方括号与索引一起进行切片以获取子字符串。例如:

var1 = 'Hello World!'var2 = "Python Programming"print ("var1[0]: ", var1[0])print ("var2[1:5]: ", var2[1:5])#运行结果var1[0]:  Hvar2[1:5]:  ytho
更新字符串

您可以通过(重新)将变量分配给另一个字符串来“更新”现有字符串。新值可以与其先前的值相关,也可以与完全不同的字符串相关。例如:

var1 = 'Hello World!'print ("Updated String : ", var1[:6] + 'Python')#运行结果Updated String :  Hello Python
转义字符

下表是可以用反斜杠符号表示的转义字符或不可打印字符的列表。

转义字符被解释;在单引号和双引号字符串中。

反斜杠符号

十六进制字符

描述

\A

0x07

响铃或警报

\b

0x08

退格键

\F

0x0c

换页

\n

0x0a

换行

\nnn

八进制表示法,其中 n 在 0.7 范围内

\r

0x0d

回车

\s

0x20

space

\t

0x09

标签

\v

0x0b

垂直制表符

\xnn

十六进制表示法,其中 n 在 0.9、af 或 AF 范围内

字符串特殊运算符

假设字符串变量 a = 'Hello' ,变量 b = 'Python',那么:

拼接(+),拼接两个字符串

print (a + b)  # 结果:HelloPython

重复(*),创建新字符串,连接同一字符串的多个副本

print(a * 3) #结果:HelloHelloHello

成员运算符(in),判断一个字符串是否是另一个字符串的子串,返回值Ture或者False

print('H' in a ) #结果:Trueprint( 'm' in a ) #结果:False

成员运算符(not in),判断一个字符串是否不是另一个字符串的子串,返回值Ture或者False

print( 'H' not in a) #结果:Falseprint( 'm' not in a) #结果:True

字符串索引([]),返回给定索引中的字符。字符串中每个字符都有一个索引值(下标),索引从0(前向)或-1(后向)开始。

print( a[0],a[-1]) #结果:h o

字符串范围索引([ : ]),返回给定范围内的字符。如果不提供start或者finish,则默认start为第一个字符开始,finish为最后一个字符。切片操作也可以接受第三个参数,[start:finish:countBy],其默认值为1。如果countBy可以为负数。如果值为-1的话则为获取字符串的逆序。

print( a[0:2])  #结果:heprint(a[0:4:2]) #结果:hlprint(a[::-1])  #结果: olleh

字符串是不可变的,字符串一旦定义,则不可改变。即采用下标赋值的办法不可以改变字符串。

n = 'hello'n[-1] = 'a'print(n)#运行结果TypeError                                 Traceback (most recent call last)Cell In [28], line 2      1 n = 'hello'----> 2 n[-1] = 'a'      3 print(n)TypeError: 'str' object does not support item assignment

字符串格式化(%)

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

print("我是 %s,我体重是 %d 公斤" % ('李四', 60))    #结果:我是 李四,我体重是 60 公斤

% 可以作为格式符。格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型。python 字符串格式化符号有:

%s:字符串 (采用str()的显示)

%r:字符串 (采用repr()的显示)

%c:单个字符

%b:二进制整数

%d:十进制整数

%i:十进制整数

%o:八进制整数

%x:十六进制整数

%e:指数 (基底写为e)

%E:指数 (基底写为E)

%f:浮点数

%F:浮点数,与上相同

%g:指数(e)或浮点数 (根据显示长度)

%G:指数(E)或浮点数 (根据显示长度)

格式化操作符辅助指令:

* :定义宽度或者小数点精度

- :用做左对齐

+ :在正数前面显示加号( + )

<sp> :在正数前面显示空格

# :在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')

0 :显示的数字前面填充'0'而不是默认的空格

% :'%%'输出一个单一的'%'

(var) :映射变量(字典参数)

m.n. :m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

例如:

print('%+10x' % 10)print('%04d' % 5)print('%6.3f' % 2.3)print('%.*f' % (4, 1.2))#运行结果        +a0005 2.3001.2000

Python 三引号

Python 中三引号可以将复杂的字符串进行赋值。

Python 三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。

str = """我们要学会珍惜。珍惜人生路上的亲情、友情、同事情、同学情、朋友情。一旦擦身而过,也许永不邂逅。"""print (str)# 运行结果我们要学会珍惜。珍惜人生路上的亲情、友情、同事情、同学情、朋友情。一旦擦身而过,也许永不邂逅。

原始字符串根本不将反斜杠视为特殊字符。放入原始字符串中的每个字符都保持原来编写它的方式。

print ('C:\\Data')     #运行结果 C:\Dataprint (r'C:\\nowhere')   #运行结果 C:\\nowhere
字符串内建函数

为了方便开发,python 提供了许多字符串内建函数:

string.capitalize():把字符串的第一个字符大写

string.center(width):返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

string.count(str, beg=0, end=len(string)) :返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数。

str = 'python build-in method'str1 = str.capitalize()print (str1)str2 = str.center(30)print (str2)str3 = str.count('th', 0, len(str)) print (str3)#运行结果Python build-in method              python build-in method              2

string.decode(encoding='UTF-8', errors='strict'):以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 'ignore' 或 者'replace'。

string.encode(encoding='UTF-8', errors='strict'):以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'。

str = "IT行业";str_utf8 = str.encode("UTF-8")str_gbk = str.encode("GBK")print(str)print(str_utf8)print(str_gbk)str_utf8_de = str_utf8.decode("UTF-8")str_gbk_de = str_gbk.decode("GBK")print(str_utf8_de)print(str_gbk_de)#运行结果IT行业b'IT\xe8\xa1\x8c\xe4\xb8\x9a'b'IT\xd0\xd0\xd2\xb5'IT行业IT行业

string.endswith(obj, beg=0, end=len(string)):检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False。

string.find(str, beg=0, end=len(string)):检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1。

str = 'python build-in method'str1 = str.endswith('od',0, len(str))print('str1:',str1)str2 = str.find('in',0, len(str))print('str2:',str2)#运行结果str1: Truestr2: 13

string.format():格式化字符串。

# 通过位置来填充字符串str = 'I like {} programming {}.'print(str.format('python','world') ) #通过key来填充print('I like {str1} programming {str2}.'.format(str1 = 'python',str2 = 'world'))#通过列表填充list=['world','python']print('hello {names[0]}  i am {names[1]}'.format(names=list))print('hello {0[0]}  i am {0[1]}'.format(list)) #通过字典填充dict={'str1':'world','str2':'python'}print('hello {names[str2]} programming {names[str1]}'.format(names=dict))#运行结果I like python programming world.I like python programming world.hello world  i am pythonhello world  i am pythonhello python programming world

string.index(str, beg=0, end=len(string)):跟find()方法一样,只不过如果str不在 string中会报一个异常.

str = 'python build-in method'str1 = str.index('on',0, len(str))print('str1:',str1)str2 = str.index('mn',0, len(str))print('str2:',str2)#运行结果str1: 4---------------------------------------------------------------------------ValueError                                Traceback (most recent call last)Cell In [61], line 4      2 str1 = str.index('on',0, len(str))      3 print('str1:',str1)----> 4 str2 = str.index('mn',0, len(str))      5 print('str2:',str2)ValueError: substring not found

string.isalnum():如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。

string.isalpha():如果 string 至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False。

string.isdecimal():如果 string 只包含十进制数字则返回 True 否则返回 False。

string.isdigit():如果 string 只包含数字则返回 True 否则返回 False。

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

string.isnumeric():如果 string 中只包含数字字符,则返回 True,否则返回 False。

string.isspace():如果 string 中只包含空格,则返回 True,否则返回 False。

string.istitle():如果 string 是标题化的(见 title())则返回 True,否则返回 False。

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

str = 'python'num = '12'print('isalnum:',num.isalnum())print('isalpha:',str.isalpha())print('isdecimal:',num.isdecimal())print('isdigit:',num.isdigit())print('islower:',str.islower())print('isnumeric:',num.isnumeric())print('isspace:',str.isspace())print('istitle:',str.istitle())print('isupper:',str.isupper())#运行结果isalnum: Trueisalpha: Trueisdecimal: Trueisdigit: Trueislower: Trueisnumeric: Trueisspace: Falseistitle: Falseisupper: False

string.join(seq):以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串。seq:要连接的元素序列、字符串、元组、字典。返回一个以分隔符sep连接各个元素后生成的字符串。

str = ":"  list = ['1','2','3','4']str1 = str.join(list)print('str1',str1)rep = ""  list1 = ['p','y','t','h','o','n']  str2 = rep.join(list1)print('str2',str2)#运行结果str1 1:2:3:4str2 python

string.lower():转换 string 中所有大写字符为小写。

str = 'Python Developer'print(str.lower())#运行结果python developer

string.lstrip():截掉 string 左边的空格

str = '          python developer     'print(str.lstrip())str1 = '**********python developer**************'print(str1.lstrip('*'))#运行结果python developer     python developer**************

max(str):返回字符串 str 中最大的字母。

min(str):返回字符串 str 中最小的字母。

str = 'PythonDeveloper'print('max:',max(str))print('min:',min(str))#运行结果max: ymin: D

string.partition(str):有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string。

a = ';left, sep, right = a.partition('://')print(left,'    ', sep,'          ', right )#运行结果http      ://            

string.replace(str1, str2, num=string.count(str1)):把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.

str1 = "Python is simple, Python is great"res = str1.replace("Python", "Java",1)print(res)#运行结果Java is simple, Python is great

string.rfind(str, beg=0,end=len(string) ):类似于 find() 函数,返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。

string.rindex( str, beg=0,end=len(string)):类似于 index(),不过是返回最后一个匹配到的子字符串的索引号。

string.rjust(width):返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

string.rpartition(str):类似于 partition()函数,不过是从右边开始查找

str = 'Python Developer'print('rfind:',str.rfind('th',0,len(str)))print('rindex:',str.rindex('th',0,len(str)))print('rpartition:',str.rpartition('th'))#运行结果rfind: 2rindex: 2rpartition: ('Py', 'th', 'on Developer')

string.rstrip():删除 string 字符串末尾的空格.

string.split(str="", num=string.count(str)):以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+1 个子字符串

str = 'Python Developer'print('split:',str.split('th'))#运行结果split: ['Py', 'on Developer']

string.splitlines([keepends]):按照行('\r', '\r\n', '\n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

string.startswith(obj, beg=0,end=len(string)):检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。.

string.strip([obj]):在 string 上执行 lstrip()和 rstrip()。

string.swapcase():翻转 string 中的大小写。

string.title():返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())。

string.upper():转换 string 中的小写字母为大写。

string.zfill(width):返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0。

str = 'Python Developer'print('swapcase:',str.swapcase())print('title:',str.title())print('upper:',str.upper())print('zfill:',str.zfill(25))#运行结果swapcase: pYTHON dEVELOPERtitle: Python Developerupper: PYTHON DEVELOPERzfill: 000000000Python Developer

标签: #python逆序输出三位数最简单