类(ClassTest)

1.类是描述具有相同特性特征的一类物体,这些物体具有的属性和功能共性;
类包括:属性,方法;
定义一个class类名(基类);
如果没有基类,一般我们使用选择扩展自object类;
是否继承object是新式类和旧式类的区别,3.0以后默认都继承object,所以我们简单点, 全部继承object;
类是一个概念,不足以承担任务。

2.由类构造出来的实例对象--类的实例
类的实例 : 实例=类名+()

xiaoming,xiaohong分别指向了person类的实例对象

xiaoming = person()
xiaohong = oerson()

3.类的成员函数
(1)类可以有自己的函数 -->类的成员函数
(2)类的成员函数与普通函数的区别:
--类的成员函数的第一个参数必须是self
--调用方式不同 类的实例.成员函数名称(参数)
--在成员函数调用的时候,python解释器会把对象实例隐式的传给self

(3)类的成员函数是一个全局的函数,全局唯一,不会随着类的实例化而出现多个
(4)@property修饰的方法或成员函数
--方法必须只能有self参数,不能有其它
--方法调用的时候不可以写()

4.实例的成员变量
(1)类的实例有一个字典对象,用来保存key,value
(2)可以在类的成员函数里面使用self.key来访问和存储类的实例的成员变量
(3)外部直接可以使用对象的实例.数据成员来取得数据成员的值

5.dir函数,列出全部xx
(1)不带参数时,返回当前范围内的变量,方法和定义的类型列表
(2)带参数时,返回参数的属性,方法列表
(3)dir(类的实例)里面有一个dict的字典,原来存的都是类实例的数据成员

class person(object):
def init_person(self,age,name,sex): #类定义的块
self.age = age #类的成员函数是定义在类的这个快里面
self.name = name #定义在类里的成员函数,第一个参数必须是self
self.sex = sex
print(self.name) #是在对象实例的一个字典里面存放的key,value
print("HelloWorld2") #使用 self.key的名字来进行存储访问

 @property                  #定义的时候必须只能有self参数
 def get_age(self):      #(2)调用的时候不要传递任何参数,且不能写()
  pass

xiaohong = person() #新建一个符合这个类的标准的一个类的示例对象
xiaoming = person() #xiaoming,xiaohong分别指向了person类的实例对象

xiaohong.init_person(10,"xiaohong","girl") #调用成员函数,完成具体的事情,
xiaoming.init_person(10,"xiaoming","boy") #类的成员函数调用的时候,不用传self参数

调用@property

xiaohong.get_age

小红有小红的迷名字,年级,性别

不能和小明共用

print xiaohong.name

dir 列出全部xxx

print (dir())
print (dir(xiaoming))
print(xiaohong.dict)
print(xiaoming.dict)

运行后输出:
xiaohong
HelloWorld2
xiaoming
HelloWorld2

xiaohong

['builtins', 'doc', 'file', 'name', 'package', 'person', 'xiaohong', 'xiaoming']
['class', 'delattr', 'dict', 'doc', 'format', 'getattribute', 'hash', 'init', 'module', 'new', 'reduce', 'reduce_ex', 'repr', 'setattr', 'sizeof', 'str', 'subclasshook', 'weakref', 'age', 'get_age', 'init_person', 'name', 'sex']
{'age': 10, 'name': 'xiaohong', 'sex': 'girl'}
{'age': 10, 'name': 'xiaoming', 'sex': 'boy'}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.1面向对象 面向对象(object-oriented ;简称: OO)至今还没有统一的概念 我这里把它定义为:...
    TENG书阅读 590评论 0 0
  • 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...
    iOS_恒仔阅读 2,323评论 1 6
  • 《忧郁》——〔美〕安德鲁•所罗门 重庆出版社 1.忧郁所引发的事件在发达国家中随处可见,特别是在年轻一代的身上,首...
    莘小旧阅读 392评论 0 1
  • 按照三段结合,多义三卖已经走出来,看明天会不会冲高了。 冲高14.66以上,这里可以等。由于盘中进价较高,因此,策...
    OLALA66666阅读 205评论 0 0
  • 今天下午放学时姥姥来接的我,我一见到姥姥就说这几天没有坚持写日记的事情时,我控制不住自己就哭了。姥姥说想写日记是...
    张佳艺我的宝贝阅读 242评论 0 0