Python零基础学习笔记(十二)—— 字符串及其常用方法
'''
什么是字符串
字符串就是以单引号或双引号括起来的任意文本
'''
#创建字符串
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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
阿里云centos7 LNMP开发环境搭建
我购买的阿里云是centos7.3的.在Linux下,搭建服务最好当然是LNMP了,毕竟PHP是世界上最好的语言(开玩笑了 0.0)。当然LAMP也很好,我就是Apache从转投Nginx的,就因为Nginx配置简单,资源占用低.当然Apache也有他的优点,孰优孰劣,还是要根据自己的需要取舍吧。言归正传,LNMP是Linux、Nginx、MySQL(Mariadb)、PHP。在centos上,默认的数据不再是MySQL了,成了Mariadb,这是MySQL的社区版,基本上是完全兼容MySQL的,对普通开发者而言,基本感觉得不到差别的。开始搭建环境 安装Nginx 安装Nginx,在Linux上可是使用yum安装Nginx,也可以编译源码安装,鉴于我购买的服务器性能的原因,我还是用yum安装吧. 使用yum search nginx 查看是否Nginx包,阿里云的centos默认是有Nginx包的. 使用yum -y install nginx 使用-y会自动解决依赖问题 等待安装完成,没有报错的话,安装成功了。使用service nginx start开启Nginx服务,使用 sys...
-
下一篇
Python零基础学习笔记(十三)—— if 和 if-else语句
if 语句 格式: if 表达式: 语句 (注意:if 和表达式之间必须有空格,语句之前必须有tab键,也就是4个空格) 逻辑: 当程序执行到if语句时,首先会计算“表达式”的值 如果“表达式”的值为真,那么就执行if下的“语句” 如果“表达式”的值为假,则跳过整个if语句,继续向下执行 if-else 语句 格式: if 表达式: 语句1 else 表达式: 语句2 逻辑:当程序执行到if-else语句时,首先计算“表达式”的值 如果表达式的值为真,则执行语句1,执行完语句1之后,跳出if-else语句 如果表达式的值为假,则执行语句2,执行完语句2之后,跳出if-else语句
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8编译安装MySQL8.0.19
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker使用Oracle官方镜像安装(12C,18C,19C)