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(‘[email protected]‘,‘测试邮件信息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()
时间: 2024-10-11 23:23:17

python基础学习1-面向对象的相关文章

python基础学习12(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #python class #面向对象编程oop思想,3个特性:封装.继承.多态,在其他方面的功能,比如重载,模拟等,也可以自定义自己需要的类 #在python中,面向对象主要2个:类和类实例 #类与实例 #类与实例有关

Python基础学习 总结篇

Python基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结构(概要) Python学习(四)数据结构 —— int float Python学习(四)数据结构 —— str Python学习(四)数据结构 —— bool Python学习(四)数据结构 —— list tuple range Python学习(四)数据结构 —— set frozenset

python基础学习日志day5-各模块文章导航

python基础学习日志day5---模块使用 http://www.cnblogs.com/lixiang1013/p/6832475.html python基础学习日志day5---time和datetime模块 http://www.cnblogs.com/lixiang1013/p/6848245.html python基础学习日志day5---random模块http://www.cnblogs.com/lixiang1013/p/6849162.html python基础学习日志da

Python 基础学习 网络小爬虫

<span style="font-size:18px;"># # 百度贴吧图片网络小爬虫 # import re import urllib def getHtml(url): page = urllib.urlopen(url) html = page.read() return html def getImg(html): reg = r'src="(.+?\.jpg)" pic_ext' imgre = re.compile(reg) imgli

python基础学习05(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #dict{键:值} #哈希 #注:字典是无顺序的,所以你懂的 #创建与赋值 dict1={} dict2={'name':'apply','avg':24,'sex':'man'} print dict1,dict2

Python基础学习(九)

Python 多线程 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度 程序的运行速度可能加快 在一些等待的任务实现上如用户输入.文件读写和网络收发数据等,线程就比较有用了.在这种情况下我们可以释放一些珍贵的资源如内存占用等等. 线程在执行过程中与进程还是有区别的.每个独立的线程有一个程序运行的入口.顺序执行序列和程序的出口.

python基础学习07(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #file与input output #文件对象 #简单说来,就是写入和读取的方式 #file(),open()2个操作都是一样的,一般推荐open() #语法 # open(name[, mode[, bufferin

python基础学习08(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #异常 """ NameError: 尝试访问一个未申明的变量 ZeroDivisionError:  除数为零 SyntaxError: 解释器语法错误 IndexError: 请求的索引超出序列范

Python基础学习(十)

Python I/O模型 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的.所以先限定一下本文的上下文. 概念说明 在进行解释之前,首先要说明几个概念: 用户空间和内核空间 进程切换 进程的阻塞 文件描述符 缓存 I/O 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方).操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件

python基础学习09(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #什么是函数 #就是引用,创建,使用 #例子 def foo(): print '233' foo() #返回与函数类型 def foo1():#是一个过程 print 'hello world!' foo1() foo