为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
python进阶_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 类里面的构造函数def __init__(self, ***)第一项参数固定为self,剩余的为其他自定义属性,创建实例时都要赋值,空值用None替代。访问时用‘.’操作符。

    函数任意参数:*args表示元数据参数,无名,为tuple类;**kw表示关键字key-word参数,有key值,为dict类。*args在**kw前。


    查看全部
  • sorted()函数可对list进行排序:

    >>>sorted([36, 5, 12, 9, 21])
    [5, 9, 12, 21, 36]

    倒序排列:

    def reversed_cmp(x, y):
        if x > y:
            return -1
        if x < y:
            return 1
        return 0
    >>> sorted([36, 5, 12, 9, 21], reversed_cmp)
    [36, 21, 12, 9, 5]


    查看全部
  • class Fib(object):


        def __init__(self, num):

            sum , L=0,[0,1]

            for i in range(num-2):

                sum = L[i]+L[i+1]

                L.append(sum)

            self.num = L

        def __str__(self):

            return str(self.num)

        __repr__ = __str__

        

        def __len__(self):

            return len(self.num)

                

    f = Fib(5)

    print f

    print len(f)


    查看全部
    0 采集 收起 来源:python中 __len__

    2018-10-31

  • class Student(object):


        def __init__(self, name, score):

            self.name = name

            self.score = score


        def __str__(self):

            return '(%s: %s)' % (self.name, self.score)


        __repr__ = __str__


        def __cmp__(x, y):

            if x.score > y.score:

                return -1

            elif x.score < y.score:

                return 1

            elif x.name > y.name:

                return 1

            elif x.name < y.name:

                return -1

            else:

                return 0

                


    L = [Student('Tim', 99), Student('Bob', 88), Student('Alice', 99)]

    print sorted(L)


    查看全部
    0 采集 收起 来源:python中 __cmp__

    2018-10-31

  • class Person(object):


        def __init__(self, name, gender):

            self.name = name

            self.gender = gender


    class Student(Person):


        def __init__(self, name, gender, score):

            super(Student, self).__init__(name, gender)

            self.score = score


        def __str__(self):

            return '(Student:%s,%s,%s)' % (self.name,self.gender,self.score)

        __repr__ = __str__    


    s = Student('Bob', 'male', 88)

    print s


    查看全部
  • class Person(object):

        def __init__(self, name, gender):

            self.name = name

            self.gender = gender


    class Student(Person):

        def __init__(self, name, gender, score):

            super(Student, self).__init__(name, gender)

            self.score = score

        def whoAmI(self):

            return 'I am a Student, my name is %s' % self.name

    p = Person('hanyang','nv')        

    print p.name

    s = Student('hanyang','nan' , 90)

    print s.whoAmI()

    print dir(s)

    b = dir(s)

    L = 'hanyang'

    print len(L)

    def ooo(x):

        if len(x)<7:    

            return x

                

    print filter(ooo,b)


    print filter(lambda x : x and not '_' in x ,b)


    查看全部
  • class Person(object):


        def __init__(self, name, gender, **kw):

            self.name = name

            self.gender = gender

            for k,v in kw.iteritems():

                setattr(self ,k,v)


    p = Person('Bob', 'Male', age=18, course='Python')

    print p.age

    print p.course


    查看全部
  • class Person(object):

        pass


    class Student(Person):

        pass


    class Teacher(Person):

        pass


    class SkillMixin(object):

        pass


    class BasketballMixin(SkillMixin):

        def skill(self):

            return 'basketball'


    class FootballMixin(SkillMixin):

        def skill(self):

            return 'football'


    class BStudent(Person,BasketballMixin):

        pass


    class FTeacher(Person,FootballMixin):

        pass


    s = BStudent()

    print s.skill()


    t = FTeacher()

    print t.skill()


    查看全部
  • import json


    class Students(object):

        def __init__(self,name):

            self.name =name

        def read(self):

            return self.name

    s = Students(r'["Tim", "Bob", "Alice"]')


    print json.load(s)


    查看全部
    0 采集 收起 来源:python中多态

    2018-10-31

  • class Person(object):


        def __init__(self, name, gender):

            self.name = name

            self.gender = gender


    class Student(Person):


        def __init__(self, name, gender, score):

            super(Student, self).__init__(name, gender)

            self.score = score


    class Teacher(Person):


        def __init__(self, name, gender, course):

            super(Teacher, self).__init__(name, gender)

            self.course = course


    t = Teacher('Alice', 'Female', 'English')


    print isinstance(t,Person)

    print isinstance(t,Student)

    print isinstance(t,Teacher)

    print isinstance(t,object)


    查看全部
  • class Person(object):

        def __init__(self, name, gender):

            self.name = name

            self.gender = gender


    class Teacher(Person):

        

        def __init__(self, name, gender, course):

            super(Teacher,self).__init__(name,gender)

            self.course =course

    t = Teacher('Alice', 'Female', 'English')

    print t.name

    print t.course


    查看全部
  • 排序使用:
    1.统一首字母为大写或小写
    sorted(L1,lambda p1,p2:cmp(p1.name,p2.name))
    2.忽略大小写
    sorted(L1,lambda p1,p2:cmp(p1.name。upper(),p2.name.upper()))

    查看全部
  • int() 函数用于将一个字符串或数字转换为整型。

    查看全部
  • class Person(object):


        __count = 0

        @classmethod

        def how_many(cls):

            return cls.__count

        def __init__(self,name):

            self.name = name

            Person.__count +=1


    print Person.how_many()


    p1 = Person('Bob')


    print Person.how_many()


    查看全部
  • #-*- coding:utf-8 -*-

    class Person(object):


        def __init__(self, name, score):

            self.name =name

            self.__score =score


        def get_grade(self):

            if(self.__score>80):

                return 'A-优秀'

            elif(self.__score>=60): 

                return 'B-及格'

            else:

                return 'C-不及格'


    p1 = Person('Bob', 90)

    p2 = Person('Alice', 65)

    p3 = Person('Tim', 48)


    print p1.get_grade()

    print p2.get_grade()

    print p3.get_grade()


    查看全部

举报

0/150
提交
取消
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!