zoukankan      html  css  js  c++  java
  • python中创建实例属性

    虽然可以通过Person类创建出xiaoming、xiaohong等实例,但是这些实例看上除了地址不同外,没有什么其他不同。在现实世界中,区分xiaoming、xiaohong要依靠他们各自的名字、性别、生日等属性。

    如何让每个实例拥有各自不同的属性?由于Python是动态语言,对每一个实例,都可以直接给他们的属性赋值,例如,给xiaoming这个实例加上name、genderbirth属性:

    xiaoming = Person()
    xiaoming.name = 'Xiao Ming'
    xiaoming.gender = 'Male'
    xiaoming.birth = '1990-1-1'

    xiaohong加上的属性不一定要和xiaoming相同:

    xiaohong = Person()
    xiaohong.name = 'Xiao Hong'
    xiaohong.school = 'No. 1 High School'
    xiaohong.grade = 2

    实例的属性可以像普通变量一样进行操作:

    xiaohong.grade = xiaohong.grade + 1

    任务

    请创建包含两个 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

  • 相关阅读:
    理解MySQL——索引与优化
    ArrayList vs LinkedList vs Vector
    Java集合框架的接口和类层次关系结构图
    Java集合的10个最常见问题
    Mysql 中的事件//定时任务
    Mysql中的函数
    Mysql中的触发器
    Mysql中的存储过程
    Oracle数据库表的一些宏处理
    Oracle查询和过滤重复数据
  • 原文地址:https://www.cnblogs.com/liuqingqing/p/8870726.html
Copyright © 2011-2022 走看看