一个基本Python类

来源:互联网 发布:js 权重算法 编辑:程序博客网 时间:2024/06/05 19:11

1.初步创建

__author__ = 'zcy'class PythonDemo:    passpers=PythonDemo() #创建一个一个对象的实例pers.name="zhangsan"#添加一个属性print pers.__dict__  #查看实例的属性print pers.__class__.__dict__ #查看实例所在类的属性pers.__class__.xiezi="red"  #给类添加一个属性print pers.__class__.__dict__注:修改了一个类实例的属性后,当前类的其它实例的属性不会受到影响。若修改了类的属性,那么该类下,所以实例属性均受到影响

2.添加一个方法

# -*- coding: UTF-8 -*-__author__ = 'zcy'class woman:   def method(self):       print "必须的"zcy=woman() #创建一个实例zcy.method()注:self 是必须的,所有方法中,第一个参数必须是它,代表所有实例共享它,不具备其他任何含义

3.隐藏属性和方法

class Persion:    def work(self):        print "我的工作是程序员"Persion().work()如果在work前加入__就会变成隐藏方法<pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:10.5pt;"><span style="color:#808080;"># -*- coding:UTF-8 -*-</span>__author__ = <span style="color:#a5c261;">'zcy'</span><span style="color:#a5c261;"></span><span style="color:#cc7832;font-weight:bold;">class </span><span style="font-weight:bold;">Persion</span>:    <span style="color:#cc7832;font-weight:bold;">def </span><span style="font-weight:bold;">__work</span>(<span style="color:#94558d;">self</span>):        <span style="color:#cc7832;font-weight:bold;">print </span><span style="color:#a5c261;">"</span><span style="font-family:'宋体';color:#a5c261;">我的工作是程序员</span><span style="color:#a5c261;">"</span>Persion().work()

#运行代码就会出现如下的错误

D:\Python27\python.exe D:/PycharmProjects/Persion.py
Traceback (most recent call last):
  File "D:/PycharmProjects/Persion.py", line 7, in <module>
    Persion().work()
AttributeError: Persion instance has no attribute 'work'

Process finished with exit code 1




4.类常见的一些专有方法

构造函数:

# -*- coding:UTF-8 -*-__author__ = 'zcy'class Persion:    def __work(self):        print "我的工作是程序员"    def __init__(self):        print "我是类的专有方法,我是自带的,只要创建实例,我就回运行"Persion()  #不需要再后面.int 就会运行
运行结果如下:

D:\Python27\python.exe D:/PycharmProjects/Persion.py
我是类的专有方法,我是自带的,只要创建实例,我就回运行

Process finished with exit code 0

析构函数__del__

# -*- coding:UTF-8 -*-__author__ = 'zcy'class Persion:    def work(self):        print "我的工作是程序员"    def __init__(self):        print "我是类的专有方法,我是自带的,只要创建实例,我就回运行"    def __del__(self):        print "我是最后运行的,对象生命周期结束了,我的删除对象善后"Persion().work()
运行结果如下:

D:\Python27\python.exe D:/PycharmProjects/Persion.py
我是类的专有方法,我是自带的,只要创建实例,我就会运行
我的工作是程序员
我是最后运行的,对象生命周期结束了,我的删除对象善后

Process finished with exit code 0




0 0
原创粉丝点击