---恢复内容开始---
常见的问题是如何输出格式化的字符串。我们经常会输出类似"欢迎XXX!您的账户余额为:XXX"
之类的字符串,而XXX的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。python的字符串格式化用(%)来实现!在字符串内部,%s
表示用字符串替换,%d
表示用整数替换,有几个%?
占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?
,括号可以省略。
# 使用装饰器的时候,需要注意: # 1. 装饰器名,函数名需要一致. # 2. property需要先声明,再写setter,顺序不能倒过来 # 3. 如果你希望一点变量只是被访问不能被修改,那么可以使用访问器@property # 4. 如果要修改访问器中的变量,可以搭建一个修改器,或者删除访问器. 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 def play(self): if self._age <= 16: print('%s正在玩飞行棋.' % self._name) else: print('%s正在玩斗地主.' % self._name) def main(): person = Person('王大锤', 12) person.play() person.age = 22 person.play() # person.name = '白元芳' # AttributeError: can't set attribute if __name__ == '__main__': main()
简单的说,类和类之间的关系有三种:is-a、has-a和use-a关系。
-
is-a关系也叫继承或泛化,比如学生和人的关系、手机和电子产品的关系都属于继承关系。
-
has-a关系通常称之为关联,比如部门和员工的关系,汽车和引擎的关系都属于关联关系;关联关系如果是整体和部分的关联,那么我们称之为聚合关系;如果整体进一步负责了部分的生命周期(整体和部分是不可分割的,同时同在也同时消亡),那么这种就是最强的关联关系,我们称之为合成关系。
-
use-a关系通常称之为依赖,比如司机有一个驾驶的行为(方法),其中(的参数)使用到了汽车,那么司机和汽车的关系就是依赖关系。
我们可以使用一种叫做UML(统一建模语言)的东西来进行面向对象建模,其中一项重要的工作就是把类和类之间的关系用标准化的图形符号描述出来。关于UML我们在这里不做详细的介绍,有兴趣的读者可以自行阅读《UML面向对象设计基础》
学会有些类
class Student(object): 第二步初始化,初始化自己. 当你的类有一些公用变量的时候,你就可以初始化 初始化中经常放入公有的变量. def __init__(self,name): """ 在类中,一切的变量和函数都要印记(self) """ self.name = name def def1(self,num): self.num = num print(self.num) print(self.name) def def2(self): print(self.num) print(self.name)