美文网首页
9.python3字符串

9.python3字符串

作者: dwy_interesting | 来源:发表于2020-05-26 10:52 被阅读0次

    简介

    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
    

    相关文章

      网友评论

          本文标题:9.python3字符串

          本文链接:https://www.haomeiwen.com/subject/ypckwhtx.html