我是从事C/C++开发的,出于兴趣开始自学python。学习Python时任然收到C/C++的影响,其中最大的感受就是变量。
在C/C++中每个变量都是有特定的类型,这样编译器就可以为之分配内存:
int fbw_channels;
int channels;
int lfe_ch;
float downmix_coeffs[3][2];
但Python中就没有类型这种概念,python中的变量类型由赋值的类型确定:
>>> value = 1
>>> print(value)
1
>>> value = 1.0
>>> print(value)
1.0
而且在Python中使用变量不需要提前声明,需要直接创建使用就可以了。但是在Python的类中公用的变量需要在类的初始化函数中定义,这样后面的函数就可以使用这些变量了
class Paddle:
def __init__(self,canvas,color):
self.canvas = canvas
self.id = canvas.create_rectangle(0,0,100,10,fill=color)
self.canvas.move(self.id,200,300)
self.x = 0
self.canvas_width = self.canvas.winfo_width()
self.canvas.bind_all('<KeyPress-Left>',self.turn_left)
self.canvas.bind_all('<KeyPress-Right>',self.turn_right)
def draw(self):
self.canvas.move(self.id,self.x,0)
pos = self.canvas.coords(self.id)
if pos[0] < 0:
self.x = 0
elif pos[2] >= self.canvas_width:
self.x = 0
def turn_left(self,evt):
self.x = -2
def turn_right(self,evt):
self.x = 2
这就是Python的便利之处,快速实现编程人员的想法,而不是先去声明一个个变量。