您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

5b51 2022/1/14 8:18:58 python 字数 3793 阅读 370 来源 www.jb51.cc/python

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

概述

在编写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','') 
    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变量不能以数字打头详解所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶