鉴于昨天被类和函数折腾得晕头转向,今特把类的知识翻出来温习。

1、定义类并创建实力对象

 #!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'ziv·chan' #定义Person类,并创建出两个实例,打印实例,再比较两个实例是否相等。
class Person(object):
pass ming = Person()
hong = Person() print ming
print hong
print ming == hong
<__main__.Person object at 0x7f8722277450>
<__main__.Person object at 0x7f8722195910>
False

几点说明:

1、pass能够创建一个最简单的类.结果中出现的__main__意思是,调用模块本身。

2、判断某个对象是否是类的实例:isinstance(a, A)。

3、判断两个对象是否是否完全一致(意思为: 判断两个变量引用的地址是否相同,如果相同,则两个变量实际引用为同一对象):a is b。

4、判断两个对象中的内容是否相同,用 == 进行判断:a == b。

2、创建实例属性

 #!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'ziv·chan' #创建包含两个 Person 类的实例的 list,并给两个实例的 name 赋值,然后按照 name 进行排序。
class Person(object):
pass
p1 = Person()
p1.name = 'Bart' p2 = Person()
p2.name = 'Adam' p3 = Person()
p3.name = 'Lisa' L1 = [p1, p2, p3]
L2 = sorted(L1,key = lambda x:x.name) print L2[0].name
print L2[1].name
print L2[2].name

几点说明:

1、sort()与sorted()的不同在于,sort是在原位重新排列列表,而sorted()是产生一个新的列表。sorted(iterable, cmp=None, key=None, reverse=False),iterable:是可迭代类型;cmp:用于比较的函数,比较什么由key决定;key:用列表元素的某个属性或函数进行作为关键字,有默认值,迭代集合中的一项;reverse:排序规则. reverse = True  降序 或者 reverse = False 升序,有默认值。返回值:是一个经过排序的可迭代类型,与iterable一样。key接受的函数返回值,表示此元素的权值,sorted将按照权值大小进行排序。在此不再展开。

2、lambda是一个匿名函数,其主体是一个表达式,而不是一个代码块,仅仅能在lambda表达式中封装有限的逻辑进去,lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。

3、cmp:比较两个对象x和y,如果x < y ,返回负数;x == y, 返回0;x > y,返回正数。

最新文章

  1. 利用简洁的图片预加载组件提升h5移动页面的用户体验
  2. Ajax表单序列化后的数据格式转成Json发送给后台
  3. GL10控制图形旋转
  4. mongodb分组,的两种方式,先记一下
  5. 让Codeigniter控制器支持多级目录
  6. BZOJ1699: [Usaco2007 Jan]Balanced Lineup排队
  7. DeDe调用指定栏目ID下的文章
  8. c#: 简单的日志管理类(TextWriterTraceListener)
  9. linux常用命令总结(含选项参数)
  10. ExtJS错误解决 Cannot read property &#39;on&#39; of undefined
  11. Page.TryUpdateModel 方法
  12. 633E Binary Table
  13. 处女座和小姐姐(三)(数位dp)
  14. Composite模式(组合设计模式)
  15. Java排序算法(二)
  16. fpga Verilog hdl 按键消抖 部分程序讲解
  17. XManager 远程连接Netbackup图形用户界面
  18. 算法学习--Day8
  19. 51nod 1089 最长回文子串&#160;V2(Manacher算法)
  20. MonoBehaviour生命周期

热门文章

  1. webpy:页面下载的三种实现方式
  2. 常用html元素的取值和赋值方法总结
  3. json 项目应用
  4. Python 常量与变量
  5. ASP.NET-FineUI开发实践-9
  6. innodb的innodb_buffer_pool_size和MyISAM的key_buffer_size
  7. 网络断开后重连downloadProvider继续下载问题调试分析
  8. Visual Studio使用技巧记录
  9. Linq中字段数据类型转换问题(Linq to entity,LINQ to Entities 不识别方法&quot;System.String ToString()&quot;问题解决)
  10. JAVA-6-简单的模拟ATM使用