精华内容
下载资源
问答
  • 2、在绑定变量时,出现变量名和SQL保留字相同的情况。   解决方法: 一般出现这种问题,都是由于SQL语句写得有问题,先要确认你的SQL语句没有漏掉“,”,然后是检查你的SQL语句中有没有SQL的保留字,最后检查你的...

    造成错误的原因有以下几种:

    1、在sql语句中少了‘,’分隔符。

    2、在绑定变量时,出现变量名和SQL保留字相同的情况。

     

    解决方法:

    一般出现这种问题,都是由于SQL语句写得有问题,先要确认你的SQL语句没有漏掉“,”,然后是检查你的SQL语句中有没有SQL的保留字,最后检查你的函数写的是否正确。

    展开全文
  • Python 动态变量名定义与调用方法

    千次阅读 2020-02-25 09:59:44
    这篇文章主要介绍了Python 动态变量名定义与调用方法,需要的朋友可以参考下 动态变量名赋值 在使用 tkinter 时需要动态生成变量,如动态生成 var1…var10 变量。 使用 exec 动态赋值 exec 在 python3 中是内置函数,...

    这篇文章主要介绍了Python 动态变量名定义与调用方法,需要的朋友可以参考下
    动态变量名赋值
    在使用 tkinter 时需要动态生成变量,如动态生成 var1…var10 变量。

    使用 exec 动态赋值

    exec 在 python3 中是内置函数,它支持 python 代码的动态执行。

    示例:

    In [1]: for i in range(5):
      ...:   exec('var{} = {}'.format(i, i))
      ...:
     
    In [2]: print(var0, var1, var2, var3 ,var4)
    0 1 2 3 4
    

    利用命名空间动态赋值

    在Python的命名空间中,将变量名与值存储在字典中,
    可以通过locals(),globals()函数分别获取局部命名空间和全局命名空间。

    示例

    >>> names = locals()
    >>> for i in range(5):
    ...   names['n' + str(i) ] = i
    ...
    >>> print(n0, n1, n2, n3, n4)
    0 1 2 3 4
    >>>
    

    在类中使用动态变量

    Python 的类对象的属性储存在的 dict 中。dict 是一个词典,键为属性名,值对应属性的值。

    示例

    >>> print(n0, n1, n2, n3, n4)
    0 1 2 3 4
    >>> class Test_class(object):
    ...   def __init__(self):
    ...     names = self.__dict__
    ...     for i in range(5):
    ...       names['n' + str(i)] = i
    ...
    >>> t = Test_class()
    >>> print(t.n0, t.n1, t.n2, t.n3, t.n4)
    0 1 2 3 4
    

    调用动态变量

    事实上,对于重复性的变量,我们一般不会这样调用变量,如:var0, var1, var2, var3 ,var4…varN,可以利用下面方法动态调用变量。

    先定义如下变量:

    示例

    >>> for i in range(5):
    ...   exec('var{} = {}'.format(i, i))
    ...
    >>> print(var0, var1, var2, var3 ,var4)
    0 1 2 3 4
    

    利用 exec 函数

    同样地,可以使用 exec 调用变量

    In [3]: for i in range(5):
      ...:   exec('print(var{}, end=" ")'.format(i))
      ...:
    0 1 2 3 4
    

    利用命名空间

    因为命令空间的locals()与globals()均会返回一个字典,利用字典的get方法获取变量的值

    In [4]: names = locals()
     
    In [5]: for i in range(5):
      ...:  print(names.get('var' + str(i)), end=' ')
      ...:
    0 1 2 3 4
    

    下面是其他网友的补充

    Python 定义动态变量

    问题描述

    在做数据处理时,对一些分组得来的数据,所做的操作大同小异,变量的命名也都拥有相同的结构,比如对每个月份的数据求均值、方差等统计量,变量的命名可取为“n月的均值”,“n月的方差”,抽象出来就是“n月的 ‘m统计量’ ”

    在编程实现的时候,对上述变量的定义以及引用,都可以一同实现,从而减少了重复代码的数量

    实现的时候遇到了动态定义变量的问题,这里总结一下

    利用 exec 动态定义变量

    我们可以如此动态定义变量

    for n in range(1, 13):
       exec('month_{} = {}'.format(n, value or expression))
    

    一般这种语句都可以正确定义变量,但有时上述语句会出错,比如后方传入的expression返回一个 DataFrameGroupBy 类变量时,会出现语法错误

    File "<string>", line 1
        month_12 = <pandas.core.groupby.generic.DataFrameGroupBy object at 0x000001F40E46E160>
                   ^
    SyntaxError: invalid syntax
    

    原因未明…经过搜索,我发现还有另一种定义方法,可以解决上述问题

    for n in range(1, 13):
       exec('month_{} = temp'.format(n), {'temp': expression})
    

    这种方法有两个问题:

    1、利用format替换的部分需在变量名的最后方,例 month_{} ,方可执行成功,而 {}_month 便不可行,原因待查…还请各位同学指点!在这里插入图片描述
      2、这种方法定义的变量,只在 exec 中有效,在 exec 语句外便无效,这或许是因为python将 exec 中复杂的指令当做了局部变量,可以在利用以下语句检验

    for n in range(1, 13):
       exec('month_{} = temp\nprint(locals()==globals())'.format(n), {'temp': expression})
    

    其中locals()与globals()是python的内部方法,它们提供了基于字典的访问局部与全局变量的方式。

    如果返回 True ,说明当前环境处于全局级别,在 exec 中的语句可以在 exec 外生效

    如果返回 False ,说明当期环境处于局部级别,定义的变量被看做局部变量,所以不能在 exec 外调用,可以在语句中传入globals()使其在全局生效

    for n in range(1, 13):
       exec('month_{} = temp'.format(n), {'temp': expression}, globals())
    

    exec 方式太容易混乱,还有另外一种动态定义变量的方法,便是上文提到的globals()与locals()方法

    利用命名空间动态定义变量

    首先创建locals()的副本
    在这里插入图片描述
    对于上文提到的变量便可如此定义

    for n in range(1, 13):
      varDict['month_'+str(n)] = value or expression
    

    这种方法创建的变量不会出现第一种方法中语法错误与变量作用域的错误,推荐!

    推荐我们的python学习基地,点击进入,看老程序是如何学习的!从基础的python脚本、爬虫、django、数据挖掘等编程技术,工作经验,还有前辈精心为学习python的小伙伴整理零基础到项目实战的资料,!每天都有程序员定时讲解Python技术,分享一些学习的方法和需要留意的小细节

    展开全文
  • 动态变量名赋值 在使用 tkinter 时需要动态生成变量,如动态生成 var1…var10 变量。 使用 exec 动态赋值 exec 在 python3 中是内置函数,它支持 python 代码的动态执行。 示例: In [1]: for i in range(5): ...: ...

    动态变量名赋值
    在使用 tkinter 时需要动态生成变量,如动态生成 var1…var10 变量。

    使用 exec 动态赋值

    exec 在 python3 中是内置函数,它支持 python 代码的动态执行。

    示例:

    In [1]: for i in range(5):
      ...:   exec('var{} = {}'.format(i, i))
      ...:
     
    In [2]: print(var0, var1, var2, var3 ,var4)
    0 1 2 3 4
    

    利用命名空间动态赋值

    在Python的命名空间中,将变量名与值存储在字典中,
    可以通过locals(),globals()函数分别获取局部命名空间和全局命名空间。

    示例

    >>> names = locals()
    >>> for i in range(5):
    ...   names['n' + str(i) ] = i
    ...
    >>> print(n0, n1, n2, n3, n4)
    0 1 2 3 4
    >>>
    

    在类中使用动态变量

    Python 的类对象的属性储存在的 dict 中。dict 是一个词典,键为属性名,值对应属性的值。

    示例

    >>> print(n0, n1, n2, n3, n4)
    0 1 2 3 4
    >>> class Test_class(object):
    ...   def __init__(self):
    ...     names = self.__dict__
    ...     for i in range(5):
    ...       names['n' + str(i)] = i
    ...
    >>> t = Test_class()
    >>> print(t.n0, t.n1, t.n2, t.n3, t.n4)
    0 1 2 3 4
    

    调用动态变量

    事实上,对于重复性的变量,我们一般不会这样调用变量,如:var0, var1, var2, var3 ,var4…varN,可以利用下面方法动态调用变量。

    先定义如下变量:

    示例

    >>> for i in range(5):
    ...   exec('var{} = {}'.format(i, i))
    ...
    >>> print(var0, var1, var2, var3 ,var4)
    0 1 2 3 4
    

    利用 exec 函数

    同样地,可以使用 exec 调用变量In

     [3]: for i in range(5):
      ...:   exec('print(var{}, end=" ")'.format(i))
      ...:
    0 1 2 3 4
    

    利用命名空间

    因为命令空间的locals()与globals()均会返回一个字典,利用字典的get方法获取变量的值

    In [4]: names = locals()
     
    In [5]: for i in range(5):
      ...:  print(names.get('var' + str(i)), end=' ')
      ...:
    0 1 2 3 4
    

    下面是其他网友的补充

    Python 定义动态变量

    问题描述

    在做数据处理时,对一些分组得来的数据,所做的操作大同小异,变量的命名也都拥有相同的结构,比如对每个月份的数据求均值、方差等统计量,变量的命名可取为“n月的均值”,“n月的方差”,抽象出来就是“n月的 ‘m统计量’ ”

    在编程实现的时候,对上述变量的定义以及引用,都可以一同实现,从而减少了重复代码的数量

    实现的时候遇到了动态定义变量的问题,这里总结一下

    利用 exec 动态定义变量

    我们可以如此动态定义变量

    for n in range(1, 13):
       exec('month_{} = {}'.format(n, value or expression))
    

    一般这种语句都可以正确定义变量,但有时上述语句会出错,比如后方传入的expression返回一个 DataFrameGroupBy 类变量时,会出现语法错误

     File "<string>", line 1
        month_12 = <pandas.core.groupby.generic.DataFrameGroupBy object at 0x000001F40E46E160>
                   ^
    SyntaxError: invalid syntax
    

    原因未明…经过搜索,我发现还有另一种定义方法,可以解决上述问题

    for n in range(1, 13):
       exec('month_{} = temp'.format(n), {'temp': expression})
    

    这种方法有两个问题:

    1、利用format替换的部分需在变量名的最后方,例 month_{} ,方可执行成功,而 {}_month 便不可行,原因待查…还请各位同学指点!

    File “”, line 1
    12_month = temp
    ^
    SyntaxError: invalid token

    2、这种方法定义的变量,只在 exec 中有效,在 exec 语句外便无效,这或许是因为python将 exec 中复杂的指令当做了局部变量,可以在利用以下语句检验

    for n in range(1, 13):
       exec('month_{} = temp\nprint(locals()==globals())'.format(n), {'temp': expression})
    

    其中locals()与globals()是python的内部方法,它们提供了基于字典的访问局部与全局变量的方式。

    如果返回 True ,说明当前环境处于全局级别,在 exec 中的语句可以在 exec 外生效

    如果返回 False ,说明当期环境处于局部级别,定义的变量被看做局部变量,所以不能在 exec 外调用,可以在语句中传入globals()使其在全局生效

    for n in range(1, 13):
       exec('month_{} = temp'.format(n), {'temp': expression}, globals())
    

    exec 方式太容易混乱,还有另外一种动态定义变量的方法,便是上文提到的globals()与locals()方法

    利用命名空间动态定义变量

    首先创建locals()的副本

    varDict = locals()

    对于上文提到的变量便可如此定义

    for n in range(1, 13):
      varDict['month_'+str(n)] = value or expression
    

    非常感谢你的阅读
    大学的时候选择了自学python,工作了发现吃了计算机基础不好的亏,学历不行这是
    没办法的事,只能后天弥补,于是在编码之外开启了自己的逆袭之路,不断的学习python核心知识,深入的研习计算机基础知识,整理好了,如果你也不甘平庸,那就与我一起在编码之外,不断成长吧!
    其实这里不仅有技术,更有那些技术之外的东西,比如,如何做一个精致的程序员,而不是“屌丝”,程序员本身就是高贵的一种存在啊,难道不是吗?[点击加入]想做你自己想成为高尚人,加油!
    @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府

    展开全文
  • # 替换某些变量名中的 某部分 字符串 def re_columns(dt, substr, newstr, ls): """ Parameters ---------- dt : datasets substr : str string that will be replaced. newstr : str string that will replace ...
    # 替换某些变量名中的 某部分 字符串
    def re_columns(dt, substr, newstr, ls):
        """   
        Parameters
        ----------
            dt : datasets
        substr : str
                 string that will be replaced.
        newstr : str
                 string that will replace substr.        
            ls : list
                 the column index in the datasets, like [0, 1, 3].
        """
        dt.columns = dt.columns.map(lambda x: x.replace(substr, newstr))
        #dt.iloc[:, ls] = dt.iloc[:, ls].astype(str) # 转换变量的数据类型
        return dt
    
    
    # 读取多个同类型文件,并合并;文件名有相同的前缀或后缀等,便于glob自动识别文件名,过滤无效文件名
    import glob
    NewFile = pd.DataFrame()
    
    # 文件名以 DailyReport 开始
    for file_r in glob.glob("DailyReport*.csv"):
        data_r = pd.read_csv(file_r)
        # 更改列名,使用到上述自定义函数re_columns,如不需要可注释
        data_r = re_columns(data_r, 'str1', 'newstr1', [0,1,2,3]) 
        data_r = re_columns(data_r, 'str2', 'newstr2', [0,1,2,3]) # 更改列名
        NewFile = NewFile.append(data_r)

     

    展开全文
  • Shell 变量

    千次阅读 2016-08-29 21:17:36
    同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z)。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash里的关键字(可用help命令查看保留关键字)。 除了显式地直接赋值,...
  • 数据库字段:Content 字段类型:CLOB 框架:Struct1.2+Hibernate3.1+Spring2.5 应用服务器:Tomcat6.0 原因:当在文本框内输入内容大于1000~2000时就出现以下异常情况。 异常问题: nested exception is ...
  • Python 变量类型

    千次阅读 2016-09-09 22:43:18
    概述变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储...
  • 之前在项目的存储过程中发现有通过 `DECLARE` 关键字定义的变量如`DECLARE cnt INT DEFAULT 0;`,还有形如 `@count` 这样的变量,存储过程中拿过来直接就进行设置,像这样`set @count=1;`,这两种类型的变量究竟有...
  • shell脚本变量

    千次阅读 2018-07-29 22:01:40
    1、创建一个变量输出 声名变量:不需要你指定类型,不能使用关键字。...创建时只需要变量名=值 即可 清除变量: unset 变量名。再使用时=该变量时,该变量无效。 在本机1这个进程里面定义的变量...
  • R语言 变量

    千次阅读 2018-03-26 10:26:34
    变量为我们提供了我们的程序可以... 变量名以字母或不以数字后跟的点开头。 变量名 合法性 原因 var_name2. 有效 有字母,数字,点和下划线 VAR_NAME% 无效 有字符’%’。只有点(.)和下划线允...
  • 变量命名规范

    万次阅读 多人点赞 2016-05-25 08:07:14
    1. 驼峰命名法1.1 小驼峰法 除第一个单词之外,其他单词首字母大写(常用于变量) int myStudentNumber ... 变量名=属性+类型+对象描述,这样做的好处是使程序员第一眼看到变量时就对变量的类型和其它属性有直观
  • C语言 常量、变量

    千次阅读 2016-01-11 09:31:52
    当我们要修改变量的数据时,系统会根据变量名找到变量对应的存储空间,将存储空间里面的数据改掉。   3> 定义 总结可得,定义变量需要2个条件:变量类型、变量名。定义变量的格式为: 变量类型 变量名; ...
  • 按照教程,第一步先安装Erlang,再安装RabbitMQ-Server。(傻瓜安装,一直按照提示下一步就行。) ... 文件名、目录或卷标语法不正确 原因是:erlang 要求电脑名称不能有 中文。 解决办法: 1....
  • 这并不像 C 的指针,它们是符号...最接近的比喻是 Unix 的文件名和文件本身 - 变量名是目录条目,而变量内容则是文件本身。引用可以被看作是 Unix 文件系统中的紧密连接。 PHP 的引用允许你用两个变量来指向同一个
  • 1.2PHP变量

    千次阅读 2017-12-14 00:24:58
    1、变量声明 2、变量命名 3、可变变量 4、变量的引用赋值 5、变量的类型
  • Shell教程(二):变量、特殊变量

    千次阅读 2015-12-10 13:46:38
    变量名: 变量的名称可以包含只有字母(a到z或A到Z),数字(0〜9)或下划线(_)。 按照惯例,UNIX的shell变量将有自己的名称以大写字母。 下面的例子是有效的变量名: _ALI TOKEN_A VAR
  • 全局变量与局部变量

    千次阅读 2019-03-18 22:22:57
    全局变量与局部变量的区别。
  • smarty变量

    千次阅读 2012-07-26 10:39:43
    1、$template_dir [模板目录变量] 该变量定义默认模板目录的名字。当包含文件时,如果不提供一个源类型(即源地址),那么将会到模板目录中寻找。默认情况下,目录是:“./templates”,也就是说他将会在和php...
  • R语言入门-变量

    2018-09-15 21:08:20
    变量 变量为我们提供了我们的... 变量名以字母或不以数字后跟的点开头。 变量名 合法性 原因 var_name2. 有效 有字母,数字,点和下划线 VAR_NAME% 无效 有字符'%'。只有点(.)和下划线允...
  • 1.电脑是64位,操作系统win0 2.下载的是mongodb3.4版本 ...4.安装完成,添加路径D:\Mongodb\bin到系统变量,重启机器让其生效 5.mongod.exe --dbpath "C:\Program Files\MongoDB\data\db" --logpath "C:\Program
  • 环境变量和shell变量

    千次阅读 2009-06-02 16:52:00
    这个值只在当前用户生命期有意义,如果在shell启动另一个进程或退出,此值将无效.使用变量时,如果用花括号将之括起来,可以防止shell 误解变量值.要设置一本地变量,格式为:$variable-name=value ${variable-name=value}...
  • ahk变量与内置变量

    千次阅读 2017-02-09 10:14:35
    变量 变量的类型: AutoHotkey 中没有明确的变量类型. 然而, 只包含数字 (可以含有小数点) 的变量进行数学运算或比较时, 会被自动转换为数值. (为了提高性能, 在内部会对数字进行缓存以避免与字符串之间的转换.)...
  • Linux中shell变量说明

    千次阅读 2015-08-11 12:24:04
    shell变量可以保存诸如路径名、文件名或者一个数字这样的变量名。shell将其中任何设置都看做文本字符串。 有两种变量,本地和环境。严格地说可以有4种,但其余两种是只读的,可以认为是特殊变量,它用
  • 在不同的作用域中,同名的变量不会相互干涉,就好像 A 班有个叫小明的同学,B 班也有个叫小明的同学,虽然他们都叫小明(对应于变量名),但是由于所在的班级(对应于作用域)不同,所以不会造成混乱。但是如果同一...
  • PHP在变量前面加&是什么意思

    千次阅读 2019-01-17 10:50:55
    //表示$b 和 $a 引用了同一个变量 $a = 'abc' ; //这里重置了$a echo $b ; //将输出abc unset( $a ); //取消引用 echo $b ; //这里仍输出 abc $a = 'abcd' ; echo $b ; //因为已经取消引用 这里仍输出abc .....
  • shell的本地变量和环境变量

    千次阅读 2015-09-24 16:08:31
    shell变量可以保存诸如路径名、文件名或者一个数字这样的变量名。shell将其中任何设置都看做文本字符串。 有两种变量,本地和环境。严格地说可以有4种,但其余两种是只读的,可以认为是特殊变量,它用于向shell脚本...
  • 变量有效性的范围称变量的作用域。C语言中所有的量都有自己的作用域。变量说明的方式不同,其作用域也不同。C语言中的变量,按作用域范围可分为两种,即局部变量和全局变量。 局部变量局部变量也称为内部变量。局部...
  • ES6的变量声明

    千次阅读 2017-01-08 21:00:21
    在ES5中,变量声明只有var和function以及隐式声明三种,在ES6中则增加了let,const,import和class四种,以下来介绍着七种变量的声明。 var ES5中最原始的变量声明,用于声明变量,其实JavaScript是弱类型...
  • Oracle变量定义的方法

    千次阅读 2018-05-07 14:25:54
    通过define定义host变量的时候必须指定变量名和变量的值,如果变量名已经存在于host变量中,则自动覆盖,这个值不可以指定类型,一律按char存储。 DEFINE 变量只在当前session环境中有效。(1).语法:define ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 85,145
精华内容 34,058
关键字:

以下变量名无效的是