为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • ython对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),

    查看全部
  • reduce()函数也有两个参数,一个是函数f,一个是list(与map函数类似)    区别有两点:第一 函数f接收的必须是两个参数     第二   对list的每个元素都反复调用函数f

    EX:

    def add(x,y):

        return x+y

    L=[1,3,5,7,9]

    print reduce (add,L)     //最终结果为25

    reduce()函数还可以接收第3个可选参数,作为计算的初始值

    Ex:

    reduce(add,L,100)  //计算初始值和第一个元素:add(100,1)   结果为101

    查看全部
  • map()函数有两个参数,接受一个函数f和一个list,并通过函数f依次作用在list的每个元素上。

    EX:

    def f(x):
        return x*x
    print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])

    .upper函数是把所有字母变成大写

    .lower函数是把所有字母变成小写

    查看全部
  • math.sqrt是可以用来计算平方根的函数!!

    其返回值是浮点数  如果题目要求是整数  必须前面加int

    查看全部
  • a, b = b, a + b  

    注意与a = b,b = a+b的区别

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

    2019-07-12

  • 定义实例--私有属性

    • 私有属性无法从外部访问,但是可以在类的内部访问

    • 实例的方法就是在类中定义的函数,它的第一个参数永远是 self,指向调用该方法的实例本身,其他参数和一个普通函数是完全一样的:
    class Person(object):
    
        def __init__(self, name):
            self.__name = name
    
        def get_name(self):
            return self.__name
        
    p1 = Person('Bob')
    print p1.get_name()  # self不需要显式传入
    # => Bob
    • 在实例方法内部,可以访问所有实例属性,这样,如果外部需要访问私有属性,可以通过方法调用获得,这种数据封装的形式除了能保护内部数据一致性外,还可以简化外部调用的难度。
    • 输出中文记得文件头部添加编码- #-*- coding:UTF-8 -*-


    查看全部
    • 实例属性每个实例各自拥有,互相独立,而类属性有且只有一份(类属性直接绑定在类上面,因此不需要创建实例即可访问)
    • python 是动态语言,因此类属性可动态修改和修改, 类内部调用类属性(Person.attr)
    • 类属性与实例属性名字冲突:实例属性优先级高,将屏蔽对类属性的访问
    查看全部
  • filter运行出现 <filter object at 0x000001B68F052828> 判断素数

    刚接触filter时  运行总是出现<filter object at 0x000001B68F052828>  得不到想要的数据

    后来发现是因为filter的结果是一个数组 需要 list 帮助

    后来将print(f)  改为  print(list(f))  成功~

    代码:def fil(n):

         return n%2==1

       f=filter(fil,range(100))

       print(list(f))

    结果:

    将100以内的奇数算出来了


    查看全部
  • s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。

    当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' '),如下:

    a = '     123'
    a.strip()

    结果: '123'

    这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

    例如,要从一个list [1, 4, 6, 7, 9, 12, 17]中删除偶数,保留奇数,首先,要编写一个判断奇数的函数:

    def is_odd(x):
        return x % 2 == 1

    然后,利用filter()过滤掉偶数:

    filter(is_odd, [1, 4, 6, 7, 9, 12, 17])


    查看全部
  • 正确实现特殊方法

    查看全部
  • def __init__(self, name, gender, **kw):

            self.name = name

            self.gender = gender

            for k , v in kw.items(): 传入**kw 即可传入任意数量的参数,并通过 setattr() 绑定属性。

                setattr(self , k ,v)

    获取object对象的属性的值,如果存在则返回属性值,如果不存在分为两种情况,一种是没有default参数时,会直接报错;给定了default参数,若对象本身没有name属性


    查看全部
  • 调用 s.whoAmI()总是先查找它自身的定义,如果没有定义,则顺着继承链向上查找,直到在某个父类中找到为止。

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

    2019-07-12

  • 继承中用super初始化父类

    查看全部
  • 继承的特点

    查看全部
  • 如果要限制添加的属性,例如,Student类只允许添加 name、genderscore 这3个属性,就可以利用Python的一个特殊的__slots__来实现。

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

    2019-07-12

举报

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

微信扫码,参与3人拼团

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

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