后面的例子可以理解成:
调用count()时给fs这个list每个位置都赋值了一个 i*i的函数,但因为返回值是函数f本身所以并没有调用,即fs = [i*i, i*i, i*i],此时里面的i并不表示实际值;当count()被调用完后for循环里的i已经到3,所以当调用fs这个list内的函数f1/f2/f3时都计算i*i,此时i代入3,所以三个结果都为9。
调用count()时给fs这个list每个位置都赋值了一个 i*i的函数,但因为返回值是函数f本身所以并没有调用,即fs = [i*i, i*i, i*i],此时里面的i并不表示实际值;当count()被调用完后for循环里的i已经到3,所以当调用fs这个list内的函数f1/f2/f3时都计算i*i,此时i代入3,所以三个结果都为9。
2022-02-15
class Animal:
__count=0
def __init__(self,name):
self.name=name
Animal.__count+=1
@classmethod
def get_count(self):
return self.__count
dog=Animal('liu')
print(dog.get_count())
cat=Animal('wang')
print(cat.get_count())
__count=0
def __init__(self,name):
self.name=name
Animal.__count+=1
@classmethod
def get_count(self):
return self.__count
dog=Animal('liu')
print(dog.get_count())
cat=Animal('wang')
print(cat.get_count())
2022-02-11
def f(x):
return x.title
for item in map(f, ['alice', 'BOB', 'CanDY']):
print(item)
return x.title
for item in map(f, ['alice', 'BOB', 'CanDY']):
print(item)
2022-01-10
Traceback (most recent call last):
File "index.py", line 27, in
print(r1 / r2)
TypeError: unsupported operand type(s) for /: 'Rational' and 'Rational'
本节的代码运行错误,提示地板除的那一行报错,/没有定义,把__truediv__改成__div__运行正确
File "index.py", line 27, in
print(r1 / r2)
TypeError: unsupported operand type(s) for /: 'Rational' and 'Rational'
本节的代码运行错误,提示地板除的那一行报错,/没有定义,把__truediv__改成__div__运行正确
2022-01-06
运行下面一段就成功
class Animal: pass
dog = Animal()
cat = Animal()
dog.name = 'xiaohong'
dog.age = 13
cat.name = 'xiaohong2'
cat.age = 14
print(dog.name)
print(dog.age)
print(cat.name)
print(cat.age)
class Animal: pass
dog = Animal()
cat = Animal()
dog.name = 'xiaohong'
dog.age = 13
cat.name = 'xiaohong2'
cat.age = 14
print(dog.name)
print(dog.age)
print(cat.name)
print(cat.age)
2021-12-16
__call__魔法方法可以将类当作函数来使用,当作为函数来使用时,调用call方法。
例如 文中的 p("Alice"),即相当于之行p.__call__("Alice")
例如 文中的 p("Alice"),即相当于之行p.__call__("Alice")
2021-12-08
def f(x):
return x.title()
l = []
for item in map(f, ['alice', 'BOB', 'CanDY']):
l.append(item)
print(l)
return x.title()
l = []
for item in map(f, ['alice', 'BOB', 'CanDY']):
l.append(item)
print(l)
2021-12-01