码迷,mamicode.com
首页 > 编程语言 > 详细

python函数介绍

时间:2015-07-23 00:51:09      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:python   函数   

一.类的定义--class关键字

类的组成包括成员变量(name,age)和成员函数(who)

class User:
    name=‘zhzhgo‘
    age=25
def who(self):
    print "I‘m "+self.name

对象的创建

u=User()
u.age
u.who()

构造方法和析构方法

__init__() 对象生成的时候执行构造方法

__def__() 对象销毁的时候执行析构方法


二.类的继承--声明类的时候括号中写要继承的父类

类的继承衍生出类子类,子类可以继承或重写父类的方法,子类可以自定义新的方法或者成员变量,比如学生类可以继承用户类

class User(object):
    name=‘‘
    age=‘‘
    
    def __init__(self,name,age):
        self.name=name
        self.age=age
        
    def who(self):
        print "My name is "+self.name+",I‘m "+str(self.age)+" years old."
class Student(User):
    height=‘‘
    
    def __init__(self,name,age,height):
        User.__init__(self,name,age)
        self.height=height
    def who(self):
        User.who(self)
        #super(Student,self).who()
        print "My height is "+ str(self.height)
        
Student("zhzhgo",25,168).who()

>>> 

My name is zhzhgo,I‘m 25 years old.

My height is 168

>>> 

继承嵌套,即多重继承

class 类名(父类1,父类2,....,父类n)
     <语句1>

需要注意括号中父类的顺序,如果父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索,即方法在子类中未找到时,从左到右查找父类中是否包含该方法


三.实例方法、类方法、静态方法

实例方法,类方法,静态方法都可以通过实例或者类调用,只不过实例方法通过类调用时需要传递实例的引用(python 3可以传递任意对象,其他版本会报错)

实例方法针对的是实例,第一个参数是self,普通对象方法至少需要一个self参数,代表类对象实例;类方法针对的是类,@classmethod 它表示接下来的是一个类方法,类方法的第一个参数cls,它们都可以继承和重新定义;静态方法用于作为程序中的共享资源,直接通过类去调用,不用实例化对象,不需要self参数,可以认为是全局函数,@staticmethod 它表示接下来的是一个静态方法

class Test1(object):
    def test1(self): #定义了实例方法
        print("object")
    @classmethod
    def test2(cls): #定义了类方法
        print("class")
    @staticmethod
    def test3(): #定义了静态方法
        print("static")
f1=Test1()
#f1.test1(); #通过实例调用
Test1.test1(f1) #直接通过类的方式调用,但是需要自己传递实例引用
Test1.test2()
print "--------------------"
#如果Test1有子类,并且子类覆盖了这个类方法,最终会调用子类的方法并传递子类的类对象
class Test2(Test1):
    @classmethod
    def test2(cls):
        print(cls)
        print("test2 object")
f2=Test2()
f2.test2()
print "--------------------"
f1.test3(); #使用实例调用
Test1.test3(); #直接静态方式调用

>>> 

object

class

--------------------

<class ‘__main__.Test2‘>

test2 object

--------------------

static

static

>>> 



本文出自 “今日的努力,明日的成功!” 博客,请务必保留此出处http://zhzhgo.blog.51cto.com/10497096/1677290

python函数介绍

标签:python   函数   

原文地址:http://zhzhgo.blog.51cto.com/10497096/1677290

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!