python 面向对象初认识

摘要:
python中还可以出现一个类来封装属性和对象,这导致了python的面向对象思想。在一个类中,方法的定义也可以是这样的:deftest1:print“test1”classopenclass():test=test1open=openclass()open。test()继承:参考简明的Python教程获取一个小示例:#!

python里面也可以出现一个类,将属性和对象进行封装,这就引出了python面向对象的思想。

封装:

class openclass():
    #setter and getter method
    def _int_ setX(self,x):
        self.x=x
    def getX(self):
        return self.x
    def setY(self,y):
        self.y=y
    def getY(self):
        return self.y   
    test1=test2 
    def test(self):     
        print "test" 

# initialize object   
open =  openclass()   
print open.getX() 

以上是一个简单的类,初始化变量,定义setter getter方法,以及实例化对象的调用。

 

在类中,方法的定义也可以在外面像这样:

def test1(self):     
    print "test1" 

class openclass():     
    test=test1  

open = openclass()     
open.test()

 

继承:


引用简明 Python 教程一个小例子说明:

#!/usr/bin/python
# -*- coding:gb2312 -*-
# Filename: inherit.py

class Person:
    def __init__(self,name,age):   #定义SchoolMember类的2个参数
        self.name = name
        self.age = age
    
    def tell(self):         
        print 'Name:"%s",Age:"%s"' % (self.name,self.age), #别小瞧了末尾的这个逗号

class Teacher(Person):
    def __init__(self,name,age,salary):  #Teacher类的3个属性
        Person.__init__(self,name,age)  #从SchoolMember继承2个属性,终于知道原来这就是继承:)
        self.salary = salary     #别忘了定义其他参数

    def tell(self):
        Person.tell(self)
        print 'Salary:"%d"' % self.salary

class Student(Person):
    def __init__(self,name,age,marks):
        Person.__init__(self,name,age)
        self.marks= marks

    def tell(self):
        Person.tell(self)
        print 'Marks:"%d"' % self.marks,

    
t = Teacher('Mr.Swaroop',26,30000) # 类实例的三个属性
s = Student('Song',22,77)

members = [t,s]
for member in members:  #喜欢python当然也少不了对for...in的青睐 
    member.tell()

免责声明:文章转载自《python 面向对象初认识》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python sys.path.append使用SC命令时注意事项下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PyQt(Python+Qt)学习随笔:QTreeWidgetItem项中列数据的访问方法

老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget中的QTreeWidgetItem项中可以有多列数据,每列数据可以根据列位置进行访问。项中列数据的访问方式有两种: 通过data和setData方法可以通过项的data(int column, int role) 方法获取项...

ansible快速文档

ansible what:ansible是基于python模块paramiko开发的自动化运维工具 why:实现了批量系统配置、批量程序部署、批量运行命令等功能 Ansible is Simple IT Automation 马哥ansible入门到精通及企业实战_哔哩哔哩_bilibili 运维自动化发展历程,运维职业发展路线 – 运维派 (yunweip...

python __getattribute__、__getattr__、__setattr__详解

__getattribute__ 官方文档中描述如下: 该方法可以拦截对对象属性的所有访问企图,当属性被访问时,自动调用该方法(只适用于新式类)。因此常用于实现一些访问某属性时执行一段代码的特性。 需要注意的是,正式由于它拦截对所有属性的访问(包括对__dict__的访问),在使用中要十分小心地避开无限循环的陷阱。在__getattribute__方法中访...

python基础(1)

一、print打印输出1、%形式输出1.1 print打印输出print("hello,world!") 1.2 有以下格式符%s 字符串 (采用str()的显示)%r 字符串 (采用repr()的显示)%c 单个字符%b 二进制整数%d 十进制整数%i 十进制整数%o 八进制整数%x 十六进制整数%e 指数 (基底写为e)%E 指数 (基底写为E)%f 浮...

Python中函数的装饰器

http://blog.csdn.net/suiyunonghen/article/details/3962885 Python中函数有一个装饰器的概念,今天,看核心编程中的函数一章的时候接触到了这个概念,炸一看来,讲的说明真实不好明白。于是写下本篇以示说明,提供给迷糊者。希望能对一些人起到一定的帮助 装饰器的语法以@开头,接着是装饰器要装饰的函数的申明等。...

Python实现下载进度

#encoding:utf-8 importurllib importos defSchedule(a,b,c): ''''' a:已经下载的数据块 b:数据块的大小 c:远程文件的大小 '''per = 100.0 * a * b /c if per > 100: per = 100...