zoukankan      html  css  js  c++  java
  • python基础学习1-面向对象

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    class Foo:#定义类
    
        def mail(self,email,message):#定义类的方法
            print('发送邮件给%s! 信息:%s'% (email,message))
            return True
    
    
    obj = Foo();#创建对象
    obj.mail('40365257@qq.com','测试邮件信息123')#对象调用方法 self参数不用赋值,系统自动赋值
    
    
    #类 对象的封装和调用
    class SQLHelper:
        def fetch(self,sql):  #这里的self 指代后面实例化的对象obj,所有可以取得 obj对象的赋值 obj.hhost,obj.uuserane,obj.pwd
            print(self.hhost)
            print(self.uuserane)
            print(self.pwd)
            print(sql)
    
    obj = SQLHelper()
    obj.hhost="c1.salt.com"
    obj.uuserane="alex"
    obj.pwd="123"
    obj.fetch("select * from user")
    
    #========> 什么时候用面向对象 ?当函数中某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性封装到对象,然后
    #去对象中取值可用
    
    
    #=====>类的公有私有=====>
    class Person:
        name="小鲫鱼"#公有变量
        __home="cq"#两个下划线 表示类的私有变量
        def take(self):
            print(self.message)
    
    p=Person()
    print(p.name)#公有变量访问
    p.message="我是Person类"
    p.take()
    
    #====>类的继承====>
    class Man(Person):#从Person类继承
      pass
    
    m=Man()
    m.message="我是Man类"
    m.take()#从父类继承了take方法
    
    #=======类的组合====>把几个不能继承的类 组合进一个类
    #下例把乌龟类和鱼类 组合进池塘类
    class Turtle:
        def __init__(self,x):
            self.num=x
    
    class Fish:
        def __init__(self,y):
            self.num=y
    
    class Pool:
        def __init__(self,x,y):
            self.x = Turtle(x)
            self.y = Fish(y)
    
        def Print_num(self):
            print("水池有%d条鱼和%d只乌龟" % (self.x.num,self.y.num))
    
    pool = Pool(1,10)
    pool.Print_num()
    
  • 相关阅读:
    MySQL数据库之数据类型
    MySQL数据库之数据操作
    MySQL数据库之表的操作
    十、原子操作
    九、std::async异步线程
    八、条件变量
    cisco笔试记录
    七、单例设计模式
    基于HTTP的功能追加协议
    使用栈来计算后缀表达式
  • 原文地址:https://www.cnblogs.com/whzym111/p/5811289.html
Copyright © 2011-2022 走看看