博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象
阅读量:6423 次
发布时间:2019-06-23

本文共 1655 字,大约阅读时间需要 5 分钟。

# 自定义类class Persion:    country = 'China'   # 也是创造属性,创造一个只要是这个类就一定有的属性,叫做类属性,也叫静态属性    # self 其实就是一个可以存储可多属性的大字典,self存储属性    def __init__(self, *args):  # 构造函数  self对象,本质self其实是一个字典,将字典填充好后,也就是构造对象的过程,然后将self返回        self.name = args[0]     # self.name 的name是属性        self.hp = args[1]        self.aggr = args[2]        self.sex = args[3]        # print(self.__dict__)    # {'hp': 1000, 'aggr': 100, 'name': '狗剩儿', 'sex': 'boy'}    def walk(self, n): # 类的方法,类方法一般情况下必须含有self参数,并且在第一个位置,后面可以传其他参数        print('%s zou zou zou le %s bu' % (self.name , n))why = Persion('狗剩儿', 1000, 100, 'boy')  # 调用了构造函数,构造完self后,self返回给了why,实例化的过程print(why.hp)print(why.__dict__) # 查看所有属性值# Persion里有个walk名字print(Persion.__dict__) # {'walk': 
, '__weakref__':
, '__init__':
, '__doc__': None, '__module__': '__main__', '__dict__':
}Persion.walk(why, 5) # 狗剩儿 zou zou zou le 5 bu # 此种方法调用,类名.方法名(对象名调用),必须传入指定对象名why.walk(5) # 狗剩儿 zou zou zou le 5 bu 此种方法不需要传self,等价于 Persion.walk(why)print(Persion.country) # China 通过类名可以调用类中的静态属性,不需要实例化对象就可以查看类的静态属性why.age = 83 # 增加了一个属性age = 83,可以增加属性print(why.age) # 83# 对象能做的事: # 查看与操作属性(增删改) # 调用方法 # __dict__对于对象的增删改查操作,都可以通过字典的语法操作,但一般不这么进行操作,而是why.name = 'haha'方式操作 # why.__dict__['name'] = 'haha'(本质) # 对象的增删改查操作都可以参考字典的方式进行操作# 类名能做的事情 # 可以实例化一个对象 # 能通过类名调用方法,但是需要指定对象参数,不建议这么用 # 调用类中的静态属性 # 类的__dict__,也就是类中的名字只能看,不能修改# 不管是类名,还是对象,都可以调用.__dict__ # 类名.__dict__得到的是类的所有名字,包括函数名(都是键值对形式)。 # 对象名.__dict__,得到的是对象的所有属性值(键值对) # 其实都可以用操作字典的方式进行访问

 

转载于:https://www.cnblogs.com/whylinux/p/9703964.html

你可能感兴趣的文章
微信公众平台模拟群发技术
查看>>
C语言学习之指针详解
查看>>
学习使用Bing Maps Silverlight Control(一):准备和新建
查看>>
讲一讲什么叫阻塞非阻塞同步异步
查看>>
选择器补遗
查看>>
C# 实体集合和实体转换成相应的string、XDocument、XElement、XDocument
查看>>
轻松记住大端小端的含义(附对大端和小端的解释)
查看>>
dreamweaver中的 map怎么调用?_制作热点图像区域
查看>>
代码19
查看>>
Win10系列:UWP界面布局进阶5
查看>>
ABP Zero 本地化语言的初始化和扩展
查看>>
转Hibernate 一对多关联的CRUD__@ManyToOne(cascade=(CascadeType.ALL))
查看>>
FCT需求分析
查看>>
开门人和关门人(杭电1234)
查看>>
万能adapter
查看>>
开发指南专题六:JEECG微云高速开发平台代码生成
查看>>
cocos2d-x 游戏优化方案
查看>>
1.3 Quick Start中 Step 6: Setting up a multi-broker cluster官网剖析(博主推荐)
查看>>
remote desktop connection manager
查看>>
开源库RxJava、ButterKnife
查看>>