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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • sqrt()函数:返回数字的平方根
    查看全部
  • sqr(x)代表求非负数x的算术平方根
    查看全部
  • prod函数:prod(x,y) return x*y
    查看全部
  • 函数装饰器是对一个函数进行改造、修饰,而@property则是把一个类内的函数改造成属性
    查看全部
    0 采集 收起 来源:python中 @property

    2017-06-26

  • def gcd(a, b): if b == 0: return a return gcd(b, a % b) 经典的求最小公约数的算法,实在不行就死记吧,其实也好理解
    查看全部
  • python中函数参数*args和**kw总结: 带*的参数 定义函数def funcD(a, b, *c): 调用funcD(1, 2, 3, 4, 5, 6) 前面两个参数被a、b接受了,剩下的4个参数,全部被c接受了,c在这里是一个tuple。我们在调用funcD的时候,至少要传递2个参数,2个以上的参数,都放到c里了,如果只有两个参数,那么c就是一个empty tuple(空元组)。 带**的参数 如果一个函数定义中的最后一个形参有 ** (双星号)前缀,所有正常形参之外的其他的关键字参数都将被放置在一个字典中传递给函数 定义函数:def funcF(a, **b): 调用funcF(100, c='你好', b=200) 。b是一个dict对象实例,它接受了关键字参数b和c。
    查看全部
    0 采集 收起 来源:课程介绍

    2017-06-26

  • 第三步 带**的参数 上面的例子里,调用函数的时候,传递的参数都是根据位置来跟函数定义里的参数表匹配的,比如funcB(100, 99)和funcB(99, 100)的执行结果是不一样的。 在Python里,还支持一种用关键字参数(keyword argument)调用函数的办法,也就是在调用函数的时候,明确指定参数值付给那个形参。比如还是上面的funcB(a, b),我们通过这两种方式调用 funcB(a=100, b=99) 和 funcB(b=99, a=100) 结果跟funcB(100, 99)都是一样的,因为我们在使用关键字参数调用的时候,指定了把100赋值给a,99赋值给b。也就是说,关键字参数可以让我们在调用函数的时候打乱参数传递的顺序! 在函数调用中,可以混合使用基于位置匹配的参数和关键字参数,前题是先给出固定位置的参数,比如 def funcE(a, b, c): print a print b print c 调用funcE(100, 99, 98)和调用funcE(100, c=98, b=99)的结果是一样的。 如果一个函数定义中的最后一个形参有 ** (双星号)前缀,所有正常形参之外的其他的关键字参数都将被放置在一个字典中传递给函数,比如: def funcF(a, **b): print a for x in b: print x + ": " + str(b[x]) 调用funcF(100, c='你好', b=200),执行结果 100 c: 你好 b: 200 更直观的看下 def funcf(a,**b): print a print b 调用print(funcf(b=200,c='ni hao ',a=100))执行结果 100 {'c': 'ni hao ', 'b': 200} 大家可以看到,b是一个dict对象实例,它接受了关键字参数b和c。
    查看全部
    0 采集 收起 来源:课程介绍

    2018-03-22

  • python中函数参数*args和**kw的区别(分三步+总结介绍): 第一步 函数的参数 定义了一个函数funcA def funcA(): pass 函数funcA没有参数 下面这个函数funcB就有两个参数了, def funcB(a, b): print a print b 调用的时候,我们需要使用函数名funcB(100, 99),执行结果是: 100 99 参数的顺序和个数要和函数定义中一致,如果执行funcB(100),Python会报错 可以在函数定义中使用参数默认值,比如 def funcC(a, b=0): print a print b 在函数funcC的定义中,参数b有默认值,是一个可选参数,如果我们调用funcC(100),b会自动赋值为0。 第二步 带*的参数 目前为止,我们要定义一个函数的时候,必须要预先定义这个函数需要多少个参数。但是在定义函数的时候,不能知道参数个数的情况,在Python里,带*的参数就是用来接受可变数量参数的。 例: def funcD(a, b, *c): print a print b print "length of c is: %d " % len(c) print c 调用funcD(1, 2, 3, 4, 5, 6)结果是 1 2 length of c is: 4 (3, 4, 5, 6) 前面两个参数被a、b接受了,剩下的4个参数,全部被c接受了,c在这里是一个tuple。我们在调用funcD的时候,至少要传递2个参数,2个以上的参数,都放到c里了,如果只有两个参数,那么c就是一个empty tuple。
    查看全部
    0 采集 收起 来源:课程介绍

    2018-03-22

  • 装饰器”(Decorator): decorator可以接受一个函数作为参数,并返回一个新函数 def f1(x): #定义一个函数f1 return x*2 def new_fn(g): #这就是装饰器函数 def fn(x): print ('call %s()' %g.__name__) #g.__name__:代码作用提取函数名称 return g(x) return fn 装饰器函数的调用: g1 = new_fn(f1) #用装饰器函数对函数f1装饰,并将return 的新函数赋予g1 print g1(5) #调用函数g1,并计算5. 方法二 f1 = new_fn(f1) #将return 的新函数赋予f1,此时f1的原始定义被彻底隐藏。 print f1(5) 结果: call f1() 25 关于装饰器的调用:Python的@语法,把decorator置于函数的定义处: @new_fn def f1(x): retunr x*2 把@new_fn放到f1()函数的定义处,相当于执行了语句: f1 = new_fn(f1) 等同于上面所述的方法二
    查看全部
  • 利用filter(),可以完成很多有用的功能,例如,删除 None 或者空字符串: def is_not_empty(s): return s and len(s.strip()) > 0 filter(is_not_empty, ['test', None, '', 'str', ' ', 'END']) 利用匿名函数简化以上代码: print filter(lambda s : s and len(s.strip())>0 ,['test', None, '', 'str', ' ', 'END'])
    查看全部
  • 访问类属性和实例属性时有限访问实例属性,没有实例属性再返回类属性
    查看全部
  • python中匿名函数: 在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算 f(x)=x2 时,除了定义一个f(x)的函数外,还可以直接传入匿名函数: >>> map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]) [1, 4, 9, 16, 25, 36, 49, 64, 81] 通过对比可以看出,匿名函数 lambda x: x * x 实际上就是: def f(x): return x * x 关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。 匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。 使用匿名函数,可以不必定义函数名,直接创建一个函数对象,很多时候可以简化代码: >>> sorted([1, 3, 9, 5, 0], lambda x,y: -cmp(x,y)) [9, 5, 3, 1, 0] 返回函数的时候,也可以返回匿名函数: >>> myabs = lambda x: -x if x < 0 else x >>> myabs(-1) 1 >>> myabs(1) 1 匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。 用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数: >>> f = lambda x: x * x >>> f <function <lambda> at 0x101c6ef28> >>> f(5) 25 同样,也可以把匿名函数作为返回值返回,比如: def build(x, y): return lambda: x * x + y * y
    查看全部
  • s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')
    查看全部
  • filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。
    查看全部
  • reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。 reduce()还可以接收第3个可选参数,作为计算的初始值。
    查看全部

举报

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

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