加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

史上最全Python面向工具编程

发布时间:2019-03-26 23:11:22 所属栏目:建站 来源:浪子燕青
导读:面向工具编程和函数式编程(面向进程编程)都是措施计划的要领,不外稍有区别。 面向进程编程: 1. 导入各类外部库 2. 计划各类全局变量 3. 写一个函数完成某个成果 4. 写一个函数完成某个成果 5. 写一个函数完成某个成果 6. 写一个函数完成某个成果 7. 写一

实例要领

  1. # -*- coding: utf-8 -*- 
  2. # @Time    : 2018/5/3 0003 17:16 
  3. # @Author  : Langzi 
  4. # @Blog    : www.langzi.fun 
  5. # @File    : 面向工具3.py 
  6. # @Software: PyCharm 
  7. import sys 
  8. import time 
  9. import requests 
  10. reload(sys) 
  11. sys.setdefaultencoding('utf-8') 
  12.  
  13. class dd: 
  14.     def __init__(self,url): 
  15.         self.url=url 
  16.     def runx(self): 
  17.         print requests.get(self.url).status_code 
  18.  
  19. a = dd('http://www.langzi.fun') 
  20. a.runx() 
  21. # 这种挪用要领就是实例要领 

静态要领

静态要领由类挪用,无默认参数。将实例要领参数中的self去掉,然后在要领界说上方加上@staticmethod,就成为静态要领。它属于类,和实例无关。提议只行使类名.静态要领的挪用方法。(固然也可以行使实例名.静态要领的方法挪用)

  1. # -*- coding: utf-8 -*- 
  2. # @Time    : 2018/5/3 0003 17:21 
  3. # @Author  : Langzi 
  4. # @Blog    : www.langzi.fun 
  5. # @File    : 面向工具4.py 
  6. # @Software: PyCharm 
  7. import sys 
  8. import requests 
  9. reload(sys) 
  10. sys.setdefaultencoding('utf-8') 
  11. class ff: 
  12.     @staticmethod 
  13.     def runx(): 
  14.         print requests.get('http://www.langzi.fun').status_code 
  15. ff.runx() 
  16. #这里就直接挪用了类的变量,只在类中运行而不在实例中运行的要领 

常常有一些跟类有相关的成果但在运行时又不必要实例和类参加的环境下必要用到静态要领. 好比变动情形变量可能修改其他类的属性等能用到静态要领. 这种环境可以直接用函数办理, 但这样同样会扩散类内部的代码,造成维护坚苦。

类要领

类要领由类挪用,回收@classmethod装饰,至少传入一个cls(代指类自己,相同self)参数。执行类要领时,自动将挪用该要领的类赋值给cls。提议只行使类名.类要领的挪用方法。(固然也可以行使实例名.类要领的方法挪用)

现实案例

假如要结构一个类,接管一个网站和这个网站的状态码,然后打印出来。就像这样:

  1. import sys 
  2. import requests 
  3. reload(sys) 
  4. sys.setdefaultencoding('utf-8') 
  5. class gg: 
  6.     def __init__(self,url,stat): 
  7.         self.url=url 
  8.         self.stat=stat 
  9.     def outer(self): 
  10.         print self.url 
  11.         print self.stat 
  12. a = gg('langzi',200) 
  13. a.outer() 

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读