Python学习笔记(四)

来源:互联网 发布:php多久能学会 编辑:程序博客网 时间:2024/05/17 04:14

在Python的函数中,是可以为形参附上默认值的,这样当调用函数而没有传给那个形参值时,形参的值即为默认值。

#默认参数def default_param(val,val1=10):        print(val);    print(val1);default_param(1);


还可以不定参,这样就可以向函数传送0~N个参数。但是函数不允许有两个或两个以上的不定参。

#可变参数列表def change_param(*value):        sum = 0;        if not value:                return "没有参数";        else:                for i in value:                        sum += int(i);                return sum;print(change_param());print(change_param(2,3,4))


对于异常,Python也可以捕获。用except进行捕获,虽是如此,但与Java经典的try-catch-finally相比,还是明显弱了许多啊!

#Python中的异常处理def exp_func(i,j):        try:                print(i/j);            except:                print("异常:分母为0");        exp_func(5,0);


接下来就是面向对象的知识,没有新意的,用class来标明对象,括号中的表示Animal类继承至object。此object应该是Python中一切类的最基础父类吧,同Java中的java.lang.Object差不多吧。

class Animal(object):        #构造函数    def __init__(self,name):                self.name = name;        #方法    def descript_self(self):                print("This is a function.The name is "+self.name+".");            #供打印的方法,类似于java中的toString()方法    def __str__(self):                       return "This is "+self.name+".";                        #pass表示不对从object继承来的特性做任何修改    pass;#初始化一个类的实例cat = Animal("cat");#调用类中的方法cat.descript_self();#打印对象print(cat);



构造函数是__init__,仿佛PHP中是__construct吧,唉,感觉没有Java直接用类名作为构造函数名好用。

 

然后就是多态(其实就是运行时绑定,重载重写啥的),子类继承父类,随手写一个,熟悉一下:

#Dog类,继承至Animal类class Dog(Animal):        #子类中拥有的父类没有的方法    def func(self):                print("This is func.");    #构造函数    def __init__(self):                #调用父类的构造函数        Animal.__init__(self,"Dog");                #重写父类的方法    def descicript_self(self):        print("This is a override function.");        dog = Dog();dog.descript_self();dog.func();

 

顺便提一句,Python是允许多重继承的。

原创粉丝点击