class Fib(object):
def __init__(self):
self.name = self #pass yexing
def __call__(self, num):
T = []
a = 0
b = 1
for i in range(num):
T.append(a)
a, b = b, a+b
return T
f = Fib()
print f(10)
def __init__(self):
self.name = self #pass yexing
def __call__(self, num):
T = []
a = 0
b = 1
for i in range(num):
T.append(a)
a, b = b, a+b
return T
f = Fib()
print f(10)
2017-10-21
class Fib(object):
def __init__(self):
self.name = self #pass yexing
def __call__(self, num):
T = []
a = 0
b = 1
for i in range(num):
T.append(a)
a, b = b, a+b
return T
f = Fib()
print f(10)
def __init__(self):
self.name = self #pass yexing
def __call__(self, num):
T = []
a = 0
b = 1
for i in range(num):
T.append(a)
a, b = b, a+b
return T
f = Fib()
print f(10)
2017-10-21
美中不足的是,有个常识性的错误,我又犯了一次,就是def中如果没有return,返回结果后面就会返回个None,提醒自己,也提醒大家。
2017-10-21
u1 = s1.lower()
u2 = s2.lower()
if u1 < u2:
return -1
if u1 > u2:
return 1
return 0
用lower函数也可以哎,只要能把S1和S2转换成同一种形式(都是大写或者都是小写)比较都行
u2 = s2.lower()
if u1 < u2:
return -1
if u1 > u2:
return 1
return 0
用lower函数也可以哎,只要能把S1和S2转换成同一种形式(都是大写或者都是小写)比较都行
2017-10-21
注意: s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。
当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' '),如下:
a = ' 123'
a.strip()
结果: '123'
a='\t\t123\r\n'
a.strip()
结果:'123'
当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' '),如下:
a = ' 123'
a.strip()
结果: '123'
a='\t\t123\r\n'
a.strip()
结果:'123'
2017-10-21
class BStudent(BasketballMixin,Student):
class FTeacher(FootballMixin,Teacher):
只需要多重继承,方法在不重写的时候自动调用父类的方法,因此不用再多写初始化方法来初始化属性
class FTeacher(FootballMixin,Teacher):
只需要多重继承,方法在不重写的时候自动调用父类的方法,因此不用再多写初始化方法来初始化属性
2017-10-20
意思就是json.load()括号中的任何类型的对象。只要这个类型定义了read方法,就会自动去调用这个实例的read方法并获取结果。因此Students这个类中定义read方法后,json.load(s)的意思就是将s这个对象的read方法返回的值作为参数。
2017-10-20
if self.__score >= 90:
return 'A-优秀'
if self.__score >= 60:
return 'B-及格'
if self.__score < 60:
return 'C-不及格'
如果有ascii码的问题
最前面加上 # -*- coding: UTF-8 -*-
return 'A-优秀'
if self.__score >= 60:
return 'B-及格'
if self.__score < 60:
return 'C-不及格'
如果有ascii码的问题
最前面加上 # -*- coding: UTF-8 -*-
2017-10-20
结果要求输出1,2.可以在__init__函数中输出类的属性__count
在最后输出Person.__count 时需要 注意可能会抛出的异常,因此先try 输出
在出现AttributeError情况下输出 ‘attributeerror’
在最后输出Person.__count 时需要 注意可能会抛出的异常,因此先try 输出
在出现AttributeError情况下输出 ‘attributeerror’
2017-10-20
def gcd(x, y):
if x < y:
x, y = y, x
t = 1
while t != 0:
t = x % y
x, y = y, t
return x
这是我的取最大公约数定义的函数,老师用的递归函数,我老是用不好。。。。
if x < y:
x, y = y, x
t = 1
while t != 0:
t = x % y
x, y = y, t
return x
这是我的取最大公约数定义的函数,老师用的递归函数,我老是用不好。。。。
2017-10-20
我初中有一个很牛逼的数学老师,每次上新课前都会先给一道题目。如果没有学习新课,很难解答出来。老师是想让我们带着问题来上课。赶紧Debug,别瞎BB。
2017-10-20
看不太懂
1分18秒倒数第二行,return f(x)是指return f1(x)吗???
是我理解错误还是老师视屏弄错了
1分18秒倒数第二行,return f(x)是指return f1(x)吗???
是我理解错误还是老师视屏弄错了
2017-10-20
我的理解是,首先fs存的其实是函数而没有进行运算,当运行fs中的函数时才调用(i*i),又因为i是外层的变量(count函数的变量),值为3,所以全部输出9,若改成
for i in range(1, 4):
def f( m = i):
return m*m
fs.append(f)
fs不仅存了函数(m*m),还存了m=1 m=2 m=3三种情况(m是f函数的变量),所以调用时结果是1 4 9
关键点在于内层函数直接使用外层函数的变量时,不会保存外层函数的变量,所以只能用最终值计算
for i in range(1, 4):
def f( m = i):
return m*m
fs.append(f)
fs不仅存了函数(m*m),还存了m=1 m=2 m=3三种情况(m是f函数的变量),所以调用时结果是1 4 9
关键点在于内层函数直接使用外层函数的变量时,不会保存外层函数的变量,所以只能用最终值计算
2017-10-20