Python variables cannot start with numbers. python variable numbers
When writing a python function, you may accidentally find a problem: the variable in python cannot be prefixed with a number. The following function defines the variable 3_num_varchar, and an error is returned when executing the command.
The function is as follows:
Def database_feild_varchar_trans (in_feild ):
'''
Transfer the feild if varchar then 3 times 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
The error message is as follows:
>>> 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
Change the variable 3_num_varchar to num_varchar_3. The program runs successfully as follows:
Import OS
Import sys
Str1 = 'aaa varchar (10 )'
Def database_feild_varchar_trans (in_feild ):
'''
Transfer the feild if varchar then 3 times 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 ))
Running result:
>>> Runfile ('e:/procedure/python/projects/others/table_test.py ', wdir = 'e:/procedure/python/projects/others ')
The feild type is not varchar
['Aaa', 'varchar (10) ']