return '(Student: %s,%s,%d)' %(self.name,self.gender,self.score)#这样也是可以运行通过的,有点没太懂__repr__与__str__ 的区别
2018-01-07
class Person(object):
def __init__(self, name, gender):
self.name = name
self.gender = gender
class Teacher(Person):
def __init__(self, name, gender, course):
super(Teacher,self).__init__(name,gender) #一定要记住要初始化父类
self.course = course
def __init__(self, name, gender):
self.name = name
self.gender = gender
class Teacher(Person):
def __init__(self, name, gender, course):
super(Teacher,self).__init__(name,gender) #一定要记住要初始化父类
self.course = course
2018-01-07
def cmp_ignore_case(s1, s2):
if s1[0:].lower()>s2[0:].lower():
return 1
if s1[0:].lower()<s2[0:].lower():
return -1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
if s1[0:].lower()>s2[0:].lower():
return 1
if s1[0:].lower()<s2[0:].lower():
return -1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
2018-01-06
class Person(object):
__count = 0
@classmethod
def how_many(cls): #标准答案
return cls.__count
def __init__(self,name):
self.name = name
Person.__count = Person.__count + 1
print Person.how_many()
p1 = Person('Bob')
print Person.how_many()
__count = 0
@classmethod
def how_many(cls): #标准答案
return cls.__count
def __init__(self,name):
self.name = name
Person.__count = Person.__count + 1
print Person.how_many()
p1 = Person('Bob')
print Person.how_many()
2018-01-06
class Person(object):
def __init__(self, name, score):
self.name = name
self.__score = score
p = Person('Bob', 59)
print p.name
try: #此处加个异常处理即可
print p.__score
except AttributeError:
print AttributeError
def __init__(self, name, score):
self.name = name
self.__score = score
p = Person('Bob', 59)
print p.name
try: #此处加个异常处理即可
print p.__score
except AttributeError:
print AttributeError
2018-01-06
setattr(object, name, values)方法
给对象的属性赋值,若属性不存在,先创建再赋值。
希望大家不要气馁,有问题多思考,多问,不会的可以先放一放,等学完之后再回过头看,或许会简单一点。大家加油!
给对象的属性赋值,若属性不存在,先创建再赋值。
希望大家不要气馁,有问题多思考,多问,不会的可以先放一放,等学完之后再回过头看,或许会简单一点。大家加油!
2018-01-06
看了楼上说的gcd()函数,但是最好不在__init__就用,因为分子分母相乘之后仍然可能有最大公约数,最好是在__str__里面用
2018-01-06
最赞回答 / Tsuki_suki
直接调用的话sorted(L)其实是省略版,实际运行的是sorted(L,cmp)后面可以改成不同的函数,这样可以对L进行不同的排序,默认排序是从小到大,通过改写后面的比较函数可以实现其他定义的排序
2018-01-06
def prod(x, y):
return x*y
print reduce(prod, [2, 4, 5, 7, 12])
return x*y
print reduce(prod, [2, 4, 5, 7, 12])
2018-01-05
import math
def add(x, y, f):
return f(x) + f(y)
print add(25, 9, math.sqrt)
def add(x, y, f):
return f(x) + f(y)
print add(25, 9, math.sqrt)
2018-01-05
求最大公约数算法:
(1)辗转相除法
两整数a和b:
① a%b得余数c
② 若c=0,则b即为两数的最大公约数,结束
③ 若c≠0,则a=b,b=c,再回去执行①
(2)相减法
两整数a和b:
① 若a>b,则a=a-b
② 若a<b,则b=b-a
③ 若a=b,则a(或b)即为两数的最大公约数,结束
④ 若a≠b,则再回去执行①
(3)穷举法:
① i= a b中的小数
② 若a,b能同时被i整除,则i即为最大公约数,结束
③ i--,再回去执行②
(1)辗转相除法
两整数a和b:
① a%b得余数c
② 若c=0,则b即为两数的最大公约数,结束
③ 若c≠0,则a=b,b=c,再回去执行①
(2)相减法
两整数a和b:
① 若a>b,则a=a-b
② 若a<b,则b=b-a
③ 若a=b,则a(或b)即为两数的最大公约数,结束
④ 若a≠b,则再回去执行①
(3)穷举法:
① i= a b中的小数
② 若a,b能同时被i整除,则i即为最大公约数,结束
③ i--,再回去执行②
2018-01-05