- 类和子类
class bird(object):
def __init__(self,sound): #magic mehod 前后两个下划线 如__add__()
self.sound=sound #__dict__()
print("init sound:",sound)
def chirp(self): #self:该函数可在同一类中被调用
print("bird")
def echo(self,n):
for i in range(n):
self.chirp()
class swan(bird): #继承
move="swin"
edible=True
def chirp(self):
super().chirp() #调用父类被覆盖的方法
print("swan")
summer=bird("emm")
print(summer.sound)
summer.echo(10)
winter=swan("ha")
print(winter.move)
winter.echo(5)
- 列表操作
a=[1,2,5,3,5,6]
print(a.count(5)) #记录5的个数
print(a.index(3)) #从左开始找3的位置
a.append(7) #在最后加上7
print(a)
a.sort()
print(a)
a.reverse() #逆序
print(a)
a.remove(2)
print(a)
a.insert(0,9) #在位置0插入数字9
print(a)
a.clear()
print(a)
- 元组操作
字符串是特殊的元组
a="abc Bca"
sub="abc"
new_sub="lalala"
str="-"
a.index("c")
a.rindex("c")
a.count(sub)
a.find(sub) #找不到返回-1
a.rfind(sub)
a.index(sub) #找不到报错
a.rindex(sub)
a.isalnum() #都是字母或数字
a.isalpha()
a.isdigit()
a.istitle() #所有词的首字母字母都是大写
a.isspace() #所有字符都是空格
a.islower()
a.isupper()
b=a.split(" ",1) #以空格分割1次,所得字符串在一个表返回
#a.rsplit()
print("b:",b)
print(str.join(a)) #a-b-c- -B-c-a
b=a.replace(sub,new_sub)
print("replace:",b)
b=a.capitalize() #首字母大写
print("cap:",b)
b=a.swapcase() #大小写交换
print("swap:",b)
b=a.lower()
print("lowe:",b)
b=a.upper()
print("upper:",b)
b=a.title() #每个单词首字母大写
print("title:",b)
b=a.center(20,"*") #******abc Bca*******
print(b)
b=a.ljust(20,'*') #abc Bca*************
print(b)
- 词典对象
dict={"a":1,"b":2,"c":3}
for k in dict.keys():
print(k) #key 如a
print(dict[k])
for v in dict.values():
print(v) #value 如1
for k,v in dict.items():
print(k,v) #k-v 如a 1
dict.clear() #清空词典
- 循环对象
def gen():
a=100
yield a
a=a*2
yield a
yield 100
for i in gen():
print(i)
__next__()类似手动for
exm=iter([1,2,3])
print(exm.__next__())
print(exm.__next__())
print(exm.__next__())
print(exm.__next__()) #StopIteration
- 函数对象
class bird(object):
def __call__(self,a):
return a+2
summer = bird()
print(summer(2))
- 模块对象
import time
time.sleep(10)
print("wake")
或
from time import sleep
sleep(10)
print("wake")
给模块重命名
import time as t
t.sleep(10)
将功能相似的模块放在一个文件夹中构成模块包,此文件夹中必须有__init__.py,此文件可以为空,每个对象都有一个属性:__name__来记录模块名字
- 异常对象
try:
....
except ZeroDivision as e: #e代表捕捉到的错误类型对象
....