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

yipeiwu_com5年前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的Flask开发框架简单上手笔记

最简单的hello world #!/usr/bin/env python # encoding: utf-8 from flask import Flask app = Fla...

详解python实现线程安全的单例模式

单例模式是一种常见的设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,服务器的配置信息写在一个文件中...

django query模块

最近在接触一个Django项目,使用的是fbv( function-base views )模式,看起来特别不舒服,项目中有一个模型类117个字段,看我的有点晕,不过还是得干呀,生活呀,...

python算法与数据结构之冒泡排序实例详解

python算法与数据结构之冒泡排序实例详解

一、冒泡排序介绍   冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地...

python模块导入的方法

模块在python编程中的地位举足轻重,熟练运用模块可以大大减少代码量,以最少的代码实现复杂的功能。 下面介绍一下在python编程中如何导入模块: (1)import 模块名:直接导入...