A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zzdsw 初级黑马   /  2018-6-1 22:31  /  1560 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

笔记:

首先理解,在python中一切皆对象,同过类创建的实例是对象,类本身也是一种对象.

理解这一点之后,因为类也是对象,我们便可以运行时动态的创建他们,就像创建其他实例一样.

    def choose_class(name):
        if name == 'foo':
            class Foo(object):
                pass
            return Foo  # 返回的是类,不是类的实例
        else:
            class Bar(object):
                pass
            return Bar
    Myclass = choose_class('foo')
    print(Myclass)
    <class '__main__.choose_class.<locals>.Foo'>
    print(Myclass())
    <__main__.choose_class.<locals>.Foo object at 0x0000000004612518>

一般上面的方法不建议用,因为类是一等公民.





另外一种动态创建类的方法 type()方法,格式如下:

    #先看传统方法
    class person:
        pass
   
    p1 = person()#这样我们就简单的创建了person类的实例化对象
   
    #再看第二种用type()的方法
    #类名 = type("类名",(父类),{字典类型的属性})
    Test = type("Test2",(),{})
    t1 = Test()

上面第二种方法叫做元类

    #再看带有方法的元类
    def printNum(self):
   
        print("---%d---" % self.num)
   
    Test3 = type("Test3", (), {"printNum": printNum})
    t = Test3()
    t.num =100
   
    t.printNum()
           





列表操作



列表删除的两个方法;

    del list[i]
    list.pop(index)
    #如果要从列表中删除一个元素,且不再以任何方式使用它,就是用del 语句;如果你要在删除元素后还能继续使用它,及使用方法pop()

可以根据值来删除元素(不知道要从列表中删除的值所在的位置.)

列表删除的两个方法:

    del list[i]
    list.pop(index)#默认的话删除最后一个元素 并且返回被删除的元素



可以根据值来删除元素(不知道要从列表中删除的值所在的位置.)可使用remove()



    motocycles = ["handa","yamaha","suzuki"."ducati"]
    print(motocycles)
    motecycles.remove("ducati")#不知道ducati在列表哪个位置,所以用remove()方法
    print(motecycles) #输出["handa","yamaha","suzuki"]

列表添加元素

用append()方法

    motocycles = ["handa","yamaha","suzuki","ducati"]
    motocycles.append("jane") #add an element to the end of list

插入元素:用insert()方法

    motocycles = ["handa","yamaha","suzuki"]
    #motocycles.insert(index,element)
    motocycles.insert(0,"benz")#insert a element "benz" at the index of 0

列表的sort()方法   注意: 'sort()'是一个方法

使用sort()方法对列表操作后列表已经被永久性改变

    cars = ["bmw","audi","toyota","subaru"]
    cars.sort()
    print(cars)#['audi', 'bmw', 'subaru', 'toyota']

sorted()函数可以对列表进行临时排序,不会永久性改变列表元素的排列

    cars = ["bmw","audi","toyota","subaru"]
    print("the original car list is : ")
    print(cars)
   
    print("the sorted list is:")
    print(sorted(cars))
   
    print("the original car list is:")
    print(cars)
    #the original car list is :
    #['bmw', 'audi', 'toyota', 'subaru']
    #the sorted list is:
    #['audi', 'bmw', 'subaru', 'toyota']
    #the original car list is:
    #['bmw', 'audi', 'toyota', 'subaru']


1 个回复

倒序浏览
我来占层楼啊  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马