Python编写错误

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()

这时运行结果会直接显示按钮点击以后呈现的效果,直接执行了按钮功能。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值