精华内容
下载资源
问答
  • Python中字符串拼接

    2019-07-09 16:35:46
    很多的编程语言都支持使用+号拼接字符串Python也不例外。但是Python的+号拼接和其他语言是有区别的,比如Java,+号拼接时不看两边的类型是否一致;Python拼接的话,+号两边类型不一致会报错。如下图所示。 上...

    目录

     

    1."+"拼接

    1.1.数据库sql语句拼接参数

    2.","拼接

    3.直接拼接

    4.Join()拼接

    1."+"拼接

    很多的编程语言都支持使用+号拼接字符串,Python也不例外。但是Python的+号拼接和其他语言是有区别的,比如Java中,+号拼接时不看两边的类型是否一致;Python拼接的话,+号两边类型不一致会报错。如下图所示。

    上图是因为使用+号拼接字符串报错:类型错误:不能连接字符串和int类型。解决办法是:使用str()方法将int类型转换为字符串类型。如下图所示:

    同样的,使用+号拼接字符串和时间也会报错,解决办法也是使用str()方法即可。这是小编今天使用Python编写sql语句时出现的错误,在这里顺便给大家总结下数据库sql语句拼接参数的方法。

    1.1.数据库sql语句拼接参数

    第一种方法:使用+号。但这种拼接方式会报错,所以写的时候如果两边类型不一致的话要进行转换,代码如下。

    pool = PooledDB(MySQLdb, 10, host = 'localhost', user = 'root', passwd = 'root', db = 'test1', port = 3306, charset = 'utf8') 
    conn = None
    cursor = None
    sql = "update message set status=3,sendtime=now() where telephone='"+tel+"' and status="+str(status)+" and time='"+str(time)+"'"
    conn = pool.connection()
    cursor = conn.cursor()
    cursor.execute(sql)
    conn.commit()

    第二种方法:使用dict类型。将数据封装在字典里面,通过字典传递参数,代码如下。

    pool = PooledDB(MySQLdb, 10, host = 'localhost', user = 'root', passwd = 'root', db = 'test1', port = 3306, charset = 'utf8') 
    conn = None
    cursor = None
    sql = "update message set status=3,result='暂时无法检测状态' where telephone=%(tel)s and status=%(status)s and time=%(time)s"
    val = {"tel":tel,"status":status,"time":time}
    conn = pool.connection()
    cursor = conn.cursor()
    cursor.execute(sql,val)
    conn.commit()

    2.","拼接

    使用","拼接字符串,两个字符串中间会加一个空格,Python中使用print打印会换行,但是使用","拼接就不换行了。效果如图所示。

     

    3.直接拼接

    两个字符串中间空格或不空格进行拼接,如图所示。

     

    4.Join()拼接

    join()方法是将序列中的元素以指定的字符连接生成一个新的字符串。如图所示。

     

     

     

     

     

    展开全文
  • 本篇文章给大家介绍python中字符串拼接的多种方法,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
  • Python中字符串拼接的三种方式.pdf
  • Python中字符串拼接的N种方法.pdf
  • 使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率。②通过str.join()方法拼接strlist=...

    python拼接字符串一般有以下几种方法:

    ①直接通过(+)操作符拼接

    s = 'Hello'+' '+'World'+'!'

    print(s)

    输出结果:Hello World!

    使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率。

    ②通过str.join()方法拼接

    strlist=['Hello',' ','World','!']

    print(''.join(strlist))

    输出结果:Hello World!

    这种方式一般常使用在将集合转化为字符串,''.join()其中''可以是空字符,也可以是任意其他字符,当是任意其他字符时,集合中字符串会被该字符隔开,例如:

    ​strlist=['Hello',' ','World','!']

    print(','.join(strlist))

    输出结果:Hello, ,World,!

    ③通过str.format()方法拼接

    s='{} {}!'.format('Hello','World')

    print(s)

    输出结果:Hello World!

    通过这种方式拼接字符串需要注意的是字符串中{}的数量要和format方法参数数量一致,否则会报错。

    ④通过(%)操作符拼接

    s = '%s %s!' % ('Hello', 'World')

    print(s)

    输出结果:Hello World!

    这种方式与str.format()使用方式基本一致。

    ⑤通过()多行拼接

    s = (

    'Hello'

    ' '

    'World'

    '!'

    )

    print(s)

    输出结果:Hello World!

    python遇到未闭合的小括号,自动将多行拼接为一行。

    ⑥通过string模块中的Template对象拼接

    from string import Template

    s = Template('${s1} ${s2}!')

    print(s.safe_substitute(s1='Hello',s2='World'))

    输出结果:Hello World!

    Template的实现方式是首先通过Template初始化一个字符串。这些字符串中包含了一个个key。通过调用substitute或safe_subsititute,将key值与方法中传递过来的参数对应上,从而实现在指定的位置导入字符串。这种方式的好处是不需要担心参数不一致引发异常,如:

    from string import Template

    s = Template('${s1} ${s2} ${s3}!')

    print(s.safe_substitute(s1='Hello',s2='World'))

    输出结果:Hello World ${s3}!

    ⑦通过F-strings拼接

    在python3.6.2版本中,PEP 498 提出一种新型字符串格式化机制,被称为“字符串插值”或者更常见的一种称呼是F-strings,F-strings提供了一种明确且方便的方式将python表达式嵌入到字符串中来进行格式化:

    s1='Hello'

    s2='World'

    print(f'{s1} {s2}!')

    输出结果:Hello World!

    在F-strings中我们也可以执行函数:

    def power(x):

    return x*x

    x=4

    print(f'{x} * {x} = {power(x)}')

    输出结果:4 * 4 = 16

    而且F-strings的运行速度很快,比%-string和str.format()这两种格式化方法都快得多。

    展开全文
  • python中字符串拼接join

    千次阅读 2019-09-23 19:46:04
    python中字符串处理函数有"str".join(seq),拼接字符串,和os.path.join()返回拼接后的字符串。 一、"str".join(sequenue),join函数 python下拼接字符串可通过join函数实现,使用方法: ... 字符串拼接符 seq...

    python中字符串处理函数有"str".join(seq),拼接字符串,和os.path.join()返回拼接后的字符串。

    一、"str".join(sequenue),join函数

    python下拼接字符串可通过join函数实现,使用方法:

    string.join(sequence)

    其中:string         ==>> 字符串拼接符

               sequence  ==>> 要拼接的对象,可为字符串、元祖、列表、字典、集合

    实例如下:

    >>> a=['hello', 'world']     //列表
    >>> print(":".join(a))
    hello:world
    >>> print(" ".join(a))
    hello world
    >>> b='hello world'          //字符串
    >>> print(":".join(b))
    h:e:l:l:o: :w:o:r:l:d
    >>> print(" ".join(b))
    h e l l o   w o r l d
    >>> c=('hello', 'world')     //元祖
    >>> print(":".join(c))
    hello:world
    >>> print(" ".join(c))
    hello world
    >>> d={'a':1, 'b':2, 'c':3}   //字典,注意拼接的是key值
    >>> print(":".join(d))
    a:b:c
    >>> print(" ".join(d))
    a b c
    >>> e={'1', '2', '3'}        //集合,注意打印的是无序的
    >>> print(":".join(e))
    2:1:3
    >>> print(" ".join(e))
    2 1 3
    >>> print("".join(e))       //拼接符可以为空
    213
    

    执行效率和“+”比较,join相对效率较高,原因如下(引用):

    -==-=-=-=-=-=--=--==-=-=-==-=-==-=-=-=-=-=-=-=-=-=-=-=-=

    Python中字符串是不可变对象,修改字符串就得将原字符串中的值复制,开辟一块新的内存,加上修改的内容后写入到新内存中,以达到“修改”字符串的效果。在使用“+”拼接字符串时,正是使用了重复性的复制、申请新内存、写入值到新内存的工作一遍遍的将字符串的值修改。而使用join()方法拼接字符串时,会先计算总共需要申请多少内存,然后一次性申请所需内存并将字符串复制过去。这样便省去了重复性的内存申请和写入,节省了时间消耗。
    -----------------------------------------------------------------------------------------------------

    二、os.path.join()函数,将多个字符串拼接,返回连接的字符串

    实例如下:

    >>> import os
    >>> os.path.join('hello', 'world')
    'hello/world'                         //用/连接两个字符
    >>> 
    >>> os.path.join('hello', '/world')   //存在/开头字符串,则/之前的丢弃 
    '/world'
    >>> os.path.join('hello/', '/world')  //存在/开头字符串,则/之前的丢弃 
    '/world'
    >>> os.path.join('hello/', 'world')
    'hello/world'
    >>> os.path.join('hello/', 'world', 'haha')  //存在/,则不会再添加/ 
    'hello/world/haha'
    >>> os.path.join('hello/', 'world', '/haha')  //存在/开头字符串,则/之前的丢弃 
    '/haha'
    >>> os.path.join('hello/', 'world', './haha') //正常拼接字符串
    'hello/world/./haha'

    注意:

    1、拼接时,存在"/"开头的字符串,则之前的字符串丢弃;

    2、若字符串存在"/",则拼接时不会再添加"/"。

    展开全文
  • Python中字符串拼接的N种方法

    千次阅读 2018-08-07 20:09:16
    使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率。 ②通过str.join()方...

    python拼接字符串一般有以下几种方法:

    ①直接通过(+)操作符拼接

    s = 'Hello'+' '+'World'+'!'
    print(s)

    输出结果:Hello World!

    使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率。

    ②通过str.join()方法拼接

    strlist=['Hello',' ','World','!']
    print(''.join(strlist))

    输出结果:Hello World!

    这种方式一般常使用在将集合转化为字符串,''.join()其中''可以是空字符,也可以是任意其他字符,当是任意其他字符时,集合中字符串会被该字符隔开,例如:

    ​strlist=['Hello',' ','World','!']
    print(','.join(strlist))

    输出结果:Hello, ,World,!

    ③通过str.format()方法拼接

    s='{} {}!'.format('Hello','World')
    print(s)

    输出结果:Hello World!

    通过这种方式拼接字符串需要注意的是字符串中{}的数量要和format方法参数数量一致,否则会报错。

    ④通过(%)操作符拼接

    s = '%s %s!' % ('Hello', 'World')
    print(s)

    输出结果:Hello World!

    这种方式与str.format()使用方式基本一致。

    ⑤通过()多行拼接

    s = (
        'Hello'
        ' '
        'World'
        '!'
    )
    print(s)

    输出结果:Hello World!

    python遇到未闭合的小括号,自动将多行拼接为一行。

    ⑥通过string模块中的Template对象拼接

    from string import Template
    s = Template('${s1} ${s2}!') 
    print(s.safe_substitute(s1='Hello',s2='World')) 

    输出结果:Hello World!

    Template的实现方式是首先通过Template初始化一个字符串。这些字符串中包含了一个个key。通过调用substitute或safe_subsititute,将key值与方法中传递过来的参数对应上,从而实现在指定的位置导入字符串。这种方式的好处是不需要担心参数不一致引发异常,如:

    from string import Template
    s = Template('${s1} ${s2} ${s3}!') 
    print(s.safe_substitute(s1='Hello',s2='World')) 

    输出结果:Hello World ${s3}!

    ⑦通过F-strings拼接

    在python3.6.2版本中,PEP 498 提出一种新型字符串格式化机制,被称为“字符串插值”或者更常见的一种称呼是F-strings,F-strings提供了一种明确且方便的方式将python表达式嵌入到字符串中来进行格式化:

    s1='Hello'
    s2='World'
    print(f'{s1} {s2}!')

    输出结果:Hello World!

    在F-strings中我们也可以执行函数:

    def power(x):
        return x*x
    x=4
    print(f'{x} * {x} = {power(x)}')

    输出结果:4 * 4 = 16

    而且F-strings的运行速度很快,比%-string和str.format()这两种格式化方法都快得多。

    更多Python视频、源码、资料加群683380553免费获取

    转载至:https://my.oschina.net/mutoushirana/blog/1861267

    展开全文
  • Python中字符串拼接的N+1种方法

    千次阅读 2019-08-27 21:59:44
    因为python中使用 + 拼接两个字符串时会生成一个新的字符串, 生成新的字符串就需要重新申请内存, 当拼接字符串较多时自然会影响效率。 2.通过str.join()方法拼接: 输出结果:Hello World! 这种方式一般常使...
  • 使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率。 2、通过str.join()方法拼接 ...
  • 字符串、元组、列表的元素以指定的字符(分隔符)连接生成一个新的字符串 os.path.join(): 将多个路径组合后返回,拼接方法: 1、只有一个以”/”开头的,参数从它开始往后拼接,之前的参数全...
  • Python中字符串拼接的三种方式

    千次阅读 2020-10-13 14:34:31
    Python中,我们经常会遇到字符串拼接问题,在这里我总结了三种字符串拼接方式: 1.使用加号(+)号进行拼接 加号(+)号拼接是我第一次学习Python常用的方法,我们只需要把我们要加的拼接到一起就行了,不是变量的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,208
精华内容 26,083
关键字:

python中字符串的拼接

python 订阅