精华内容
下载资源
问答
  • python字符串引用变量

    千次阅读 2018-10-16 16:15:39
    python字符串引用(加入)变量并赋值,或者叫python一般场景应用于一段非python语言中需要将Python变量赋值进去进行循环;或者是通过多个字符串进行组合拼接成一段新的字符串。 将变量插入到字符串中的方法主要有...

    python字符串中引用(加入)变量并赋值,或者叫python一般场景应用于一段非python语言中需要将Python变量赋值进去进行循环;或者是通过多个字符串进行组合拼接成一段新的字符串。

    将变量插入到字符串中的方法主要有:1、+加号拼接法;2、%字符赋值法;3、format()函数法

    一、+拼接法:

    我们知道+最基本的功能是进行四则运算,比如1+2=3。但是我们如果用拼接的方法那么1+1=11,如果你的值是数字类型那么+进行的就是四则运算。如果你的值是字符串类型那么+就是拼接符号

    #数字类型使用+进行四则
    a=1
    b=2
    print(a+b)
    
    In:3
    
    #字符串类型使用+进行拼接
    a='我要学'
    b='python'
    print(a+b)
    
    In:我要学python
    

    案例一
    python中我需要将多个列的数据拼接成一个,并用逗号“,”进行分隔

    A='水蜜桃'
    B='苹果'
    C='香蕉'
    D='西瓜'
    data=A+','+B+','+C+','+D
    print(data)
    
    In:水蜜桃,苹果,香蕉,西瓜
    

    二、%字符赋值法

    python中用%代表格式符,表示格式化操作,常用的操作有%s,%d,%r,%i。%s,%r,%d,%i分别表示字符串以str(),rper(),以及十进制整数表示,%f表示结果为浮点型,%i表示为有符号十进制数

    场景:用python链接数据库,引用了sql代码。但是我希望将Python的一个变量加到sql代码中,用变量替换表名实现对应的表都执行这个sql语句

    #例如我现在有三个数据表,table1、table2、table3,想把table变成一个变量
    data1=("select count(*) from table1 ") 
    data2=("select count(*) from table2 ") 
    data3=("select count(*) from table3 ") 
    
    
    #实现方法
    table=['table1 ','table2 ','table3 ']
    data=[]
    for x in range(len(table)):
        df=("select count(*) from %s"%(table[x]))
        data.append(df)
    

    用%格式符多个变量语法

    table=['table1']
    date=['2018-09-20']
    sql=("select count(*) from %s where date=%s" %(table,date))
    

    三、format()函数法

    对于变量较多的情况,加入加’+‘或者’%'相对比较麻烦,这种情况下可以使用format函数

    d='2018-10-02'
    n='关羽'
    dep='蜀汉'
    data='打卡时间:{date},打卡人:{name},所在部门:{department}'.format(date=d,name=n,department=dep)
    print(data)
    
    In:打卡时间:2018-10-02,打卡人:关羽,所在部门:蜀汉
    
    展开全文
  • 1、使用+ 号在字符串中添加变量 a = 'aa' print(a + 'bb' + a + a) 输出 aabbaaaa 变量a只能是字符串,如果是别的数据类型需要使用str()转换 a = 23 print('abc' + str(a)) 输出 abc23 2、 使用 % 在字符串外 %...

    1、使用+ 号在字符串中添加变量

    a = 'aa'
    print(a + 'bb' + a + a)
    

    输出

    aabbaaaa
    

    变量a只能是字符串,如果是别的数据类型需要使用str()转换

    a = 23
    print('abc' + str(a))
    

    输出

    abc23
    

    2、 使用 % 在字符串外 %(变量)

    a = ['aa',23]
    print('ccc%s%s' % (a,a))
    

    输出

    ccc['aa', 23]['aa', 23]
    

    变量是什么类型都可以使用

    3、 使用.format()函数

    a = {'a':4, 'b':5}
    b =[2]
    c = 'boring'
    print('This {2} is{1} so {0}'.format(c,b,a))
    

    输出

    This {'a': 4, 'b': 5} is [2] so boring
    

    还可以这样写

    a = {'a': 4, 'b':5}
    b =[2]
    c = 'boring'
    print('This {a} is {b} so {c}'.format(a = c,b = b,c = a))
    

    输出

    This boring is [2] so {'a': 4, 'b': 5}
    

    也可以不按照指定位置,按照默认顺序

    print('{}{}{}'.format('hello ','world','!'))
    

    输出

    hello world!
    
    展开全文
  • python 字符串插入变量

    千次阅读 2015-05-14 21:15:57
    Python并没有对在字符串中简单替换变量值提供直接的支持。 但是通过使用字符串的 format() 方法来解决这个问题。比如: >>> s = '{name} has {n} messages.' >>> s.format(name='Guido', n=37) 'Guido has 37...

    字符串中插入变量

    Python并没有对在字符串中简单替换变量值提供直接的支持。 但是通过使用字符串的 format() 方法来解决这个问题。比如:

    >>> s = '{name} has {n} messages.'
    >>> s.format(name='Guido', n=37)
    'Guido has 37 messages.'
    >>>
    

    或者,如果要被替换的变量能在变量域中找到, 那么你可以结合使用 format_map() 和 vars() 。就像下面这样:

    >>> name = 'Guido'
    >>> n = 37
    >>> s.format_map(vars())
    'Guido has 37 messages.'
    >>>
    

    vars() 还有一个有意思的特性就是它也适用于对象实例。比如:

    >>> class Info:
    ...     def __init__(self, name, n):
    ...         self.name = name
    ...         self.n = n
    ...
    >>> a = Info('Guido',37)
    >>> s.format_map(vars(a))
    'Guido has 37 messages.'
    >>>
    

    format 和 format_map() 的一个缺陷就是它们并不能很好的处理变量缺失的情况,比如:

    >>> s.format(name='Guido')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: 'n'
    >>>
    

    一种避免这种错误的方法是另外定义一个含有 __missing__() 方法的字典对象,就像下面这样:

    class SafeSub(dict):
    """防止key找不到"""
    def __missing__(self, key):
        return '{' + key + '}'
    

    现在你可以利用这个类包装输入后传递给 format_map() :

    >>> del n # Make sure n is undefined
    >>> s.format_map(safesub(vars()))
    'Guido has {n} messages.'
    >>>
    

    如果你发现自己在代码中频繁的执行这些步骤,你可以将变量替换步骤用一个工具函数封装起来。就像下面这样:

    import sys
    
    def sub(text):
        return text.format_map(safesub(sys._getframe(1).f_locals))
    

    现在你可以像下面这样写了:

    >>> name = 'Guido'
    >>> n = 37
    >>> print(sub('Hello {name}'))
    Hello Guido
    >>> print(sub('You have {n} messages.'))
    You have 37 messages.
    >>> print(sub('Your favorite color is {color}'))
    Your favorite color is {color}
    >>>
    

    讨论

    多年以来由于Python缺乏对变量替换的内置支持而导致了各种不同的解决方案。 作为本节中展示的一个可能的解决方案,你可以有时候会看到像下面这样的字符串格式化代码:

    >>> name = 'Guido'
    >>> n = 37
    >>> '%(name) has %(n) messages.' % vars()
    'Guido has 37 messages.'
    >>>
    

    你可能还会看到字符串模板的使用:

    >>> import string
    >>> s = string.Template('$name has $n messages.')
    >>> s.substitute(vars())
    'Guido has 37 messages.'
    >>>
    

    然而,format() 和 format_map() 相比较上面这些方案而已更加先进,因此应该被优先选择。 使用format() 方法还有一个好处就是你可以获得对字符串格式化的所有支持(对齐,填充,数字格式化等待), 而这些特性是使用像模板字符串之类的方案不可能获得的。

    本机还部分介绍了一些高级特性。映射或者字典类中鲜为人知的 __missing__() 方法可以让你定义如何处理缺失的值。 在SafeSub类中,这个方法被定义为对缺失的值返回一个占位符。 你可以发现缺失的值会出现在结果字符串中(在调试的时候可能很有用),而不是产生一个KeyError异常。

    sub() 函数使用 sys._getframe(1) 返回调用者的栈帧。可以从中访问属性 f_locals 来获得局部变量。 毫无疑问绝大部分情况下在代码中去直接操作栈帧应该是不推荐的。 但是,对于像字符串替换工具函数而言它是非常有用的。 另外,值得注意的是 f_locals 是一个复制调用函数的本地变量的字典。 尽管你可以改变 f_locals 的内容,但是这个修改对于后面的变量访问没有任何影响。 所以,虽说访问一个帧栈看上去很邪恶,但是对它的任何操作不会覆盖和改变调用者本地变量的值。


    http://python3-cookbook.readthedocs.org/zh_CN/latest/c02/p15_interpolating_variables_in_strings.html

    展开全文
  • python字符串变量赋值

    千次阅读 2019-03-18 14:52:16
    多个变量赋值 Python允许你同时为多个变量赋值。例如: a, b, c = 1, 2, "john" print a,b,c ... String(字符串) List(列表) Tuple(元组) Dictionary(字典) Python数字 ...

    多个变量赋值

    Python允许你同时为多个变量赋值。例如:

    a, b, c = 1, 2, "john"
    print a,b,c

    标准数据类型

    在内存中存储的数据可以有多种类型。

    Python 定义了一些标准类型,用于存储各种类型的数据。

    • Numbers(数字)
    • String(字符串)
    • List(列表)
    • Tuple(元组)
    • Dictionary(字典)

    Python数字

    数字数据类型用于存储数值。

    当你指定一个值时,Number对象就会被创建:

    var1 = 1

    您也可以使用del语句删除一些对象的引用。

    del语句的语法是:

    del var1[,var2[,var3[....,varN]]]]

    您可以通过使用del语句删除单个或多个对象的引用。例如:

    del var
    del var_a, var_b

    Python支持四种不同的数字类型:

    • int(有符号整型)
    • long(长整型[也可以代表八进制和十六进制])
    • float(浮点型)
    • complex(复数)

    实例

    一些数值类型的实例:

    int long float complex
    10 51924361L 0.0 3.14j

     

    Python字符串

    字符串或串(String)是由数字、字母、下划线组成的一串字符。

    python的字串列表有2种取值顺序:

    • 从左到右索引默认0开始的,最大范围是字符串长度少1
    • 从右到左索引默认-1开始的,最大范围是字符串开头
    • 加号(+)是字符串连接运算符,星号(*)是重复操作

    字符串截取

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    str = 'Hello World!'
    
    print str  # 输出完整字符串
    print str[1:-1]  # 输出字符串中的第二个至倒数第二个之间的字符串
    print str[1:-1:2]   #从字符串中的第二个开始,步长为 2(每隔1个字符)输出,至倒数第二个字符串
    print str[-3:-1]  # 输出字符串中的倒数第三个至倒数第一个之间的字符串
    print str[0:5]  # 输出字符串中第一个至第五个之间的字符串
    print str[2:]  # 输出从第三个字符开始的字符串
    print str * 2  # 输出字符串两次
    print str + "TEST"  # 输出连接的字符串

    Python列表

    List(列表) 是 Python 中使用最频繁的数据类型。

    列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。

    列表用 [ ] 标识,是 python 最通用的复合数据类型。

    列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    list = ['runoob', 786, 2.23, 'john', 70.2]
    tinylist = [123, 'john']
    
    print list  # 输出完整列表
    print list[0]  # 输出列表的第一个元素
    print list[1:3]  # 输出第二个至第三个元素
    print list[1:-1:2]  # 输出第二个至倒数第二个之间元素,步长为2
    print list[2:]  # 输出从第三个开始至列表末尾的所有元素
    print tinylist * 2  # 输出列表两次
    print list + tinylist  # 打印组合的列表

    Python 元组

    元组是另一个数据类型,类似于 List(列表)。

    元组用 () 标识。内部元素用逗号隔开。

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
    tinytuple = (123, 'john')
     
    print tuple               # 输出完整元组
    print tuple[0]            # 输出元组的第一个元素
    print tuple[1:3]          # 输出第二个至第三个的元素 
    print tuple[2:]           # 输出从第三个开始至列表末尾的所有元素
    print tinytuple * 2       # 输出元组两次
    print tuple + tinytuple   # 打印组合的元组

    元组不能二次赋值,相当于只读列表。

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    tuple = ('runoob', 786, 2.23, 'john', 70.2)
    tinytuple = (123, 'john')
    tuple[2] = 1000    # 元组中是非法应用

    Python 字典

    字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。

    两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    dict = {}
    dict['one'] = "This is one"
    dict[2] = "This is two"
    dict['wzza'] = "my name is wzz"
    tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}
    
    print dict['one']  # 输出键为'one' 的值
    print dict['wzza']  # 输出键为 'wzza' 的值
    print tinydict  # 输出完整的字典
    print tinydict.keys()  # 输出所有键
    print tinydict.values()  # 输出所有值

    Python数据类型转换

    有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

    以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

    函数 描述

    int(x [,base])

    将x转换为一个整数

    long(x [,base] )

    将x转换为一个长整数

    float(x)

    将x转换到一个浮点数

    complex(real [,imag])

    创建一个复数

    str(x)

    将对象 x 转换为字符串

    repr(x)

    将对象 x 转换为表达式字符串

    eval(str)

    用来计算在字符串中的有效Python表达式,并返回一个对象

    tuple(s)

    将序列 s 转换为一个元组

    list(s)

    将序列 s 转换为一个列表

    set(s)

    转换为可变集合

    dict(d)

    创建一个字典。d 必须是一个序列 (key,value)元组。

    frozenset(s)

    转换为不可变集合

    chr(x)

    将一个整数转换为一个字符

    unichr(x)

    将一个整数转换为Unicode字符

    ord(x)

    将一个字符转换为它的整数值

    hex(x)

    将一个整数转换为一个十六进制字符串

    oct(x)

    将一个整数转换为一个八进制字符串

     

    数据类型

    python 的所有数据类型都是类,可以通过 type() 查看该变量的数据类型,此外还可以用 isinstance 来判断:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    n = 1
    print type(n)
    n = "runoob"
    print type(n)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    a = 111
    print isinstance(a, int)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    class A:
        pass
    class B(A):
        pass
    print isinstance(A(), A)
    print type(A()) == A
    print isinstance(B(), A)
    print type(B()) == A

    •  type()不会认为子类是一种父类类型。
    •  isinstance()会认为子类是一种父类类型。

    总结

    变量赋值

    a = 1
    b = "god"

    字符串赋值

    str = 'this is string 1'

    列表串赋值

    list = ['this', 'is', 'list', 2]

    元组赋值

    tuple = ('this', 'is', 'tuple', 3)

    字典赋值

    dict = {1:'this', 2:'is', 3:'dictionary', 4:4}
    
    展开全文
  • python 字符串变量连接

    万次阅读 2015-09-30 15:33:55
    python变量字符串的连接 字符串中加含变量,一定要内外包围相同。 如下输出: table='abc' str1='select * from '+table+'' str2="select * from "+table+"" str3='select * from "'+table+'"' str4=...
  • Python字符串引用变量

    千次阅读 2020-08-03 10:51:46
    Python字符串引用变量字符串中加入变量有三种方法: 1、+ 连字符 name = ‘zhangsan’ print('my name is '+name) #结果为 my name is zhangsan 2、% 字符 name = ‘zhangsan’ age = 25 price = 4500.225 ...
  • Python 字符串中插入变量

    千次阅读 2019-06-25 11:17:07
    Python并没有对在字符串中简单替换变量值提供直接的支持。 但是通过使用字符串的 format() 方法来解决这个问题。比如: >>> s = '{name} has {n} messages.' >>> s.format(name='Guido', n=37) '...
  • Python字符串中增加变量–format方法 value = 10 string = 'test' # {0}:表示第一个变量 # {1}:表示第二个变量 # 一次类推 value = 'lewis {0} {1}'.format(value, string) #不加数字,就是顺序匹配 value = '...
  • Python字符串String和变量 Variable

    千次阅读 2018-03-21 10:23:15
    Python基础知识
  • 1、使用字符串指代变量名。 比如说,有两个变量 a="bbb"和bbb={“c”:1},引用a如何得到{“c”:1},也就是a的值’bbb’所代表的变量bbb的值。 google了下,查到http://www.douban.com/group/topic/2193745/上的以下...
  • 这是由于类型不对,而导致的... 2 这是由于 ,在 python中 +号是针对两个类型相同的变量,而在上的语句中,python不知道 b这个变量的类型二导致的错误(这一点和java很不一样),用下面的语句可以解决  3 ‘a’+str(b)
  • Python字符串中增加变量–%方式(格式化输出) value = 10 string = 'test' # 格式化输出int和str int_value = 'lewis is %d' % value str_value = 'lewis is %s' % string # 匹配多种变量 int_str_value = 'lewis...
  • 这个过程中我们通常通过字符串来处理这些变量名,处理完后我们又会需要将其转回变量名,那么应该怎么来进行操作? 实现方法: 目前已知有以下方法可以实现"字符串变量名"的方法: eval() exec() locals() globals...
  • Python字符串变量拼接的写法

    万次阅读 2019-09-13 13:05:25
    也就是 字符串+变量+字符串 想着改变后缀就能批量爬图。但是原本的想法是错误的 for num in range(2,8): url="http://www.win4000.com/wallpaper_detail_160877_"+num+".html" print(url) 不能像php(....
  • Python 字符串

    千次阅读 2016-09-10 18:36:04
    创建字符串很简单,只要为变量分配一个值即可。例如:var1 = 'Hello World!' var2 = "Python Runoob"Python访问字符串中的值Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。Python访问子字符串,...
  • python字符串中插入变量的三种方法

    万次阅读 2018-10-10 19:47:56
    + 直接字符串外+变量 name = 'zheng' print('my name is '+name) 结果: my name is zheng 2 . % 直接字符串外%(变量) name = 'zhang' age = '25' print('my name is %s'%(name)+' my age is %d'%(age)) 3.format...
  • python 字符串

    万次阅读 2018-11-09 16:03:18
    创建字符串很简单,只要为变量分配一个值即可。例如: var1 = 'Hello World!' var2 = "Runoob" Python 访问字符串中的值 Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。 ...
  • python检测字符串变量名是否合法

    千次阅读 2018-09-28 23:40:39
    直接继承字符串类 ''' 检测字符是否合法 ''' class String(str): illegal = {'and': 1, 'elif': 1, 'import': 1, 'return': 1,'as': 1, 'else': 1, 'in': 1, 'try': 1,'assert': 1, 'except': 1, 'is': 1, 'whi....
  • Python字符串数组 不可以直接定义类似数组这样的变量来存放字符串,但可以用列表,利用.append()函数循环添加字符串 如: b = ‘abc’ d = ‘def’ a = [] # 定义空列表 a.append(b) # a = [‘abc’] a.append(d) # ...
  • python里将字符串作为变量

    万次阅读 2018-05-16 11:34:10
    快速注册 python里如何将字符串作为变量名? python培训 2015-11-09 11:57:21 &gt;&gt;&gt; s = “jeape...
  • Python中将字符串变为变量名的方法

    千次阅读 2020-11-15 21:09:07
    使用eval 假设我们想要循环遍历data1,data2…data5,我们可以使用下面的方法。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 289,262
精华内容 115,704
关键字:

python字符串引用变量

python 订阅