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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • __init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。

    查看全部
  • 第三步 带**的参数 上面的例子里,调用函数的时候,传递的参数都是根据位置来跟函数定义里的参数表匹配的,比如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-25

  • 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-25

  • 结果中出现的__main__意思是,调用模块本身。

    查看全部
  • try 的作用是捕获错误,并在捕获到指定错误时执行 except 语句。

    查看全部
  • 装饰器学习:

    http://blog.csdn.net/xiangxianghehe/article/details/77170585###;
    http://python.jobbole.com/82344/

    查看全部
  • %s:格式化字符串
    %f:格式化浮点数字,可指定小数点后的精度    
    % :可理解为格式化输出的标志
    Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。(类似于占位符)

    即%s对应f.__name__获取到的函数名,%f对应t2-t1的时间差

    查看全部
  • 函数式编程:

    1. 变量可以指向函数:

      eg:abs是一个函数,f = abs,此时f变量相当于一个函数

    查看全部
  • @decorator可以动态实现函数功能的增加

    查看全部
  • 关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。

    匿名函数有个限制,就是只能有一个表达式不写return,返回值就是该表达式的结果。


    查看全部
  • set属性为写,只有property,则仅仅是只读属性。

    注意:get属性必须返回东西,必须有return

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

    2018-03-25

  • @property

    @score.setter 搭配用,其中score是property修饰的方法名

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

    2018-03-25

  • 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。

    闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。

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

    2018-03-25

  • 调用 reduce(f, [1, 3, 5, 7, 9])时,reduce函数将做如下计算:

    先计算头两个元素:f(1, 3),结果为4;
    再把结果和第3个元素计算:f(4, 5),结果为9;
    再把结果和第4个元素计算:f(9, 7),结果为16;
    再把结果和第5个元素计算:f(16, 9),结果为25;
    由于没有更多的元素了,计算结束,返回结果25。


    查看全部
  •   if math.sqrt(x)%1==0:

    查看全部

举报

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

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