9.python3字符串

2020-05-26  本文已影响0人  dwy_interesting

简介

  1. 字符串是以单引号或双引号括起来的任意文本
'abc'
"abc"

2.创建字符串

str1 = "learn python3!"

3.输出字符串

print('abc')    #输出结果abc
print(''abc'')  #输出结果abc
print(str1) #输出结果learn python3!

字符串运算

  1. 字符串连接
str1 = "hello "
str2 = "world!"
str3 = str1 + str2
print("str3 =", str3)       #输出结果str3 = hello world!

2.输出重复字符串

str1 = "hi"
str2 = str1 * 3
print("str2 =", str2)       #输出结果str2 = hihihi

3.访问字符串中的某一个字符

#通过索引下标查找字符,索引从0开始
#字符串名[下标]
str1 = "hello!"
print(str1[1])  #输出结果e

4.截取字符串中的一部分
(1)字符串名[开始下标:结束下标],属于闭开区间

str1 = "hello world i am a girl!"
str2 = str1[7:17]
print("str2 =", str2)       #输出结果str2 = orld i am a

(2)从头截取到给定下标之前,不包括结束下标

str3 = str1[0:6]             #还可写成str1[:6]
print("str3 =", str3)       #输出结果str3 = hello w

(3)从给定下标处开始截取到结尾

str4 = str1[18:]          
print("str4 =", str4)       #输出结果str4 = girl!

5.判断给出的字符串是否存在

str1 = "hi girl"
print("hi" in str1)     #输出结果True
print("girls" not in str1)      #输出结果True

6.格式化输出

# %d %s %f 占位符
# %d 打印整数
# %s,表示格式化一个对象为字符
# %f 打印浮点数
num = 10
print("num = %d" % num)           #输出结果num = 10
str1 = "this"
f = 10.1234
#%.2f精确到小数点后3位,会四舍五入
print("num = %d, str1 = %s, f = %.2f" % (num, str1, f))           #输出结果num = 10, str1 = this, f = 10.12

7.字符串比较大小

#从第一个字符开始比较,谁的ASCII码值大,谁就大
#如果第一个字符相等,则比较第二个以此类推
print("bc" > "ad")        #输出结果:True

字符串函数

  1. eval(str)函数
    功能:将字符串str当成有效的表达式来求值并返回计算结果
num1 = eval("12+3")
print("num1的值为:%d" % num1)       #输出结果:num1的值为:15
print(type(num1))       #输出结果:<class 'int'>
print(eval("-123"))       #输出结果:-123
print(eval("12-3"))       #输出结果:9
print(eval("12a3"))       #无法计算,报错

2.len(str)函数
功能:返回字符串的长度(字符个数,不是字节数,一个中文是一个字符)

print(len("你好"))          #输出结果:2

3.str.lower()函数
功能:转换字符串中大写字母为小写字母,原字符串不变

str1 = "Hello World!"
print(str1.lower())     #输出结果:hello world!
print(str1)     #输出结果:Hello World!

4.str.upper()函数
功能:转换字符串中小写字母为大写字母,原字符串不变

str1 = "Hello World!你好,世界"
print(str1.upper())     #输出结果:HELLO WORLD!你好,世界
print(str1)     #输出结果:Hello World!你好,世界!

5.str.swapcase()
功能:转换字符串中小写字母为大写字母,大写变小写,原字符串不变

str1 = "Hello World!你好,世界"
print(str1.swapcase())     #输出结果:hELLO wORLD!你好,世界

6.str.capitalize()
功能:首字母大写,其他小写,原字符串不变

str1 = "hello world!你好,世界"
print(str1.capitalize())     #输出结果:Hello world!你好,世界

7.str.title()
功能:每个单词的首字母大写,其他小写,原字符串不变

str1 = "hello world!"
print(str1.title())     #输出结果:Hello World!

8.str.center(width[,fillchar])
功能:返回一个指定宽度的居中字符串,fillchar为填充的字符串,默认是空格填充

str1 = "hello world!"
print(str1.center(20,"@"))     #输出结果:@@@@hello world!@@@@

9.str.ljust(width[,fillchar])
功能:返回一个指定宽度的左对齐字符串,fillchar为填充的字符串,默认是空格填充

str1 = "hello world!"
print(str1.ljust(20,"@"))     #输出结果:hello world!@@@@@@@@

10.str.rjust(width[,fillchar])
功能:返回一个指定宽度的右对齐字符串,fillchar为填充的字符串,默认是空格填充

str1 = "hello world!"
print(str1.rjust(20,"@"))     #输出结果:@@@@@@@@hello world!

11.str.zfill(width)
功能:返回一个指定宽度的字符串,左侧用0填充

str1 = "hello world!"
print(str1.zfill(20))     #输出结果:00000000hello world!

12.str.count(s[,start][,end])
功能:返回str字符串中s字符串出现的次数,可以指定一个范围,不指定范围默认从头到尾

str1 = "hello hi hi hi world!"
print(str1.count("hi"))     #输出结果:3
print(str1.count("hi",14,len(str1)))     #输出结果:0

13.str.find(s[,start][,end])
功能:从左向右检测s字符串是否包含在字符串中,可以指定范围,不指定范围默认从头到尾
返回的结果是s字符串第一次出现的开始下标,没有则返回-1

str1 = "hello hi hi hi world!"
print(str1.find("hi"))     #输出结果:6
print(str1.find("hi",14,len(str1)))     #输出结果:-1

14.str.index(s[,start][,end])
跟find()一样,只不过如果s不存在的时候会报异常
功能:从左向右检测s字符串是否包含在字符串中,可以指定范围,不指定范围默认从头到尾
返回的结果是s字符串第一次出现的开始下标

str1 = "hello hi hi hi world!"
print(str1.index("hi"))        #输出结果:6
print(str1.index("hi",0,15))        #输出结果:6
print(str1.index("ddd"))        #找不到会报异常

15.str.rindex(s[,start][,end])
跟rfind()一样,只不过如果s不存在的时候会报异常
功能:从右向左检测s字符串是否包含在字符串中,可以指定范围,不指定范围默认从头到尾
返回的结果是s字符串第一次出现的开始下标

str1 = "hello hi hi hi world!"
print(str1.rindex("hi"))        #输出结果:12
print(str1.rindex("hi",0,15))        #输出结果:12
print(str1.rindex("ddd"))        #报错

16.str.lstrip(s)
功能:截取str左侧的指定的字符,默认为空格

str1 = "    hello world!"
print(str1.lstrip())        #输出结果:hello world!
str1 = "*****hello world!"
print(str1.lstrip("*"))        #输出结果:hello world!

17.str.rstrip(s)
功能:截取str右侧的指定的字符,默认为空格

str1 = "hello world!   "
print(str1.rstrip())        #输出结果:hello world!
str1 = "*****hello world!*****"
print(str1.rstrip("*"))        #输出结果:*****hello world!

18.str.strip(s)
功能:截取str左右两侧的指定的字符,默认为空格

str1 = "****hello world!****"
print(str1.strip("*"))        #输出结果:hello world!

19.ord(s)、chr(n)
ord(s)功能:返回字符的ASCII码值
chr(n)功能:返回ASCII码值对应的字母

str1 = "c"
print(ord(str1))        #输出结果:99
print(chr(90))        #输出结果:Z

20.split(str="",num)

#以str为分隔符截取字符串,指定num,则仅截取num个字符串
str1 ="hello*wirld*!*你好*,*世界"

 #输出结果:['hello', 'wirld', '!', '你好', ',', '世界']
print(str1.split("*"))       

#只截取3次,剩余部分是一个整体
#输出结果:['hello', 'wirld', '!', '你好*,*世界']
print(str1.split("*",3))        

21.splitlines([keepends]) 按照('\r', '\r\n', \n' )分隔,按行切割,keeppends == True 会保留换行符,默认是False

str1 ='''hello world!
hello world!
hello world!'''
print(str1.splitlines())        #输出结果:['hello world!', 'hello world!', 'hello world!']
print(str1.splitlines(True))        #输出结果:['hello world!\n', 'hello world!\n', 'hello world!']

22.str.join(seq),以指定的字符串str分隔符,将seq中的所有元素组合成一个字符串

list1 = ["hello", "world!", "你好",  "世界!"]
str2 = " ".join(list1)
str3 = "*".join(list1)
print(str2)        #输出结果:hello world ! 你好 ! 世界
print(str3)        #输出结果:hello*world!*你好*世界!

23.max(str),求字符串最大的元素,按Ascii来比较的

str1 = "hello"
print(max(str1))        #输出结果:o

24.min(str),求字符串最小的元素,按Ascii来比较的

str1 = "hello"
print(min(str1))        #输出结果:e

25.replace(old,new,num)将字符串num个的old替换成new,num不写默认为全部

str1 = "hello hi hi hi world!"
str2 = str1.replace("hi", "你好")        #全部替换
print(str2)        #输出结果:hello 你好 你好 你好 world!
str3 = str1.replace("hi", "你好", 1)        #只替换一次
print(str3)        #输出结果:hello 你好 hi hi world!

26.startswith(str[,start=0][end=len(str)]),在给定的范围内检查是否是以给定的字符串开头,默认整个字符串

str1 = "hello world!"
print(str1.startswith("hello"))        #输出结果:True
print(str1.startswith("hi"))        #输出结果:False
print(str1.startswith("world", 6, 15))        #输出结果:True

27.endswith(str[,start=0][end=len(str)]),在给定的范围内检查是否是以给定的字符串结尾,默认整个字符串

str1 = "hello world!"
print(str1.endswith("world"))        #输出结果:False
print(str1.endswith("world!"))        #输出结果:True
print(str1.endswith("hello", 5, 16))        #输出结果:False
上一篇 下一篇

猜你喜欢

热点阅读