如何将值设置为仅接受Python中的某些数据?就像我正在为颜色标识符制作代码.我希望我的变量只接受FFFFFF任何大于此的变量.基本16个字符几乎... 十六进制代码.
我试图这样做的原因是因为如果用户输入一个像GGGGGG它一样的值会给他们一个脚本错误,这实际上让我看起来不称职(我可能会这样,但我不想看起来像我).而且,如果他们输入像F1F2G%这样的特殊字符,它也会陷入困境.此外,如果他们将框保留为空白,则还会出现"脚本错误".
我想避免那些错误.有谁知道一个好方法?
现在我读了这本书Inside The C++ Object Model的第四部分并提出了一些问题.
像这样的内联函数:
inline int max(int a, int b)
{
return (a > b) ? a : b;
}
Run Code Online (Sandbox Code Playgroud)
然后,声明如下:
a = max(x, y);
这句话将转变为 a = (x > y) ? x : y;
但是这本书说当在内联函数中添加局部变量时,如下所示:
inline int max(int a, int b)
{
int maxval = (a > b) ? a : b;
return maxval;
}
Run Code Online (Sandbox Code Playgroud)
它将转变为
int __max_lv_maxval;
a = (__max_lv_maxval = (x > y) ? x : y), __max_lv_maxval;
Run Code Online (Sandbox Code Playgroud)
显而易见,该功能的性能将下降.
我的问题是编译(如VC2010,gcc)是否优化内联函数并删除局部变量?