面向对象编程:

一个种类、一个模型
实例、实例化、对象
实例、对象:
根据模型制作出来的东西。
实例化:
就是做东西的这个过程。
    class My:
    my=My()
私有
方法
类里面的函数
属性
类里面的变量
构造函数
类在实例化的时候会自动执行的一个函数
class MyDb:
def __init__(self,host,user,password,db,port=3306,charset='utf8'):#构造函数,
print('连接数据库')
self.conn = pymysql.connect(host=host,user=user,password=password,
db=db,port=port,charset=charset)
self.cur = self.conn.cursor() def execute_one(self,sql):
print('返回单条数据')
self.cur.execute(sql)
res = self.cur.fetchone()
return res
my=MyDb('127.0.0.3','jxz',123456,'jxz') #实例化
        析构函数
实例在销毁的时候自动执行的函数
def __del__(self): self
代表的本类对象。
       一个变量前面加了self之后,在整个类中的其他函数都可以用了
类变量:
就在直接在类下面定义的变量,没有加self的,每个实例都可以用
class Car:
wheel = 4 #类变量
def __init__(self,color,p):
self.color = color #实例变量
self.p = p
        类方法:
1、不需要实例化就可以调用
2、它可以使用类变量
3、调用其他的类方法。
4、它不可以使用实例方法、实例变量
如果类里面的这个方法,它并没有使用到其他的实例变量、或者其他实例方法,那么就给他定义成类方法
    class Car:
      @classmethod
      def check_wheel(cls):
         print(cls.wheel)
    Car.check_wheel()
静态方法:
1、不需要实例化就可以调用的
2、它就是一个定义在类里面的普通函数,不能使用实例变量、实例方法、不能使用类变量、类方法。
    @staticmethod
    def help():
      print('uuu')
属性方法:
看起来像变量的一个方法。
  class My
    @property
    def name(self):
      return 'a'
my=My()
  my.name 实例变量:
self.xxx = xxx
加了self的变量才是实例变量,必须得实例化之后才可以使用 实例方法:
需要传self的方法,都是实例方法,必须得实例化之后才可以使用
实例方法里面可以随便通过self来调用实例方法,类方法,静态方法,类变量。
私有:
变量、函数,前面加两个下划线就代表是一个私有的,只能在类里面用。
        def test(self):
          self.__password = 123456
        继承:
class Lm:
money = 1000000
house = 5
def driver(self):
print('会开车') class Mcb(Lm):
def about_me(self):
print('我有 %s 钱 ,%s 房子'%(self.money,self.house))
self.driver()
super:
在父类某个方法的基础上再增加新功能:
super().xxx()
super()会自动找到父类

class Car:
def run(self,):
print('running...')
return 'abc'
class NewCar(Car):
def run1(self):
res = super().run()# super()的意思就是找到父类
print('fly...',res)
 

python简说(二十五)面向对象的更多相关文章

  1. Py修行路 python基础 (二十五)线程与进程

    操作系统是用户和硬件沟通的桥梁 操作系统,位于底层硬件与应用软件之间的一层 工作方式:向下管理硬件,向上提供接口 操作系统进行切换操作: 把CPU的使用权切换给不同的进程. 1.出现IO操作 2.固定 ...

  2. Appium+python自动化(二十五)- 那些让人抓耳挠腮、揪头发和掉头发的事 - 获取控件ID(超详解)

    简介 在前边的第二十二篇文章里,已经分享了通过获取控件的坐标点来获取点击事件的所需要的点击位置,那么还有没有其他方法来获取控件点击事件所需要的点击位置呢?答案是:Yes!因为在不同的大小屏幕的手机上获 ...

  3. Python学习(二十五)—— Python连接MySql数据库

    转载自http://www.cnblogs.com/liwenzhou/p/8032238.html 一.Python3连接MySQL PyMySQL 是在 Python3.x 版本中用于连接 MyS ...

  4. Python学习札记(三十五) 面向对象编程 Object Oriented Program 6

    参考:实例属性和类属性 NOTE Python是动态语言,根据类创建的实例可以任意绑定属性. class Student(object): def __init__(self, name): self ...

  5. Python学习札记(二十五) 函数式编程6 匿名函数

    参考:匿名函数 NOTE 1.Python对匿名函数提供了有限的支持. eg. #!/usr/bin/env python3 def main(): lis = list(map(lambda x: ...

  6. [Python爬虫] 之二十五:Selenium +phantomjs 利用 pyquery抓取今日头条网数据

    一.介绍 本例子用Selenium +phantomjs爬取今日头条(http://www.toutiao.com/search/?keyword=电视)的资讯信息,输入给定关键字抓取资讯信息. 给定 ...

  7. Python学习日记(二十五) 接口类、抽象类、多态

    接口类 继承有两种用途:继承基类的方法,并且做出自己的改变或扩展(代码重用)和声明某个子类兼容于某基类,定义一个接口类interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子 ...

  8. python接口自动化测试二十五:执行所有用例,并生成HTML测试报告

        import requestsimport unittest class TestQQ(unittest.TestCase):    '''测试QQ号接口'''      # 此注释将展示到测 ...

  9. python简说(十五)MD5加密

    def my_md5(s): news = str(s).encode() m = hashlib.md5(news) return m.hexdigest()

  10. python学习(二十五) 链表方法

    # 链表 cars = ['a', "b"] print(cars) # 链表长度 print(len(cars)) # 结尾添加元素 cars.append("c&qu ...

随机推荐

  1. idc指令相关

    #按不同数据类型打印当前地址opcode print Byte(ea) print Word(ea) print Dword(ea)

  2. export,import ,export default 彻底弄痛

    ES6模块主要有两个功能:export和import 说白了就是一个淡出一个导入,就相当于以前的公共js样,哪个页面要用,就script 引入这个js  ,然后  无耻的调用这个js中的方法了. ex ...

  3. cocos2d-x C++ iOS工程集成第三方支付宝支付功能

      一.在支付宝开放平台下载支付宝SDK(https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.WWgVz8&tr ...

  4. 安装程序无法打开注册表项 UNKNOWN\Components\…的简单解决办法(转)

    安装程序无法打开注册表项 UNKNOWN\Components\…的简单解决办法 2018年04月16日 16:41:32 super_star_贤 阅读数:7193   在安装软件时(比如安装SQL ...

  5. node.js初识04

    node的Get表单提交 form.html <!DOCTYPE html> <html lang="en"> <head> <meta ...

  6. linux临时网络配置

    1.设置IP地址: ifconfig ens33 192.168.60.231/24 2.添加默认网关路由 $Route add default gw <默认网关地址> 例:#route ...

  7. word之论文摘要

    字数在500个汉字左右

  8. SQLConnect

    SQLConnect 函数定义: 这个函数就是与数据库建立连接 SQLRETURN SQLConnect( SQLHDBC     ConnectionHandle, SQLCHAR *     Se ...

  9. kali linux wifi破解(aircrack)

    需要一个能监听的网卡 airmon-ng start wlan0(監聽網卡) airmon-ng check kill(清除其他有影响的環境) airodump-ng mon0 (掃描附近wifi) ...

  10. Rpgmakermv(24 )yep_coreengine

    ==左部为原文,右边我做了简要翻译=================================== Introduction and Instructions ================= ...