一个基本Python类

1.初步创建

__author__ = 'zcy'
class PythonDemo:
    pass
pers=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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值