-
什么是特殊方法
查看全部 -
在定義繼承類(lèi)的時(shí)候,有幾點(diǎn)是需要注意的:
class Student()定義的時(shí)候,需要在括號(hào)內(nèi)寫(xiě)明繼承的類(lèi)Person
在__init__()方法,需要調(diào)用super(Student, self).__init__(name, gender),來(lái)初始化從父類(lèi)繼承過(guò)來(lái)的屬性
查看全部 -
文件對(duì)象還提供seek()方法,可以移動(dòng)文件的游標(biāo)位置,它接受一個(gè)參數(shù),表示文件的位置,0:文件首部,1:當(dāng)前位置,2:文件尾部,通過(guò)seek()可以把文件游標(biāo)移動(dòng)到文件首部但不刪除文件的內(nèi)容。
查看全部 -
#有時(shí)間回來(lái)看看
class Person1(object):
? ? country ='china'?
? ? __language ="Chinese"?
? ? def __init__(self,name,age):
? ? ? ? self.name = name
? ? ? ? self.__age = age ?
? ? def getAge(self):
? ? ? ? return self.__age
? ? def setAge(self,age):
? ? ? ? if age >100 or age <0:
? ? ? ? ? ? print("age is not true")
? ? ? ? else :
? ? ? ? ? ? self.__age = age
? ? def __str__(self):
? ? ? ? info = "name :"+self.name +",age(scret):"+str(self.__age) ?
? ? ? ? return info
stu1 = ?Person1("tom",18)
print("1",stu1.__str__())
stu1.name="tom_2" ?
print("2",stu1.__str__())
#print(stu1.__age) ?
print("3",id(stu1.getAge()))
stu1.__age = 19 ?
print(stu1.__age)?
print("4",id(stu1.__age))?
print("5",stu1.__str__()) ?
stu1.setAge(22)?
print("6",stu1.__str__())
?
查看全部 -
和實(shí)例方法不同的是,這里有兩點(diǎn)需要特別注意:
類(lèi)方法需要使用@classmethod來(lái)標(biāo)記為類(lèi)方法,否則定義的還是實(shí)例方法
類(lèi)方法的第一個(gè)參數(shù)將傳入類(lèi)本身,通常將參數(shù)名命名為 cls,上面的 cls.__localtion 實(shí)際上相當(dāng)于Animal.__localtion。
查看全部 -
私有屬性是以雙下劃線'__'開(kāi)頭的屬性
查看全部 -
class Fib(object):
? ? def __init__(self,num):
? ? ? ? self.res = []
? ? ? ? self.num = num
? ? ? ? a=0
? ? ? ? b=1
? ? ? ? for x in range(num):
? ? ? ? ? ? self.res.append(a)
? ? ? ? ? ? # a,b = b,a+b
? ? ? ? ? ? a = b
? ? ? ? ? ? b = a+b
? ? ? ? ? ??
? ? def __str__(self):
? ? ? ? return str(self.res)
? ? ? ??
? ? def __len__ (self):
? ? ? ? return self.num
? ? ? ??
f = Fib(10)
print(f)
print (len(f))
查看全部 -
對(duì)象在程序中為類(lèi),類(lèi)具有屬性,通過(guò)實(shí)例化形成實(shí)例
查看全部 -
基礎(chǔ)課程需要復(fù)習(xí)的內(nèi)容
Set容器需要繼續(xù)復(fù)習(xí)
需要繼續(xù)學(xué)習(xí)的內(nèi)容
面向?qū)ο缶幊?/p>
類(lèi)的繼承
類(lèi)的特殊方法
Python文件編程
Python網(wǎng)絡(luò)編程
函數(shù)式編程
Python模塊
查看全部 -
Python繼承類(lèi)
在定義繼承類(lèi)的時(shí)候,有幾點(diǎn)是需要注意的:
class Student()定義的時(shí)候,需要在括號(hào)內(nèi)寫(xiě)明繼承的類(lèi)Person
在__init__()方法,需要調(diào)用super(Student, self).__init__(name, gender),來(lái)初始化從父類(lèi)繼承過(guò)來(lái)的屬性
查看全部 -
Python包必須要有__init__.py
查看全部 -
python模塊和包
查看全部 -
import time
def performance(f):
? ?def fn(*args, **kw):
? ? ? ?t1 = time.time()
? ? ? ?r = f(*args, **kw)
? ? ? ?t2 = time.time()
? ? ? ?print('call %s() in %fs' % (f.__name__, (t2 - t1)))
? ? ? ?return r
? ?return fn
@performance
def factorial(n):
? ?return reduce(lambda x,y: x*y, range(1, n+1))
print(factorial(10))查看全部 -
def count():
? ?fs = []
? ?for i in range(1, 4):
? ? ? ?def f(j):
? ? ? ? ? ?def g():
? ? ? ? ? ? ? ?return j*j
? ? ? ? ? ?return g
? ? ? ?r = f(i)
? ? ? ?fs.append(r)
? ?return fs
f1, f2, f3 = count()
print(f1(), f2(), f3())查看全部 -
在函數(shù)內(nèi)部定義的函數(shù)無(wú)法被外部訪問(wèn)。
內(nèi)層函數(shù)引用了外層函數(shù)的變量(參數(shù)也算變量),然后返回內(nèi)層函數(shù)的情況,稱(chēng)為閉包(Closure)。
閉包的特點(diǎn)是返回的函數(shù)還引用了外層函數(shù)的局部變量,所以,要正確使用閉包,就要確保引用的局部變量在函數(shù)返回后不能變。
因此,返回函數(shù)不要引用任何循環(huán)變量,或者后續(xù)會(huì)發(fā)生變化的變量。
查看全部
舉報(bào)