黑马python就业班贪婪和非贪婪视频2020黑马python5.0百度云
下载地址 https://share.weiyun.com/dHvWwF1o
资料目录 黑马程序员python入门教程19天(美女讲师版) 包含:视频课程-python从0开始学编程(day1-day19) 课件+代码资料-python从0开始学编程(day1-day19) 黑马python基础班代码和课件资料 黑马python就业班代码和课件资料 黑马python基础班视频课程 包含:1-1 Linux基础(119个视频) 1-2 python基础(234个视频) 1-3 面向对象(91个视频) 1-4 项目飞机大战(42个视频) 黑马python就业班视频课程 包含:01 网络编程 02 多任务 03 web服务器v3.1 04 Python高级语法v3.1 05 MySQL数据库v3.1 06 mini-web框架v3.1 07 HTML和CSS 08 首页布局案例和移动布局 09 JavaScriptv 10 jQuery和js库 11 Django框架 12 git版本管理 13 redis数据库 14 天天生鲜Django项目 15 flask框架 16 微信公众号 17 爱家租房项目 18 通用爬虫模块使用 19 MongoDB数据库 20 爬虫scrapy框架及案例 21 数据分析 22 机器学习 23 深度学习 24 数据结构和算法 25 Python网络爬虫 26 机器学习入门篇 27 机器学习入门篇2 28 机器学习提升篇 29 数据挖掘篇 30 深度学习必备原理与实战 31 深度学习必备原理与实战2 32 深度学习必备原理与实战3 33 深度学习必备原理与实战4 34 深度学习项目实战 35 深度学习项目实战2 36 深度学习项目实战3 举例 静态方法和类方法 类的方法第一个参数必须是self,并且如果要调用类的方法,要通过类的实例,即方法绑定实例后才能由实例调用。如果不绑定,一般在继承关系的类之间,可以用super函数等方法调用。 静态方法和类方法是什么意思呢?跟前面所说的调用类方法有什么关系吗?先看代码: #!/usr/bin/env python # coding=utf-8 __metaclass__ = type class StaticMethod: @staticmethod def foo(): print "This is static method foo()." class ClassMethod: @classmethod def bar(cls): print "This is class method bar()." print "bar() is part of class:", cls.__name__ if __name__ == "__main__": static_foo = StaticMethod() #实例化 static_foo.foo() #实例调用静态方法 StaticMethod.foo() #通过类来调用静态方法 print "********" class_bar = ClassMethod() class_bar.bar() ClassMethod.bar() 对于这部分代码,有一处非常特别,那就是包含了“@”符号(带@符号的东西是很神奇的)。在Python中: (1)@staticmethod表示下面的方法是静态方法。 (2)@classmethod表示下面的方法是类方法。 是不是感到有点莫名其妙?少安毋躁,一个一个解释。 先看静态方法,虽然名为静态方法,但也是方法,所以,依然用def语句来定义。需要注意的是文件名后面的括号内没有self,这和前面定义的类中的方法不同,也正是因为这个不同,才给它另外取了一个名字叫作静态方法,否则不就“泯然众人矣”。如果没有self,那么也就无法访问实例变量、类和实例的属性了,因为它们都是借助self来传递数据的。 再看类方法,同样也具有一般方法的特点,区别也在参数上。类方法的参数也没有self,但是必须有cls这个参数。在类方法中,能够访问类属性,但是不能访问实例属性(读者可以自行设计代码检验之)。 明确两种方法之后,继续探究如何调用。两种方法都可以通过实例调用,即绑定实例。也可以通过类来调用,即StaticMethod.foo()这样的形式,这也是区别一般方法的地方,一般方法必须通过绑定实例调用。 上述代码运行结果: $ python 21001.py This is static method foo(). This is static method foo(). ******** This is class method bar(). bar() is part of class: ClassMethod This is class method bar(). bar() is part of class: ClassMethod 这是关于静态方法和类方法的简要介绍。 正当我思考如何讲解地更深入一点的时候,想起了以往看过的一篇文章,觉得人家讲得非常到位。文章标题是:《python中的staticmethod和classmethod的差异》,原载于:www.pythoncentral.io/difference-between-staticmethod-and-classmethod-in-python/。此地址需要你准备梯子才能浏览。后经国人翻译,地址是: http://www.wklken.me/posts/2013/12/22/difference-between-staticmethod-and-classmethod-in-python.html。
|