目的:求2个正整数的最小公倍数
代码:
class Demo:
def gcd(self, x, y):
if x > y:
min = y
max = x
else:
min = x
max = y
n = 1
for i in range(2, min + 1):
if max % i == 0 and min % i == 0:
n = i
return n
def lcm(self, x, y):
n = self.gcd(x, y)
result = x * y / n
return result【知识点】
1、range函数,range(start, stop[, step])
默认range(4),是指[0,1,2,3],从0开始,步长为1,截止到(4-1),而不是[0,1,2,3,4]。因此在求最大公约数时,为了取到最后的数字,需要用range(2,min+1),而不是range(2,min)
2、self用法:
参考链接:
以下只说几点重要:
(1)self表示的是类实例本身,而不是类;
示例代码:
class Student(object):
def __init__(self, name):
self.name = name
如上代码,name是外部传入的参数,通过self.name将name变为类内部的参数,将name表示的值变为了类自己的属性变量,类内的全局变量。
如果还没有理解,self.name 和name的区别,可以再参考
(2)一般类的方法,都要加上self,并且方法的第一参数必是self,然后才是具体的参数(如果参数是列表,可以用*args表示;如果参数是字典,用**kwargs)
类内方法的调用 ,都能通过self.XX()方式进行调用。
(3)类的参数:self.__name表示类内的私有变量,外部无法访问;self.__name__表示特殊变量,外部可以访问修改;





































苏公安网备 32011402010933号