类
在Python中可以使用class
关键字定义类
#标识 类名
class class_name(object):
def __init__(self):
print('Hello')
if __name__ == "__main__"
xxx = class_name()
进度条
读取文件
读取文本中有多少大写字母
class tom(object):
def __init__(self,path):
self.path = path
self.count = 0
def read(self):
with open(self.path,mode='r') as f:
lines = f.readlines()
for line in lines:
new_line = line.strip('\n')
for i in new_line:
if i.isupper():
self.count +=1
print('The Upper word is %d'%self.count)
if __name__ == "__main__":
path = 'C:/Users/pc/Desktop/abcd.txt'
AA = tom(path)
AA.read()
私有变量
@property装饰器
class Person(object):
def __init__(self, name, age):
self._name = name
self._age = age
# 访问器 - getter方法
@property
def name(self):
return self._name
# 访问器 - getter方法
@property
def age(self):
return self._age
# 修改器 - setter方法
@age.setter
def age(self, age):
self._age = age
if __name__ == "__main__":
main()
__slots__魔法
需要注意的是__slots__的限定只对当前类的对象生效,对子类并不起任何作用。
class Person(object):
# 限定Person对象只能绑定_name, _age和_gender属性
__slots__ = ('_name', '_age', '_gender')
def __init__(self, name, age):
self._name = name
self._age = age
@property
def name(self):
return self._name
@property
def age(self):
return self._age
@age.setter
def age(self, age):
self._age = age
if __name__ == "__main__":
main()
单继承