【Python编程】字符串String相关知识及基本操作
备注: 本教程主要使用Python3.6在jupyter notebook上编程实现。Python环境配置参考《【Python学习】Windows10开始你的Anaconda安装与Python环境管理》或者《【Python学习】纯终端命令开始你的Anaconda安装与Python环境管理》。
字符串的创建
string1 = "Hello World"
string2 = "a"
print("打印字符串:",string1)
print("打印单字符:",string2)
打印字符串: Hello World
打印单字符: a
访问字符串的值
与Python编程】列表List相关知识及基本操作提到的列表一样。 字符串的索引有两种形式:从前往后以及从后往前:
-
从前往后 string1 = “Hello World” 索引为0,1,2,3,4,5,6,7,8,9,10 -
从后往前 string1 = “Hello World” 索引为-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1
假设string1有n个字符,则对于i(0=<i<n),有string1[i]=string1[-(n-i)]
print("string1[0]: ", string1[0])
print("string1[9]: ", string1[9])
print("string1[-1]: ", string1[-1])
print("string1[-2]: ", string1[-2])
print("string1[-11]: ", string1[-11])
string1[0]: H
string1[9]: l
string1[-1]: d
string1[-2]: l
string1[-11]: H
n = len(string1)
print("i","string1[i]","string1[-(n-i)]")
for i in range(n):
print(i,",",string1[i],",",string1[-(n-i)])
i string1[i] string1[-(n-i)]
0 , H , H
1 , e , e
2 , l , l
3 , l , l
4 , o , o
5 , ,
6 , W , W
7 , o , o
8 , r , r
9 , l , l
10 , d , d
字符串的截取
如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。
print("string1[0:5]: ", string1[0:5])
print("string1[:5]: ", string1[:5])
print("string1[1:5]: ", string1[1:5])
print("string1[5:9]: ", string1[5:9])
print("string1[5:10]: ", string1[5:10])
print("string1[5:]: ", string1[5:])
print("string1[:]: ", string1[:])
print("string1[:-1]: ", string1[:-1])
print("string1[5:-1]: ", string1[5:-1])
print("string1[-2:-1]: ", string1[-2:-1])
string1[0:5]: Hello
string1[:5]: Hello
string1[1:5]: ello
string1[5:9]: Wor
string1[5:10]: Worl
string1[5:]: World
string1[:]: Hello World
string1[:-1]: Hello Worl
string1[5:-1]: Worl
string1[-2:-1]: l
字符串的运算
加号(+ )是字符串连接运算符,星号(* )是重复操作。 in 或者not in 判断字符串是否在另一个字符串当中。
string3 = "Hello "
string4 = "World"
string5 = string3 + string4
print(string5)
Hello World
string6 = "aa"
string7 = 2*string6
print(string7)
aaaa
print("Hello" in string5)
True
Python的转义字符
符号 | 意义 | 符号 | 意义 | 符号 | 意义 |
---|
\ (在行尾时) | 续行符 | \\ | 反斜杠符号 | \' | 单引号 | \" | 双引号 | \a | 响铃 | \b | 退格(Backspace) | \e | 转义 | \000 | 空 | \n | 换行 | \v | 纵向制表符 | \t | 横向制表符 | \r | 回车 | \f | 换页 | \oyy | 八进制数,y 代表 0~7 的字符 | \xyy | 十六进制数,以 \x 开头,yy代表的字符 | \other | 其它的字符以普通格式输出 | | | | |
print("Hello\tworld")
Hello world
print("\'Hello world\'")
'Hello world'
print("Hello \
world")
Hello world
print("\110\145\154\154\157\40\127\157\162\154\144\41")
print("\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21")
Hello World!
Hello World!
原始字符串
所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
print(r'Hello world\n')
Hello world\n
Python字符串格式化
下表给出常用的格式化形式
符号 | 描述 | 符号 | 描述 |
---|
%c | 格式化字符及其ASCII码 | %s | 格式化字符串 | %d | 格式化整数 | %u | 格式化无符号整型 | %o | 格式化无符号八进制数 | %x | 格式化无符号十六进制数 | %X | 格式化无符号十六进制数(大写) | %f | 格式化浮点数字,可指定小数点后的精度 | %e | 用科学计数法格式化浮点数 | %E | 作用同%e ,用科学计数法格式化浮点数 | %g | %f 和%e 的简写 | %G | %F 和%E 的简写 | %p | 用十六进制数格式化变量的地址 | | |
print ("我叫 %s 今年 %d 岁!" % ('马爸爸', 50))
我叫 马爸爸 今年 50 岁!
x=input("请输入数字:")
print("你输入的数字是:%d" %(int(x)))
请输入数字:100
你输入的数字是:100
import datetime
string8 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(string8)
2022-01-02 21:36:22
Python的字符串内建函数
string9 = "hello world!"
print ("string9: ", string9)
print ("string9.capitalize(): ", string9.capitalize())
string9: hello world!
string9.capitalize(): Hello world!
print ("string9.center(40, '*') : ", string9.center(40, '*'))
string9.center(40, '*') : **************hello world!**************
print(string9.find("world"))
6
string10 = "South China University of Technology"
print(string10.lower())
print(string10.upper())
south china university of technology
SOUTH CHINA UNIVERSITY OF TECHNOLOGY
print("string10.count('o') : ", string10.count('o'))
string10.count('o') : 4
string11 = " South China University of Technology "
print(string11.lstrip())
string12 = "#2021年度报告"
print(string12.lstrip('#'))
print(string11.lstrip().rstrip())
print(string11.strip())
South China University of Technology
2021年度报告
South China University of Technology
South China University of Technology
string13 = "Welcome to China!"
print(string13.split())
url = "https://www.runoob.com/python/python-func-input.html"
path =url.split("/")
print(path)
['Welcome', 'to', 'China!']
['https:', '', 'www.runoob.com', 'python', 'python-func-input.html']
|