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语言描述连续子数组的最大和

题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。...

python中global用法实例分析

本文实例讲述了python中global用法。分享给大家供大家参考。具体分析如下: 1、global---将变量定义为全局变量。可以通过定义为全局变量,实现在函数内部改变变量值。 2、一...

python如何把嵌套列表转变成普通列表

如何把[1, 5, 6, [2, 7, [3, [4, 5, 6]]]]变成[1, 5, 6, 2, 7, 3, 4, 5, 6]? 思考:   -- for循环每次都遍历列表一层   ...

浅谈Pandas:Series和DataFrame间的算术元素

如下所示: import numpy as np import pandas as pd from pandas import Series,DataFrame 一、Series与...

使用Python判断质数(素数)的简单方法讲解

质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。质数是与合数相...