目录
1、模块区分大小写
例如代码:
from fractions import Fraction
//这是引入分数的模块
她不可以写成:
from fractions import fraction
或
from Fractions import Fraction
仔细看这里的大小写
f
2、python中sum方法
不可以这样用:
c=sum(a,b)
print(c)
这样出现对象不可迭代问题
sum用于列表或数组求和,例如:
a=sum(list)
3、range中的必须是int型,而input得来的数是str型
要牢记range中含最前面不含最后面,如:range(1,10)
只含1到9,(含1不含10)。
而range(10,1,-1)
这里只含10到2,(含10不含1)。
注意这里
-1
不可没有,不然是空。
4、与c中不同的占位符使用
例如:
想输出:2在[m,n]之间
错误示例:
m=1 n=6 print("2在[%d,%d]之间",m,n)
这样得到的是:
2在[%d,%d]之间 1 6
正确写法:
m=1 n=6 print("2在[%d,%d]之间"%(m,n))
这样得到:
2在[1,6]之间
5、sorted方法少些一对()
在对字典进行排序时语句:sorted(dict_name.items(),key=itemgetter(0))
我写成了:sorted(dict_name.items,key=itemgetter(0)
导致弹出:
TypeError: ‘builtin_function_or_method’ object is not iterable
提示内置函数不可迭代
加上()后就是对象了。
6、小的毛病
(1)def main()
等方法或类上方至少留俩行空行
(2),
等间隔符后要有空格,如:
print(key, value, sep="\t ")
而不是:
print(key,value,sep="\t ")
(3)运算符周围要有空格
(4)注释与代码前至少俩空格
(5)行不要太长
(6)括号前后不要空格
(7)行末尾不要空格
7、tkinter中对组件的引用要在组件打包后
例如要对一标签w1进行修改,必须在标签w1。pack()后进行。
错误样例:
def showmsg(changecolor):
w1.config(text='你好')
bt1 = tk.Button(root,text='红色',command=showmsg('red'))
bt1.pack()
w1 = tk.Label(root,text='Python Tkinter')
w1.config(fg='black',bg='red')
w1.pack()
正确样例:
w1 = tk.Label(root,text='Python Tkinter')
w1.config(fg='black',bg='red')
w1.pack()
def showmsg(changecolor):
w1.config(text='你好')
bt1 = tk.Button(root,text='红色',command=showmsg('red'))
bt1.pack()
spyder报出的相应错误是:
NameError: free variable 'w1' referenced before assignment in enclosing scope
8、Button事件的函数不能含参
如果含参,类似于:
def showchange(Object,changecolor):
Object.config(bg=changecolor)
Object.config(text='on')
bt4 = tk.Button(root,text='绿色',command=showchange(w1,'green')) #w1是一个标签名
bt4.pack()
这时运行结果会直接显示按钮点击以后呈现的效果,直接执行了按钮功能。