前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python|编写自己的类

Python|编写自己的类

作者头像
double
发布2018-04-02 16:46:28
9240
发布2018-04-02 16:46:28
举报
文章被收录于专栏:算法channel

01

类(对象)

class dog(object)

以上定义了一个dog对象,它继承于根类object.

02

类的属性

def __init__(self, name, dtype): self.name = name self.dtype = dtype

以上定义了dog对象的两个属性:name, dtype,通过__init__,这个系统函数是每个对象自带的。

03

类的方法

def shout(self): print('I'm %s, type: %s' % (self.name, self.dtype))

注意,对象的方法参数必须要有self,引用属性时,必须前面添加self.name等。

04

类的实例

xiaohuaDog = dog('xiaohua','quanType')

xiaohuaDog是dog对象的实例,Instance.

05

方法的可访问性

shout(selft)

shout()是一个public方法,或者可在外部被其他模块调用的方法。

__shout(selft)

如果在shout前加2个_后,此方法变为私有方法,只能在内部使用。

__type

属性前加2个_后,属性变为私有属性,通过这个可改变属性的可读可写属性。

def get_type(self): return __type

这样后,相当于type是可读不可写的。

06

私有变量真的无法被外部访问吗?

肯定不是! 要看python解释器是怎么解释私有变量或方法的。 一般地,不能直接访问__type是因为Python解释器对外把__type变量改成了_dog__type,所以,仍然可以通过_dog__type来访问__type变量。 但是不建议这么做!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档