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

史上最全Python面向对象编程

发布时间:2019-03-27 13:15:21 所属栏目:建站 来源:浪子燕青
导读:面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别。 面向过程编程: 1. 导入各种外部库 2. 设计各种全局变量 3. 写一个函数完成某个功能 4. 写一个函数完成某个功能 5. 写一个函数完成某个功能 6. 写一个函数完成某个功能 7. 写一

这样就是使用实例方法,虽然可以实现,但是有的时候传入的参数并不是(‘langzi’,200)这样的格式,而是(‘langzi-200’)这样的,那该怎么做?首先要把这个拆分,但是要使用实例方法实现起来很麻烦,这个时候就可以使用类方法。

  1. # -*- coding: utf-8 -*- 
  2. # @Time    : 2018/5/3 0003 17:27 
  3. # @Author  : Langzi 
  4. # @Blog    : www.langzi.fun 
  5. # @File    : 面向对象5.py 
  6. # @Software: PyCharm 
  7. import sys 
  8. import requests 
  9. reload(sys) 
  10. sys.setdefaultencoding('utf-8') 
  11. class gg: 
  12.     url = 0 
  13.     stat = 0 
  14.     # 因为使用classmethod后会传入新的变量,所以一开始是需要自己先定义类变量 
  15.     def __init__(self,url=0,stat=0): 
  16.     # 这里按照正常的定义构造函数 
  17.         self.url=url 
  18.         self.stat=stat 
  19.     @classmethod 
  20.     # 装饰器,立马执行下面的函数 
  21.     def split(cls,info): 
  22.         # 这个函数接受两个参数,默认的cls就是这个类的init函数,info就是外面传入进来的 
  23.         url,stat=map(str,info.split('-')) 
  24.         # 这里转换成了格式化的结构 
  25.         data = cls(url,stat) 
  26.         # 然后执行这个类第一个方法,这个类构造函数需要传入两个参数,于是就传入了两个参数 
  27.         return data 
  28.         # 这里就直接返回了函数结果 
  29.     def outer(self): 
  30.         print self.url 
  31.         print self.stat 
  32.  
  33. r = gg.split(('langzi-200')) 
  34. r.outer() 
  35. # 这里是调用类方法,与调用实例方法一样 

类的特性

封装

封装是指将数据与具体操作的实现代码放在某个对象内部,外部无法访问。必须要先调用类的方法才能启动。

(编辑:核心网)

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

热点阅读