字符串

作者: 陈卷卷卷卷 | 来源:发表于2018-07-18 20:31 被阅读0次

    一.字符串

    1.什么是字符串
    • 使用单引号或者双引号括起来的字符串
    • 引号中的单独的符号数字字母等叫做字符
    2.转义字符:可以用来表示一些特殊功能或者是特殊意义的字符(通过在固定的字符前面加\)
    • \ 转移字符
    • \\ 输出转移字符 \
    (注:转义字符在计算字符串长度时是整个转义字符计算为一个字符)
    \n \r \t \f \e \v \oyy \xyy
    换行 回车 横向制表 换页 转义 纵向制表 八进制数 十六进制数

    代码实现:

    str = 'hai'
    str1 = 'H'
    str2 = '\''
    str3 = ('床前明月光,\n疑是地上霜。')
    print(str3)
    
    

    运行结果:

    床前明月光,
    疑是地上霜
    

    3.Python中的阻止转义
    • 通过R(r)在字符串前面阻止字符串转义,直接能够输出字符串中的原有内容
      代码实现:
    #没有R
    str4 = '\\'
    #有R
    str5 = R'\\'
    print(str4)
    print(str5)
    

    运行结果:

    \
    \\
    
    4.Python中的字符是Unicode编码

    (1)什么是Unicode编码?

    • Unicode编码使用十六位对一个字符进行编码,编码的目的是让字符可以存储到计算机中
    • Unicode编码中包含了ASCII码,它可以表示世界上所有的语言符号
      (2)Unicode编码的使用
      a.获取一个字符的Unicode编码
      b.将Unicode编码转化为字符
      代码实现:
    # 将字符转换为Unicode编码(返回十进制)
    # ord()
    print(bin((ord('王'))),bin((ord('圣'))),bin
    # 将Unicode码换换为字符
    # chr()
    print(chr(0x4eff)
    

    输出结果:

    0b111001110001011 0b101011100100011 0b110110100000001
    仿
    
    5.字符串比较大小
    • 字符串比较大小的时候,从字符串开始依次往后比较每个字符的大小,直到字符不一样的时候。比较字符的大小,实际上是比较它们的编码的大小

    二.获取字符串的字符

    Python的字符串实际上是一个有序的序列
    1.获取字符串长度:指的是字符串中字符的个数

    代码实现:

    len()
    a='abc'
    c=len(a)
    print(c)
    
    2.通过下标获取字符串中的每一个字符
    • 字符串中的每一个字符都有一个下标(索引),我们可以通过索引获取固定的值
      代码实现1:
    str = 'abc'
    print(str[0])
    print(str[1])
    print(str[2])
    str1 = 'dy\nup'
    print(str1[4])
    
    注意:
    • 下标的范围:0~字符串长度-1
    • 逆序获取字符
    • 下标长度:-1~-(字符串长度)
    • 索引时,索引不能超过索引范围,否则会报错IndexError
      代码实现2:
    # 获取str2中的最后一个字符
    print(str1[-1])
    

    运行结果:

    3
    a
    b
    c
    p
    p
    
    3.获取字符串中的制指定范围的字符
    格式:变量名[开始下标:结束下标](注:开始下标对应的字符一定在结束下标对应的字符前)获取变量中字符从开始下表到结束下标的所有字符(不包含结束下标所对应的字符)

    代码实现:

    获取第六个字符到底倒数第一个之前的所有字符
    str3 = 'djafjfnjefjjrkjfe'
    print(str3[5:-1])
    

    运行结果:

    fnjefjjrkjf
    
    • 如果没有开始下标或者结束下标,则直接从字符开始除索引或者索引至字符串结束
    # 省略开始下标
    print('省略开始下标')
    print(str3[:-1])
    # 省略结束下标
    print('省略结束下标')
    length = len(str3[2:])
    print(str3[2:],'所取字符长度为:',length)
    

    运行结果:

    省略开始下标
    djafjfnjefjjrkjf
    省略结束下标
    afjfnjefjjrkjfe 所取字符长度为: 15
    
    • 步进取值
    # [开始下标:结束下标:步进]  [1:-1:2]
    # 步进为2(没两个取一个)
    str4 = str3[2:-1:2]
    print(str4)
    # 如果步进为负数,则取值时和步进取值规律相反
    str5 = str3[2::-1]
    print(str5)
    

    运行结果:

    ajnejrj
    ajd
    [Finished in 0.1s]
    

    三.字符串运算符

    1."+":拼接字符串
    格式:字符串1 + 字符串2

    代码实现1:

    str = 'hello'
    str1 = 'python'
    print(str + str1)
    
    注意:在用+进行运算符计算时,+两边必须都是字符串

    运行结果:

    hellopython
    
    2."*":字符串重复
    格式:字符串 * 正整数

    代码实现2:

    str3 = 'abc' * 2
    print(str3)
    

    运行结果:

    abcabc
    
    3.in :
    格式:字符串1 in 字符串2 :判断字符串1是否在字符串2中,返回值为布尔值

    代码实现3

    result = 'aac' in 'aghdacjshakj'
    print(result)
    #字符串必须是完全一样才能判断为True
    

    运行结果:

    False
    
    4.not in
    格式字符串1 not in 字符串2 :判断字符串1是否不在字符串2中

    代码实现4:

    result1 = 'aac' in 'aghdacjshakj'
    print(result1)
    

    运行结果:

    False
    
    5.格式字符串
    格式:字符串'%s'%(值),有多个值占位符时,值用逗号隔开

    代码实现5:

    str4 = 'abc%s123sd' %('c')
    print(str4)
    # 有多个值占位符时,值用逗号隔开
    str5 = 'abc%sajf%sfj' %('7478','47')
    print(str5)
    

    运行结果:

    abcc123sd
    abc7478ajf47fj
    
    6.占位符

    %s--->字符串占位符
    %d--->整数占位符
    %f--->浮点数占位符(%.nf-->保存n位小数的浮点数)
    %c--->长度为1的字符串占位符(字符占位符),可以传长度唯一的字符的编码值
    代码实现6:

    str6 = '-%s-%d-%.1f-%c-' %('chen',12,12.3,'a')
    print(str6)
    

    运行结果:

    -chen-12-12.3-a-
    
    注意:如果在占位符后面没有添加或者没有使用占位符格式,那么前面添加了占位符的字符串中的占位符也是一个字符串
    7.格式化输出

    代码实现7:

    name = 'chen'
    age = 10
    print('%s今年年龄是%d' %(name,age))
    # 格式化无符号八进制
    number = 10
    str8 = '%d的八进制数是0o%o' %(number,number)
    print(str8)
    

    运行结果:

    15的十六进制是0xf
    chen今年年龄是10
    10的八进制数是0o12
    

    四.字符串的内置函数

    调用格式:变量名(变量名).函数()

    代码举例:

    # 产生学号
    number = 9
    # 将整数转换为字符串
    num_str3 = str(9)
    print(num_str3,type(num_str3))
    # 调用rjust()函数生成指定长度的字符串,并添加填充字符
    num_str3 = num_str3.rjust(3,'0')
    # 拼接字符串
    num_str3 = 'Python'+ num_str3
    print(num_str3)
    

    运行结果:

    9 <class 'str'>
    Python009
    

    五.分支结构

    1.if-else语句
    结构:
    if:条件语句(结果为True执行的代码块)
    ****代码块1
    else:
    ****代码块2
    执行过程:
    • 先判断条件语句是否为True,如果为True就执行if语句后面对应的一个缩进的所有代码;如果为False,就执行else中的代码块
    • 条件语句:任何有值的表达式,但是一般是布尔值
      代码实现1:
    #  练习:用一个变量成绩,如果大于等于60判断是否及格。并打印结果
    
    score = 70
    if score>=60:
        print('及格')
    else:
        print('不及格')
    

    运行结果:

    及格
    

    相关文章

      网友评论

          本文标题:字符串

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