后面的例子可以理解成:
調用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