为了账号安全,请及时绑定邮箱和手机立即绑定
  • 双下划线 __ 的目的大概就是防止编码过程中试图使用实例修改类属性,加上__的话,在做这样的尝试时会报错,防止编码者在达不到目的的情况下还察觉不到错误

    查看全部
  • 定义类属性可以直接在 class 中定义,比如在前面的Animal类中,加入地域的类属性:

    class Animal(object):
        localtion = 'Asia'
        def __init__(self, name, age):
            self.name = name
            self.age = age

    此后,通过Animal()实例化的所有对象,都可以访问到localtion,并且得到唯一的结果。

    dog = Animal('wangwang', 1)
    cat = Animal('mimi', 3)
    print(dog.localtion) # ==> Asia
    print(cat.localtion) # ==> Asia
    # 类属性,也可以通过类名直接访问
    print(Animal.localtion) # ==> Asia

    类属性也是可以动态添加和修改的,需要注意的是,因为类属性只有一份,所以改变了,所有实例可以访问到的类属性都会变更:

    查看全部
    0 采集 收起 来源:Python类属性

    2021-01-28

  • 在定义 Person 类时,可以为Person类添加一个特殊的__init__()方法,当创建实例时,__init__()方法被自动调用,我们就能在此为每个实例都统一加上以下属性:

    class Person(object):
        def __init__(self, name, sex, age):
            self.name = name
            self.sex = sex
            self.age = age

    在实例化的时候,需要提供除self以外的所有参数。

    xiaoming = Person('Xiao Ming', 'boy', 13)
    xiaohong = Person('Xiao Hong', 'girl', 14)


    查看全部
  • 这些属性也可以和普通变量一样进行运算。比如xiaohong长大了一岁:

    xiaohong.age = xiaohong.age + 1


    查看全部
  • 在Python中,通过class关键字定义一个类,比如我们需要定义一个人的类。按照 Python 的编程习惯,类名以大写字母开头。因此可以这样定义:

     class Person:  pass

    定义了类之后,就可以对类进行实例化了,实例化是指,把抽象的类,赋予实物的过程。比如,定义好Person这个类后,就可以实例化多个Person出来了。
    创建实例使用类名+(),类似函数调用的形式创建:

     class Person(object):  pass xiaohong = Person() xiaoming = Person()


    查看全部
  • str() 化为字符型

    查看全部
  • # Enter a code

    import time


    def performance(f):

        def fn(*args,**kwargs):

            t1 = time.time()

            r = f(*args,**kwargs)

            t2 = time.time()

            print('call %s() in %fs' % (f.__name__, (t2-t1)))

            return r

        return fn

        

    @performance

    def factorial(n):

        return reduce(lambda x,y: x*y, range(1, n+1))

    print(factorial(10))


    查看全部
  • 继承
    查看全部
  • Python类的定义与实例化 在Python中,通过class关键字定义一个类,比如我们需要定义一个人的类。按照 Python 的编程习惯,类名以大写字母开头。因此可以这样定义: class Person: pass 注意,在这个Person类的定义里面,并没有继承任何类,除了这样定义以外,还可以有以下两种定义方式。 class Person(): pass class Person(object): pass 这三种情况有什么区别呢?在Python3中,是没有区别的,但是在Python2中,则有一定的区别。 在Python2中,对于第一种定义的方法,Person类只有有限的几个内建函数'__doc__', '__module__', 'name',而对于第二种、第三种定义的方法,则会继承Python object对象的更多的内建函数,可以更便捷的操作对象。这是Python2版本的差异。在Python3中,我们只需要知道这三种方式都可以定义一个类即可。 定义了类之后,就可以对类进行实例化了,实例化是指,把抽象的类,赋予实物的过程。比如,定义好Person这个类后,就可以实例化多个Person出来了。 创建实例使用类名+(),类似函数调用的形式创建: class Person(object): pass xiaohong = Person() xiaoming = Person() 任务 请练习定义一个动物类,并创建出两个实例dog, cat,打印实例,再比较两个实例是否相等。 index.py # Enter a code 本节编程练习不计算学习进度,请电脑登录imooc.com操作
    查看全部
  • 什么是面向对象编程
    查看全部
  • 面相对象
    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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