在编写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 "", line 1, in

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变量不能以数字打头相关推荐

  1. python为什么不能以数字开头_python变量为什么不能以数字开头

    任何事情只要有人规定成文了,必定有其原因所在,也就是有其合理性所在. Python变量命名规则(推荐学习:Python视频教程) 变量名只能包含字母.数字和下划线.变量名可以字母或下划线开头,但不能以 ...

  2. python变量名必须以什么开头_python变量为什么不能以数字开头

    任何事情只要有人规定成文了,必定有其原因所在,也就是有其合理性所在. Python变量命名规则(推荐学习:Python视频教程) 变量名只能包含字母.数字和下划线.变量名可以字母或下划线开头,但不能以 ...

  3. python的标识符可以以汉字开头_Python标识符命名小知识

    简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量.函数.类.模块以及其他对象的名称. Python 中标识符的命名不是随意的,而是要遵守一定的命令规则,比如 ...

  4. python正则表达式数字开头_Python正则表达式总结

    基础匹配 '\d' 可以匹配一个数字,'00\d'可以匹配'007': '\w' 可以匹配一个字母或者数字,'00\w'可以匹配'007'或者'00a': '\s' 可以匹配一个空格: '.'可以匹配 ...

  5. python中标识符下划线用作开头_python python中那些双下划线开头的那些函数都是干啥用用的...

    1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...

  6. python复数的实部和虚部的数字类型_Python基础:数据类型-数字(5)

    在Python中,所有的数据类型都是类,每一个变量都是类的实例. Python中有6种标准数据类型:数字(Number).字符串(String).列表(List).元组(Tuple).集合(Sets) ...

  7. python定义int变量_Python变量以及常用数字类型(上)

    好好学习,天天向上.又到了齐小猴写笔记的时间,今天的内容是python 变量以及常用数字类型,废话不多说,撸起袖子开始写 变量 1.说到变量,先回顾上一篇说过的标识符,自己定义,自己命名,由字母,下划 ...

  8. python输入数字字符串_Python笔记—基本数据类型—数字字符串

    数字 int #整型 所有的功能,都在int里 a = 123v= a.bit_length() #软件自带函数联想 print(v)-int 将字符串转换成数字 a= '123' print(typ ...

  9. java可以用数字开头做变量吗_java变量为什么不能以数字开头

    程序语言的分析分词法和语法两部分.词法分析主要用的是正规文法,也就是三型文法.这类文法主要采用正则表达式分析.正则文法分析器的特点是它是不回溯的,所以实现很简单.如果一个变量以数字开头,那么分析器就必 ...

最新文章

  1. Python - - 项目实战 -- pygame 快速入门
  2. 云服务器登陆修改文件,香港云服务器使用注意事项(windows版)
  3. python集成工具包_pyBit
  4. HTML与CSS基础之否定伪类(四)
  5. 从一个骗局谈生活中的基础算法
  6. apache调优隐藏版本信息及404重定向
  7. 【Go】使用压缩文件优化io (二)
  8. 20169302 2016-2017-2 《网络攻防实践》课程总结
  9. 使用计算机音箱进行音乐播放的过程,插卡音箱音乐播放顺序调整及歌单式1
  10. ET框架-02 ET框架-开发环境搭建
  11. 利用Python制作本地Excel的查询与生成的程序
  12. 敏捷史话(三):笃定前行的勇者——Ken Schwaber
  13. [Angular] - 01 Architecture and workflow
  14. 服务器固态盘和机械盘哪个好
  15. ZT 计算一个无符整数中1Bit的个数(1) 2010-04-20 10:52:48
  16. bzoj3123【SDOI2013】森林
  17. 微商大咖龚文祥遭查税:退出微商,微信收款有补税风险?
  18. java profiler 工具_(转)Java应用性能分析工具:async-profiler
  19. pinyin4j获取多音字首字母同时保留非中文字符
  20. 高性价比成磷酸铁锂杀手锏

热门文章

  1. 当SQL Server爱上Linux:AVAILABILITY_MODE 和 DataGuard 的实践差距
  2. 如何避免成为新技术背后的“奶嘴一族”
  3. 使用LiteOS Studio图形化查看LiteOS在STM32上运行的奥秘
  4. 【华为云技术分享】MongoDB经典故障系列二:如何限制最大连接数?
  5. javascript基础修炼(1)——一道十面埋伏的原型链面试题
  6. ajax传递字符,Ajax怎么传递特殊字符的数据
  7. Jupyter notebook 中使用pip install安装第三方Python包
  8. Vue的基础认知二---vue的双向绑定/vue获取DOM节点
  9. 初始化_Linux的内存初始化
  10. linux cocos2dx 配置文件,Linux开发cocos2dx程序环境搭建