Python小知識點隨筆

JS_XH發表於2020-11-13

Python小知識點隨筆(1)

零碎的小知識點

最近閒暇時間在看python程式設計書籍,稍微擴充一下自己的知識儲備,記下一些平時不太注意的知識點

abc模組

  1. 如果某個類的metaclass是abc.ABCMeta,那麼該類就無法初始化,只能把它當成抽象基類來使用;
  2. 繼承的子類,必須實現父類的所有抽象方法,否則子類例項化時會報錯;
  3. 使用abc模組中的@abstractmethod裝飾器,能夠使類中的方法變成抽象方法。
import abc

class A(metaclass=abc.ABCMeta):
	
	@abc.abstractmethod
	def a(self):
		pass

class B(A):

	def a(self):
		pass

enumerate函式

將一個可遍歷的資料物件(例如 list、tuple、str)組合為一個索引序列,同時列出資料和下標,常在for迴圈中使用

語法:

enumerate(sequence, [start=0])

引數:
sequence 序列、迭代器或其他支援迭代的物件
start 下標起始位置

返回值:
返回enumerate(列舉)物件

>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>>list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>>list(enumerate(seasons, start=1)  # 下標從1開始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

>>>seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
...     print i, element
... 
0 one
1 two
2 three

參考地址:https://www.runoob.com/python/python-func-enumerate.html

相關文章