介绍
学习记录。。。。
目录:
-
面向对象高级语法部分
-
字段
-
方法
-
属性
类
-
字段
-
-
普通字段
-
静态字段
-
-
方法
-
-
普通方法
-
类方法
-
静态方法
-
-
属性
-
-
普通属性
-
私有属性
-
字段
普通字段 属于对象, 实例变量,存在每个实例里面,进行实例的时候,开辟一个实例对象,
静态字段 属于类,类变量, 内存中存在类里面,没实例化,也存在。
方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
class
Animal:
def
__init__(
self
,name):
self
.name
=
name
hobbie
=
'meat'
@
classmethod
##类方法,不能访问实例变量
def
talk(
self
):
print
(
"{} is talking"
.
format
(
self
.hobbie))
@
staticmethod
##静态方法,不能访问类变量 和实例变量,大多情况不用,类的工具箱
def
walk():
print
(
" is talking"
)
@
property
##属性,下面就不是方法了,变成了一个属性,但是依然可以访问实例和类变量
def
habit(
self
):
print
(
"{} habit is xxoo"
.
format
(
self
.name))
d
=
Animal(
"Hequan"
)
Animal.talk()
d.talk()
d.walk()
d.habit
meat
is
talking
meat
is
talking
is
talking
Hequan habit
is
xxoo
|
私有属性 __
self.__num=num
经典类: 深度有限
新式类:广度优先
类的特殊成员
-
__doc__ 打印注释
-
__module__ 表示当前操作的对象在那个模块
-
__class__ 表示当前操作的对象的类是什么
-
__init__ 构造方法,通过类创建对象时,自动触发执行
-
__del__ 析构方法,当对象在内存中被释放时,自动触发执行。执行完成后,统一销毁。
-
__call__ 对象后面加括号,触发执行
-
__dict__ 查看类或对象中的所有成员、
-
__new__ \ __metaclass__ 类的生成 调用 顺序依次是 __new__ --> __call__ --> __init__
反射
通过字符串映射或修改程序运行时的状态、属性、方法
-
hasattr
-
getattr
-
setattr
-
delattr
if __name__=="__main__":
server = WebServer('localhost',3306)
if hasattr(server,sys.argv[1]):
func = getattr(server,sys.argv[1]) ##获取执行后面加的值 如 start
func()