为了账号安全,请及时绑定邮箱和手机立即绑定

Python数据类型之字符串

https://img1.sycdn.imooc.com//5df4a89b000110c013880582.jpg

1. Python字符串的创建

   字符串是Python中最常见的数据类型,通常使用单引号或双引号来定义一个字符串,如下:

   str = "我是字符串"

   str1 = '我也是字符串'

   python中单引号和双引号定义字符串作用效果是相同的,它没有char类型,也就是python不支持单字符类型,单字符在python中也是作为字符串处理的。


2. Python字符串的截取

   语法:变量[头下标:尾下标]

   字符串的索引值以0为开始值,-1为末尾的开始位置

   比如:获取字符串的一段子字符串

    str = 'Hello World!'

print (str)          # 输出字符串

print (str[0:-1])    # 输出第一个到倒数第二个的所有字符

print (str[0])       # 输出字符串第一个字符

print (str[2:5])     # 输出从第三个开始到第五个的字符

print (str[2:])      # 输出从第三个开始的后的所有字符


3. Python字符串的修改(替换)

   Python字符串的修改(替换),其实就是截取字符串的一部分与其他字符串进行拼接,使用加号操作符来实现。

   str = "Hello World"

   newStr = str[:6] + "tom!"


4. Python字符串的转义

   在Python中使用反斜杠(\)来对字符串中的特殊符号进行转义,常见的转义字符如下:

   (1) \(在行尾时) 续行符

   (2) \\ 反斜杠符号

   (3) \' 单引号

   (4) \" 双引号

   (5) \a 响铃

   (6) \b 退格(Backspace)

   (7) \000 空

   (8) \n 换行

   (9) \v 纵向制表符

   (10) \t 横向制表符

   (11) \r 回车

   (12) \f 换页

   (13) \oyy 八进制数,yy 代表的字符,例如:\o12 代表换行,其中 o 是字母,不是数字 0。

   (14) \xyy 十六进制数,yy代表的字符,例如:\x0a代表换行

   (15) \other 其它的字符以普通格式输出


5. Python字符串编码方式

   在Python3中,所有的字符串都采用Unicode编码方式,也就是Python3中,所有的字符串都是Unicode字符串;


6. Python字符串运算符

    (1)+ 实现字符串拼接操作。

    (2)* 重复输出字符串(字符串乘法) 。

(3)[] 通过字符串的索引获取字符串中对应的字符。

(4)[ : ] 截取字符串中的一部分,遵循左闭右开原则,str[0,2] 是不包含第 3 个字符的。

(5)in 成员运算符 - 如果字符串中包含给定的字符返回 True。

(6)not in 成员运算符 - 如果字符串中不包含给定的字符返回 True。

(7)r/R 使用r可以让反斜杠不发生转义,也就是原样输出原始字符串,所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。

print( r'\n' )

print( R'\n' )

(8)% 用来格式字符串。


7. Python格式化字符串

   Python支持格式化字符串的输出,使用%来实现格式化操作。

   Python常见的字符串格式化符号如下:

   (1) %c 格式化字符及其ASCII码

   (2) %s 格式化字符串

   (3) %d 格式化整数

   (4) %u 格式化无符号整型

   (5) %o 格式化无符号八进制数

   (6) %x 格式化无符号十六进制数

   (7) %X 格式化无符号十六进制数(大写)

   (8) %f 格式化浮点数字,可指定小数点后的精度, 如: %.5f

   (9) %e 用科学计数法格式化浮点数

   (10) %E 作用同%e,用科学计数法格式化浮点数

   (11) %g %f和%e的简写

   (12) %G %f 和 %E 的简写

   (13) %p 用十六进制数格式化变量的地址

   在使用上面提到的格式化符号来格式化字符串时,常常需要一些字符串辅助符号来实现。

   在Python中,常见的格式化辅助符号如下:

   (1) * 定义宽度或者小数点精度

   (2) - 用做左对齐

   (3) + 在正数前面显示加号( + )

   (4) <sp> 在正数前面显示空格

   (5) # 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')

   (6) 0 显示的数字前面填充'0'而不是默认的空格

   (7) % '%%'输出一个单一的'%'

   (8) (var) 映射变量(字典参数)

   (9) m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

   在Python3.6后,引入了一个新的格式化字符串的语法——(f-string)字面量格式化字符串。

   f-string 格式话字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去

   比如:  f"我叫{name}, 今年{age}岁, 来自{city}"


8. Python中的三引号 """ """

   python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

   str = """这是一个多行字符串的实例

多行字符串可以使用制表符

TAB ( \t )。

也可以使用换行符 [ \n ]。

    """

    如果没有将一个三引号包裹的字符串值赋值给一个变量,那么这段字符串就是一个Python注释语句。

https://img1.sycdn.imooc.com//5df4a8e9000163e910690633.jpg

示例代码:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# author : liuhefei
# Time : 2019/11/9
# desc:  Python数据类型之字符串

"""
Python数据类型之字符串:
在Python中使用单引号或双引号来定义一个字符串
"""
if __name__ == "__main__":
    # 定义字符串
    str = "Hello World!"
    str1 = 'I love you! Hello World!'
    str2 = "I like apples, \n but I don't like bananas, \t  so I don't eat bananas "

    # 打印输出字符串
    print("1 - ", str)
    # 字符串的截取(左闭右开原则)
    print("1 - ", str[0:-1])  # 输出第一个到倒数第二个的所有字符
    print("2 - ", str[0])   # 输出字符串的第一个字符
    print("3 - ", str[-1])  # 输出字符串的倒数第一个字符
    print("4 - ", str[2:5])  # 输出从第三个开始到第五个的字符
    print("5 - ", str[3:])  # 输出从第四个开始的后的所有字符
    print("6 - ", str[:-4])  # 输出从第一个字符到字符串的倒数第四个字符之间的字符
    print("\n")

    # 字符串的运算
    print("7 - ", str + str1)  # 字符串的拼接操作
    print("8 - ", str1*4)  #字符串的乘法(重复输出字符串)
    print("9 - ", str[5])  # 获取字符串下标为5的字符
    print("10 - ", str in str1)  # 判断字符串str是否在str1中,存在返回True,否则返回False
    print("11 - ", str not in str1)  # 判断字符串str是否不在str1中,不存在返回True,存在返回False
    print("12 - ", r'str2')   # 打印输出原始字符,不发生转义
    print("13 - ", R'str2')
    print("14 - ", str2)   # 打印字符串,转义发生
    print("我叫%s, 今年%d岁, 来自%s, 体重%.2fKG" %("刘豆豆", 24, "深圳", 72.04))
    print("我叫{name}, 今年{age}岁, 来自{city}, 体重{weight}".format(weight=70.04, age=25, name="刘豆豆", city='深圳'))
    print("\n")

    strs = """
         天国虽美,\n
         没有了你,\n
         万杯觥筹,\n
         只不过
         是提醒寂寞罢了。
    """
    print("strs = ", strs)

    strs1 = '''
        你若来,\n
        我等你!\n
        你若走,\n
        我送你!\n
        喜欢你,或许就只是我一个人的事!
    '''
    print("strs1 = ", strs1)

    # f-string 字面量格式化字符串
    s = f'我想你了, {strs}'
    print("s = ", s)

    boy = {"男": "男:我想你了\n"}
    girl = {"女": "女:只愿君心似我心,定不负相思意"}
    speak = f"{boy['男']}{girl['女']}"
    print(speak)

来源:gzh:   学虽易学好难(study3344)

结束语:一个人,一个目标,一条路!

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消