Python零基础学习笔记(十二)—— 字符串及其常用方法

简介: ''' 什么是字符串 字符串就是以单引号或双引号括起来的任意文本 ''' #创建字符串 str1 = "My name is jjking" str2 = "I am a Little White" ''' 字符串运算 ''' #字符串连接 str3 = "My name is " str4 = "jjking.


'''
什么是字符串
字符串就是以单引号或双引号括起来的任意文本
'''
#创建字符串
str1 = "My name is jjking"
str2 = "I am a Little White"

'''
字符串运算
'''
#字符串连接
str3 = "My name is "
str4 = "jjking. "
str5 = str3 + str4
print("str5 = ",str5)

#输入重复字符串
str6 = str5 * 3
print(str6)

#访问字符转中的某一个字符,通过索引下标查找字符,从0开始
str7 = "My name is jjking"
print(str7[0])
print(str7[1])
print(str7[2])
print(str7[3])
#第 0 个为 M, 第1个为 y, 第 2 个是空格没打印出来,以此类推...

#截取字符串中的一部分
str8 = "My name is jjking"
str9 = str8[0:7]    #[包含,不包含]
str10 = str8[:7]    #默认为0开始
str11 = str8[4:]    #默认截取到最后
print(str9)
print(str10)
print(str11)
#成员运算符测试jjking是否在str8 的字符串中
if "jjking" in str8:
    print("jjking 在 str8中出现了")

print("name" in str8)


#输出格式化
num = 1
str12 = "My name is jjking."
f = 1.23
print("num = ", num, "str12 =", str12, "f =", f )
#使用%s %d %f 占位符
print("num = %d, str = %s, f = %f" % (num, str12, f))
#%3.f 表示保留小数点后3位,四舍五入法
print("f = %.3f"% f)

'''
转义字符    \
\n  输出 换行
\\  输出  \
\"  输出  "
\t  制表符
'''
print("num = %d\nstr = %s\nf = %f" % (num, str12, f))
print("num = %d\n\"str = %s\"\nf = %f\\" % (num, str12, f))
print("one\tsecond")
print("\\\t\\")
# r 字符串中有好多字符需要转移时使用,python允许使用 r 表示内部字符串默认不转义
# windows系统下的路径打印常用
print(r"\\\t\\")
print(r"C:\Users\Administrator\PycharmProjects\untitled\day003")

#按照格式输出
print('''---------------
first
second
Third
''')

str12 = "My name is jjking."
#eval(str)
#功能:将字符串str当成有效的表达式来求值并返回计算结果
num1 = eval("123")
print(num1)
print(type(num1))
print(eval("+123"))
print(eval("-123"))
print(eval("12+3"))
print(eval("12-3"))
#len(str)
#功能:返回字符串的长度
print(len("My name is jjking!"))
print(len(str12))
#lower() 转换字符串中的大写字母为小写字母
print(str12.lower())
#upper() 转换字符串中的小写字母为大写字母
print(str12.upper())
#swapcase() 大小写互换
print(str12.swapcase())
#capitalize() 首字母大写
print(str12.capitalize())
#title() 单词的首字母大写
print(str12.title())
#center(width, fillchar) 返回指定宽度的居中的字符串用后面的字符填充
print(str12.center(30,"#"))
#ljust(width[, fillchar]) 返回指定宽度的左对齐的字符串用后面的字符填充
print(str12.ljust(30,"*"))
#rjust(width[, fillchar]) 返回指定宽度的右对齐的字符串用后面的字符填充
print(str12.rjust(30,"*"))
#zfill(width) 返回指定宽度右对齐前面用 0 填充的字符串
print(str12.zfill(30))
#count([str[, start][, end]) 返回字符串中str出现的次数,可以指定一个范围,默认从头到尾
print(str12.count("is"))
#find(str[, start][, end])
# 从左向右检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾得到的是第一次出现的开始下标,没有返回-1
print(str12.find("is"))
#rfind(str[, start][, end])
# 从右向左检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾得到的是第一次出现的开始下标,没有返回-1
print(str12.rfind("is"))
#index(str,start=0, end=len(str)) 和find()一样,但在str不存在的时候会报异常
print(str12.index("is"))
#rindex(str,start=0, end=len(str)) 和rfind()一样,但在str不存在的时候会报异常
print(str12.rindex("is"))
#lstrip() 截掉字符串左侧指定的字符,要从头开始,默认为空格
print(str12.lstrip("My"))
#lstrip() 截掉字符串右侧制定的字符,,要从最后面开始,默认为空格
print(str12.rstrip("jjking."))
#split("", a) 以“ ”中的内容为分隔符截取字符串,a默认为1
print(str12.split(" "))
#splitlines([keepends]) 按照# ('\r', '\r\n', '\n')分隔
stra = ('''
My name is jjking.
I am a boy!
''')
print(stra.splitlines())
#join(seq) 以一个特定的字符串分隔符,将seq中的所有元素组合成一个字符串
strjo =["a", "s", "s"]
str_join = "##".join(strjo)
print(str_join)
#max()  返回字符串中ascii码值最大的
print(max(str12))
#min()  返回字符串中ascii码值最小的
print("$" + min(str12) + "$")
#replace(oldstr, newstr, count) 默认全部替换,如果指定了count数量,那么只替换前count个
str_replace = str12.replace("is", "isn't", 1)
print(str_replace)
#创建一个字符串映射表
str_maketrans = str12.maketrans("is", "nt") # i->n s->t
str13 = "P is is kjs is;"
str_translate = str13.translate(str_maketrans)
print(str_translate)
#startswith(str, start = 0, end = len(str))
#在给定的范围内判断是否以给定的字符串开头的,如果没有给定范围,默认整个字符串
print(str12.startswith("is" ))
#endwith(str, start = 0, end = len(str))
#在给定的范围内判断是否以给定的字符串结尾的,如果没有给定范围,默认整个字符串
print(str12.endswith("is" ))
#编码
#encode(encoding="utf-8", error="strict")
print(str12.encode())
data = str12.encode("utf-8", "ignore")
#解码 注意:要和编码使用的码制一致 python3之后没有decode()了
str_encode = data.decode("utf-8","ignore")
print("###",str_encode, "###")
print(type(str_encode))
#isalpha()
#如果字符串中至少有一个字符且所有字符都是字母返回True,否则返回False
print(str12.isalpha())
#isalnum()
#如果字符串中至少有一个字符且所有字符都是字母或数字返回True,否则返回False
print(str12.isalnum())
#isupper()
#如果字符串中至少有一个英文字符且所有字符都是大写字母或数字或特殊字符返回True,否则返回False
str_upper = "ACSD"
print(str_upper.isupper())
print("ASD1".isupper())
print("ASD1#".isupper())
#islower()
#如果字符串中至少有一个英文字符且所有字符都是小写字母或数字或特殊字符返回True,否则返回False
str_upper = "acs"
print(str_upper.islower())
print("asd1".islower())
print("asd1#".islower())
#istitle()
#如果字符串是标题化的返回True,否则返回False
print("My name".istitle())  #错的
print("My Name".istitle())  #对的
#isdigit()
#如果字符串只包含数字字符返回True,否则返回False
print("123".isdigit())
print("ade".isdigit())  #错的
#isnumeric()
#如果字符串只包含数字返回True,否则返回False
print("123".isnumeric())
print("ade".isnumeric())    #错的
#isdecimal()
#如果字符串只包含十进制字符返回True,否则返回False
print("123".isdecimal())
print("ade".isdecimal())    #错的
#isspace()
#如果字符串中只包含空格则返回True,否则返回False
print(" ".isspace())
print("\t".isspace())
print("\r".isspace())
print("\n".isspace())   #都是对的


执行结果:

C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\python.exe C:/Users/Administrator/PycharmProjects/untitled/day003/String.py
str5 =  My name is jjking. 
My name is jjking. My name is jjking. My name is jjking. 
M
y
 
n
My name
My name
ame is jjking
jjking 在 str8中出现了
True
num =  1 str12 = My name is jjking. f = 1.23
num = 1, str = My name is jjking., f = 1.230000
f = 1.230
num = 1
str = My name is jjking.
f = 1.230000
num = 1
"str = My name is jjking."
f = 1.230000\
one	second
\	\
\\\t\\
C:\Users\Administrator\PycharmProjects\untitled\day003
---------------
first
second
Third

123
<class 'int'>
123
-123
15
9
18
18
my name is jjking.
MY NAME IS JJKING.
mY NAME IS JJKING.
My name is jjking.
My Name Is Jjking.
######My name is jjking.######
My name is jjking.************
************My name is jjking.
000000000000My name is jjking.
1
8
8
8
8
 name is jjking.
My name is 
['My', 'name', 'is', 'jjking.']
['', 'My name is jjking.', 'I am a boy!']
a##s##s
y
$ $
My name isn't jjking.
P nt nt kjt nt;
False
False
b'My name is jjking.'
### My name is jjking. ###
<class 'str'>
False
False
True
True
True
True
True
True
False
True
True
False
True
False
True
False
True
True
True
True

Process finished with exit code 0


相关文章
|
1月前
|
测试技术 API Python
【10月更文挑战第1天】python知识点100篇系列(13)-几种方法让你的电脑一直在工作
【10月更文挑战第1天】 本文介绍了如何通过Python自动操作鼠标或键盘使电脑保持活跃状态,避免自动息屏。提供了三种方法:1) 使用PyAutoGUI,通过安装pip工具并执行`pip install pyautogui`安装,利用`moveRel()`方法定时移动鼠标;2) 使用Pymouse,通过`pip install pyuserinput`安装,采用`move()`方法移动鼠标绝对位置;3) 使用PyKeyboard,同样需安装pyuserinput,模拟键盘操作。文中推荐使用PyAutoGUI,因其功能丰富且文档详尽。
WK
|
26天前
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
70 36
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
11种经典时间序列预测方法:理论、Python实现与应用
本文将总结11种经典的时间序列预测方法,并提供它们在Python中的实现示例。
67 2
11种经典时间序列预测方法:理论、Python实现与应用
|
1月前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
237 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
1月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
140 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
1月前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
153 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
1月前
|
开发者 Python
Python中的魔法方法与运算符重载
在Python的奇妙世界里,魔法方法(Magic Methods)和运算符重载(Operator Overloading)是两个强大的特性,它们允许开发者以更自然、更直观的方式操作对象。本文将深入探讨这些概念,并通过实例展示如何利用它们来增强代码的可读性和表达力。
|
1月前
|
自然语言处理 Java 数据处理
【速收藏】python字符串操作,你会几个?
【速收藏】python字符串操作,你会几个?
57 7
|
1月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
67 1
|
1月前
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
87 1
下一篇
无影云桌面