Python基础教程之字符串

  • 1 基本字符串操作
  • 2 字符串格式化:精简版
    • 2.1 用字符串格式化操作符
    • 2.2 用string的Template格式化字符串
  • 3 字符串格式化:完整版
    • 3.1 转换说明符
    • 3.2 简单转换
    • 3.3 字段宽度和精度
    • 3.4 符号,对齐和 0 填充
  • 4 字符串方法
    • 4.1 find
    • 4.2 join
    • 4.3 lower
    • 4.4 replace
    • 4.5 split
    • 4.6 strip
    • 4.7 translate

1 基本字符串操作

  1. 说明:字符串也是序列的一种,所以分片,乘法,索引,求长度,最大, 最小,判断成员资格等都可以应用在字符串上;
  2. 注意:字符串是不可变的,所以不能对其进行赋值;
  3. 例子
    
    
     代码如下 复制代码
    1:  >>> mystr="Test string"
    
    2:  >>> mystr[0] = 't'
    
    3:  Traceback (most recent call last):
    
    4:  File "<pyshell#1>", line 1, in <module>
    
    5:    mystr[0] = 't'
    
    6:  TypeError: 'str' object does not support item assignment
    
    7:  >>>

    2 字符串格式化:精简版

 

2.1 用字符串格式化操作符

  1. 说明:字符串格式化使用字符串格式化操作符百分号( % )实现,在操作符的左侧是格式化字符串,右侧是希望被格式化的值;
  2. 注意:
    1. 只有元组和字典可以被格式化为一个以上的值,列表和其他序列会被格式化为一个值;
    2. 转换说明符,用于标记需要插入转换值的位置;
    3. 如果在格式化字符串中要输出百分号,则需要使用 %%
  3. 例子:
    
    
     代码如下 复制代码
     1:  #一般格式化
    
     2:  >>> myformat = "Hello, my name is %s %s"
    
     3:  >>> name = ('Bill','Gunn')
    
     4:  >>> print (myformat % name)
    
     5:  Hello, my name is Bill Gunn
    
     6:  >>>
    
     7:  
    
     8:  #用列表格式化
    
     9:  >>> myformat = 'Hello, my name is %s'
    
    10:  >>> name=['Bill', 'Gunn']
    
    11:  >>> print(myformat % name)
    
    12:  Hello, my name is ['Bill', 'Gunn']
    
    13:  
    
    14:  #打印浮点数
    
    15:  >>> import math
    
    16:  >>> print ("PI = %.5f" % pi)
    
    17:  PI = 3.14159
    
    18:  
    
    19:  #打印百分号
    
    20:  >>> print("%.2f%%"% 22.3)
    
    21:  22.30%
    
    22:  >>>

    2.2 用string的Template格式化字符串

  1. 说明:类似于Unix Shell中的变量替换,使用substitute方法,将字符串 模板中的$foo替换为传递进来的参数foo
  2. 例子:
    
    
     代码如下 复制代码
     1:  #从string模块中导入Template
    
     2:  >>> from string import Template
    
     3:  #创建模板
    
     4:  >>> myformat = Template("My name is $name")
    
     5:  #替换变量并打印
    
     6:  >>> print(myformat.substitute(name="Bill Gunn"))
    
     7:  My name is Bill Gunn
    
     8:  >>>
    
     9:  
    
    10:  #输出美元符号的方法,在模板里输入两个$
    
    11:  >>> mytemplate = Template("The price is $$$price")
    
    12:  >>> mytemplate.substitute(price=100)
    
    13:  'The price is $100'
    
    14:  >>>
    
    15:  
    
    16:  #如果参数与后面的字符串相连,需要用大括号将其括起来
    
    17:  >>> from string import Template
    
    18:  >>> mytemplate = Template("It's ${x}tastic!")
    
    19:  >>> mytemplate.substitute(x='slum')
    
    20:  "It's slumtastic!"
    
    21:  >>>
    
    22:  
    
    23:  #使用字典替换参数
    
    24:  >>> mytemplate = Template("My $property is $value")
    
    25:  >>> name = {}
    
    26:  >>> name["property"] = "name"
    
    27:  >>> name["value"] = "Bill Gunn"
    
    28:  >>> mytemplate.substitute(name)
    
    29:  'My name is Bill Gunn'
    
    30:  >>>
    
    31:  

    3 字符串格式化:完整版

  1. 说明:字符串格式化操作符的右操作数如果是元组,那么在格式化字符串 中必须将元组中的各个元素都有对应的转义说明符。
  2. 例子:
    
    
     代码如下 复制代码
     1:  >>> data = tuple(list("123"))
    
     2:  >>> data
    
     3:  ('1', '2', '3')
    
     4:  #格式化字符串中只有一个转义说明符,而元组中有三个元素,转换会报错
    
     5:  >>> print ("data is %s" % data)
    
     6:  Traceback (most recent call last):
    
     7:    File "<pyshell#18>", line 1, in <module>
    
     8:      print ("data is %s" % data)
    
     9:  TypeError: not all arguments converted during string formatting
    
    10:  #显示元组中的全部元素
    
    11:  >>> print ("data is %s %s %s" % data)
    
    12:  data is 1 2 3
    
    13:  >>>
    
    14:  

    3.1 转换说明符

  1. 转换说明符

    转义说明符 含义
    d,i 带符号的十进制整数
    o 不带符号的八进制
    u 不带符号的十进制
    x 不带符号的十六进制(小写)
    X 不带符号的十六进制(大写)
    e 科学计数法的浮点数(小写)
    E 科学计数法的浮点数(大写)
    f,F 十进制浮点数
    g 如果指数大于-4或者小于精度值则和e相同,否则和f相同
    G 如果指数大于-4或者小于精度值则和E相同,否则和F相同
    C 单字符(接受整数或者单字符字符串)
    r 字符串(使用repr转换任意Python对象)
    s 字符串(使用str转换任意Python对象)

3.2 简单转换

  1. 例子:

    
    
     代码如下 复制代码
     1:  #十进制整数
    
     2:  >>> print ("The price is $%d" % 12)
    
     3:  The price is $12
    
     4:  
    
     5:  #十六进制整数
    
     6:  >>> print ("Hex %x" % 12)
    
     7:  Hex c
    
     8:  
    
     9:  #八进制整数
    
    10:  >>> print ("Oct %o" % 12)
    
    11:  Oct 14
    
    12:  >>>
    
    13:  

    3.3 字段宽度和精度

  1. 说明:

    1. 字段宽度:转换后的值所保留的最小字符个数;
    2. 字段精度:转换后,结果中应该的小数位数;
    3. 可以使用*作为字段宽度或者精度
  2. 例子:
    
    
     代码如下 复制代码
     1:  #限制宽度
    
     2:  >>> "%10f" % math.pi
    
     3:  '  3.141593'
    
     4:  
    
     5:  #限制小数位数
    
     6:  >>> "%5.2f" % math.pi
    
     7:  ' 3.14'
    
     8:  
    
     9:  #用星号限制宽度和精度,下例中,宽度为10,精度为5
    
    10:  >>> '%*.*s' % (10, 5, 'adfasdfadsfasdfasdfasdf')
    
    11:  '     adfas'
    
    12:  >>>
    
    13:  

    3.4 符号,对齐和 0 填充

  1. 说明:

    1. 零:宽度不够时用数字0填充;
    2. 负号:左对齐;
    3. 正号:不管是正数还是负数都标记出符号
    4. 空格:宽度不够时用空格填充;
  2. 例子:
    
    
     代码如下 复制代码
     1:  #空白补0
    
     2:  >>> print ("%010f" % math.pi)
    
     3:  003.141593
    
     4:  
    
     5:  #左对齐
    
     6:  >>> "%-10.2f" % math.pi
    
     7:  '3.14      '
    
     8:  
    
     9:  #空白右对齐
    
    10:  >>> print("% 5dn% 5d" % (123, 12))
    
    11:    123
    
    12:     12
    
    13:  
    
    14:  #显示正负符号
    
    15:  >>> print ("%+5dn%+5d" % (123, -123))
    
    16:   +123
    
    17:   -123
    
    18:  >>>
    
    19:  

    4 字符串方法

 

4.1 find

  1. 说明:用于在长字符串中查找子字符串,如果找到,则返回子字符串在左 侧第一次出现的索引,没找到返回-1,在查找时,还可以指定在长字符串 中查找的范围,提供起始索引和结束索引作为查找的参数;
  2. 注意:查找时,包括起始索引位置,但是不包括结束索引的位置;
  3. 例子:
    
    
     代码如下 复制代码
     1:  >>> string.ascii_letters
    
     2:  'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    
     3:  >>> letters = string.ascii_letters
    
     4:  >>> letters.find('AB')
    
     5:  26
    
     6:  >>> letters.find('X',30,-1)
    
     7:  49
    
     8:  >>> letters.find("AB",26)
    
     9:  26
    
    10:  

    4.2 join

  1. 说明:将队列中的元素用字符串连接起来,并且列表中的元素必须是字符 串;
  2. 例子:
    
    
     代码如下 复制代码
    1: >>> data = list('123456') 2: >>> data 3: ['1', '2', '3', '4', '5', '6'] 4: >>> "AB".join(data) 5: '1AB2AB3AB4AB5AB6' 6: >>>

    7:

4.3 lower

  1. 说明:将字符串转换成小写字母,并返回,但是原字符串不改变;
  2. 例子:
    
    
     代码如下 复制代码
    1:  >>> mystr="ABCD"
    
    2:  >>> mystr.lower()
    
    3:  'abcd'
    
    4:  >>> mystr
    
    5:  'ABCD'
    
    6:  >>> 
    
    7:  

    4.4 replace

  1. 说明:返回所有匹配项都被替换之后的字符串
  2. 例子:
    
    
     代码如下 复制代码
    1:  >>> mystr = "My name is Geng Qi"
    
    2:  >>> mystr.replace("Geng Qi", "Bill Gunn")
    
    3:  'My name is Bill Gunn'
    
    4:  >>>

    4.5 split

  1. 说明:将字符串分割成序列;
  2. 注意:如果不提供分割符,则会将空白符当作分割符;
  3. 例子
    
    
     代码如下 复制代码
     1:  #以加号为分割符
    
     2:  >>> mystr = "1+2+3+4+5+6"
    
     3:  >>> mystr.split('+')
    
     4:  ['1', '2', '3', '4', '5', '6']
    
     5:  
    
     6:  #不提供分割符时,以空白符为分割符
    
     7:  >>> mystr = "This    is a       test string"
    
     8:  >>> mystr.split()
    
     9:  ['This', 'is', 'a', 'test', 'string']
    
    10:  >>> 
    
    11:  

    4.6 strip

  1. 说明:去除两侧的空白,也可以去除指定的字符;
  2. 例子:
    
    
     代码如下 复制代码
     1:  >>> mystr = "           asdfad adfasf asdf                      "
    
     2:  >>> mystr
    
     3:  '     tasdfad adfasf asdf       tt'
    
     4:  #去除空白符
    
     5:  >>> mystr.strip()
    
     6:  'asdfad adfasf asdf'
    
     7:  
    
     8:  #去除指定字符
    
     9:  >>> mystr.strip('t')
    
    10:  '     tasdfad adfasf' asdf       '
    
    11:  >>> 
    
    12:  

    4.7 translate

  1. 说明:translate是单字替换,可以同时替换多个字符
  2. 例子:
    
    
     代码如下 复制代码
    1:  >>> table = str.maketrans('cs', 'kz')
    
    2:  >>> table
    
    3:  {115: 122, 99: 107}
    
    4:  >>> "Please don't knock at my door!".translate(table)
    
    5:  "Pleaze don't knokk at my door!"
    
    6:  

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索string
, 字符串
, 索引
, 代码
is
python基础教程、python基础教程 pdf、python基础教程视频、python基础教程第三版、python3.3基础教程,以便于您获取更多的相关知识。

时间: 2024-10-02 13:43:00

Python基础教程之字符串的相关文章

Python基础教程

# ****Python基础教程**** 目前,Python 作为一门当前最流行编程语言之一,网上各式各样学习教程非常,笔者因为起步较早,主要通过书籍学习Python2 ,目前Python正在Python2向Python3的方向迁移. 国内关于Python书籍资源更新太慢, 若英语水平不错,并且愿意学习Python3,最好通过Python官方文档进行学习. 若英语水平较差,并且仅想对Python3的语法进行基本了解.笔者推荐网站:[菜鸟教程](http://www.runoob.com/pyth

python基础教程之自定义函数介绍_python

函数最重要的目的是方便我们重复使用相同的一段程序. 将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句. 函数的定义 首先,我们要定义一个函数, 以说明这个函数的功能. 复制代码 代码如下: def square_sum(a,b):     c = a**2 + b**2     return c 这个函数的功能是求两个数的平方和. 首先,def,这个关键字通知python:我在定义一个函数.square_sum是函数名. 括号中的a, b是函

python基础教程之基本内置数据类型介绍_python

Python基本内置数据类型有哪些 一些基本数据类型,比如:整型(数字).字符串.元组.列表.字典和布尔类型.随着学习进度的加深,大家还会接触到更多更有趣的数据类型,python初学者入门时先了解这几种类型就可以了. 基本内置数据类型对应符号 1)整型--int--数字python有5种数字类型,最常见的就是整型int.例如:1234.-12342)布尔型--bool--用符号==表示布尔型是一种比较特殊的python数字类型,它只有True和False两种值,它主要用来比较和判断,所得结果叫做

Python基础教程学习笔记 第一章 基础知识_Android

1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入"python -V"查看版本号,注意V是大写字母,这条命令是Windows命令,而不是python shell的命令 3.让解释器只执行普通的除法运算:from __feture__ import division 4.执行整除运算的运算符:// 5.取幂运算符:2**4 相当于2的4次方,-2**4相当于2的4次方之后取负,因为

python基础教程之基本数据类型和变量声明介绍_python

变量不需要声明 Python的变量不需要声明,你可以直接输入: 复制代码 代码如下: >>>a = 10 那么你的内存里就有了一个变量a, 它的值是10,它的类型是integer (整数). 在此之前你不需要做什么特别的声明,而数据类型是Python自动决定的. 复制代码 代码如下: >>>print a >>>print type(a) 那么会有如下输出: 复制代码 代码如下: 10 <type 'int'> 这里,我们学到一个内置函数t

python基础教程之面向对象的一些概念_python

Python使用类(class)和对象(object),进行面向对象(object-oriented programming,简称OOP)的编程. 面向对象的最主要目的是提高程序的重复使用性.我们这么早切入面向对象编程的原因是,Python的整个概念是基于对象的.了解OOP是进一步学习Python的关键. 下面是对面向对象的一种理解,基于分类. 相近对象,归为类 在人类认知中,会根据属性相近把东西归类,并且给类别命名.比如说,鸟类的共同属性是有羽毛,通过产卵生育后代.任何一只特别的鸟都在鸟类的原

python基础教程之简单入门说明(变量和控制语言使用方法)_python

简介有兴趣可以看看: 解释性语言+动态类型语言+强类型语言 交互模式:(主要拿来试验,可以试试 ipython) 复制代码 代码如下: $python>>> print 'hello world' 脚本 复制代码 代码如下: #!/usr/bin/env pythonprint 'hello world' 环境: 建议python2.7 + easy_install + pip + virtualenv + ipython 缩进Python 函数没有明显的 begin 和 end,没有标

MS SQL基础教程:字符串函数

字符串函数对二进制数据.字符串和表达式执行不同的运算.此类函数作用于CHAR.VARCHAR. BINARY. 和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数据类型.可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用字符串函数.常用的字符串函数有: 1.字符转换函数 有以下几种字符转换函数: ·ASCII() ASCII() 函数返回字符表达式最左端字符的ASCII 码值.ASCII() 函数语法如下: 例4-40: 提醒:在ASCII()

python基础教程之字典操作详解_python

字典dictionary 1.键值对的集合(map) 2.字典是以大括号"{}"包围的数据集合 3.字典是无序的,在字典中通过键来访问成员. 可变的,可嵌套,可以原处修改扩展等,不产生新的字典 4.字典的键,可以是字符串(大小写敏感),数字常量或元组(不可变类型),同一个字典的键可以混用类型.字典的键必须是可哈希的 元组作为键的条件是,元组内的值都是不可变类型 复制代码 代码如下: a = (1,2)  #可以作为键b = (1,2,[3,4])  #不可以 5.字典的值可以是任意类型