python变量不能以数字打头详解

yipeiwu_com6年前Python基础

在编写python函数时,无意中发现一个问题:python中的变量不能以数字打头,以下函数中定义了一个变量3_num_varchar,执行时报错。

函数如下:

def database_feild_varchar_trans(in_feild):
  '''
  transfer the feild if varchar then 3times lang else no transfer
  '''
  feild_split = in_feild.split(' ')
  is_varchar = feild_split[1].find('VARCHAR')
  if is_varchar >= 0 :
    num_varchar = feild_split[1].replace('VARCHAR','').replace('(','').replace(')','') 
    print (num_varchar)
    3_num_varchar = num_varchar*3
    feild_split[1] = feild_split[1].replace(str(num_varchar),str(3_num_varchar))
    return feild_split
  else:
    print ('The feild type is not varchar')
    return feild_split

报错信息如下:

>>> runfile('E:/procedure/python/projects/others/table_test.py', wdir='E:/procedure/python/projects/others')
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "D:\Python33\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 699, in runfile
  execfile(filename, namespace)
 File "D:\Python33\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 88, in execfile
  exec(compile(open(filename, 'rb').read(), filename, 'exec'), namespace)
 File "E:/procedure/python/projects/others/table_test.py", line 20
  3_num_varchar = int(num_varchar)*3
        ^
SyntaxError: invalid syntax

将变量3_num_varchar改为num_varchar_3,运行成功,程序改为如下:

import os
import sys
str1='aaa varchar(10)'

def database_feild_varchar_trans(in_feild):
  '''
  transfer the feild if varchar then 3times lang else no transfer
  '''
  feild_split = in_feild.split(' ')
  is_varchar = feild_split[1].find('VARCHAR')
  if is_varchar >= 0 :
    num_varchar = feild_split[1].replace('VARCHAR','').replace('(','').replace(')','') 
    print (num_varchar)
    num_varchar_3 = num_varchar*3
    feild_split[1] = feild_split[1].replace(str(num_varchar),str(num_varchar_3))
    return feild_split
  else:
    print ('The feild type is not varchar')
    return feild_split

print (database_feild_varchar_trans(str1))

运行结果:

>>> runfile('E:/procedure/python/projects/others/table_test.py', wdir='E:/procedure/python/projects/others')
The feild type is not varchar
['aaa', 'varchar(10)']

以上这篇python变量不能以数字打头详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python六大开源框架对比

Python六大开源框架对比

Python 是一门动态、面向对象语言。其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性。除了语言本身的设计目的之外,Python标准 库也是值得大家称赞的,Py...

python开发之for循环操作实例详解

本文实例讲述了python开发之for循环操作。分享给大家供大家参考,具体如下: 下面是我做的一些学习记录供大家参考: #基本的for循环语句 test_list = [2,"Jon...

各个系统下的Python解释器相关安装方法

Python下载 Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到: Python官网:http://www.python.org/ 你可以在一下链接中下载Py...

使用python判断你是青少年还是老年人

今天来给大家讲讲python中最基本的 if 条件语句,这几乎是所有编程语言中都存在的语句,只是语法结构稍有不同。 程序之所以能自动处理很多的事情,if条件语句在这里...

几个适合python初学者的简单小程序,看完受益匪浅!(推荐)

几个适合python初学者的简单小程序,看完受益匪浅!(推荐)

我们在刚刚开始学习python的时候,基础部分很重要,常常要告诫自己不要好高骛远,把基础打好才是重中之重。 在写程序之前应我们要注意一个知识点: 结果是这样: 当我们使它们缩进一...